34#include "EntityCodes.h"
35#include "CADEntityStreamer.h"
36#include <NDEVR/String.h>
49 class NDEVR_CAD_API DXFReader
56 void setWarningCallback(
const std::function<
void(
const TranslatedString&)>& callback) { m_warning_callback = callback; }
60 bool readNextLinePair(
Scanner& scan);
63 bool processDXFGroup(
uint04 group_code);
69 void addBlockRecord();
89 void add3dFace(
bool is_solid);
98 void addAttributeDefinition();
101 void addDimAligned();
103 void addDimDiametric();
104 void addDimAngular();
105 void addDimAngular3P();
106 void addDimOrdinate();
107 const PaperSpace& paperspace()
const {
return m_paper_space; }
118 void addDictionary();
120 bool handleXRecordData();
121 bool handleDictionaryData();
122 bool handleGroupData();
125 bool handleMTextData();
126 bool handleLWPolylineData();
127 bool handleMeshData();
128 bool handleSplineData();
129 bool handleLeaderData();
130 bool handleLinetypeData();
131 bool handleMatrixData();
144 enum class MeshProperty
154 MeshProperty m_current_mesh_property;
162 bool m_first_hatch_loop;
168 bool m_x_recordValues;
169 bool m_complex_object;
171 uint04 m_matrix_count = 0;
Logic for reading or writing to a binary file including logic for compressing or decompressing the fi...
The equivelent of std::vector but with a bit more control.
A base-class for streaming out CAD entities from a file or CAD program memory.
Used with InfoPipe to signal that the process can be cancelled.
DXF streams store data in a large numbered index structure.
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Templated logic for doing matrix multiplication.
Used with InfoPipe to signal that the system will be using progress.
Contains methods for easily reading objects in an ascii stream using set deliminators and line logic.
The core String class for the NDEVR API.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
DXFEntityCodes
Types of CAD entities natively supported by the NDEVR API.
@ e_none
No defined value type.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
@ file
The source file path associated with this object.
A container for information pointing to a CAD dictionary in CAD memory.
Stores mesh data in a way optimized for CAD.
A type of entity in CAD representing several entities grouped together.
Dimensional measurements stored in a CAD-friendly way.
An entity in CAD which has a layer and other handle information.
A handle used to reference an object in CAD.
Stores information about the edge of a CAD hatch pattern.
Stores CAD details about PaperSpace or 2D document space.