43 class DXFValueManager;
45 class CADHandleManager;
58 void setFileTarget(
File& file);
60 void writeAPPIDTable();
61 void writeDimStyleTable();
62 void writeViewTable();
63 void writeStyleTable();
66 void writeLTypeTable();
74 void writeDictionaries();
75 void writeViewStyleObject();
76 void writeReactors(
uint04 dictionary_handle);
77 void writeVariableValue(
const CADVariable& variable);
79 static bool getFileLine(
String& s, std::ifstream& in,
bool stripSpace =
true);
80 void writeAttributesFast(
const EntityData& data);
81 bool addColorInfo(
const CADColorInfo& data,
bool is_off =
false);
82 void writeLabel(
uint02 value_index);
83 void writeInteger(
uint02 value_index);
84 void writeIntegerL(
uint04 value_index);
85 void writeIntegerL(
sint04 value_index);
86 void writeIntegerS(
uint01 value_index);
87 void writeInteger(
sint02 value_index);
88 void writeDouble(
fltp08 value_index);
89 void writeValue(
uint02 value_index,
const String& value);
90 void writeHandle(
uint02 value_index,
const uint04& value);
91 void writeValue(
uint02 value_index,
const char*
const value);
103 void startLayers(
uint04 max_layer_count);
106 void addAttribute(
const Attrib& attrib);
107 void startFastPoints();
108 void addFastPoint(
const PointData& face);
109 void endFastPoints();
128 void cleanupCADName(
String& name);
130 void addTrace(
bool is_solid,
const TraceData& face);
132 void add3dFace(
bool is_solid,
const TraceData& face);
134 void startFast3DFaces(
bool is_solid);
135 void addFast3dFace(
bool is_solid,
const TraceData& face);
136 void endFast3DFaces();
140 void addMText(
const TextData& data);
141 uint04 generateTempHandleIndex();
148 void addDimDiametric();
149 void addDimAngular();
150 void addDimAngular3P();
151 void addDimOrdinate();
162 void addMaterialObject(
const DXFMaterial& material);
163 void setBinary(
bool is_binary) { m_is_binary = is_binary; }
164 bool handleMTextData();
165 bool handleLWPolylineData();
166 bool handleLinetypeData();
181 DynamicPointer<CADHandleManager> m_handle_manager;
182 uint04 m_current_line;
183 String m_polyline_layer;
184 Buffer<Vector<4, fltp08>> m_vertices;
186 VertexMode m_vertex_mode;
187 String m_group_code_tmp;
189 String m_group_value;
191 String m_setting_value;
193 String m_setting_key;
203 bool m_write_pointers =
true;
204 bool m_write_parent_pointers =
true;
205 bool m_write_classes =
true;
206 bool m_write_general_view_style =
true;
207 bool m_write_viewports =
true;
208 bool m_write_dim_style =
true;
209 bool m_has_block_data =
false;
210 bool m_is_binary =
false;
212 uint04 m_decimal_places = 4;
213 DXFVersion m_version = DXFVersion::e_AC1021;
214 Buffer<CADDictionaryObject> m_dictionary_objects;
215 Dictionary<String, CADDictionaryObject> m_named_dictionary_objects;
216 Buffer<XDataWriter> m_xdata_objects;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition DXFWriter.h:53
void setDecimalPlaces(uint04 decimals)
Definition DXFWriter.h:168
bool writePointers() const
Definition DXFWriter.h:172
void setBinary(bool is_binary)
Definition DXFWriter.h:163
const DynamicPointer< CADHandleManager > & handleManager() const
Definition DXFWriter.h:56
Definition Pointer.hpp:303
A line segment represented by two vertices, a start and end.
Definition Line.hpp:55
A polyline which stores vertex information for many points along a given path.
Definition CoordinateProjectionManager.h:44
Definition Triangle.hpp:143
An element of a vector space. An element of the real coordinate space Rn Basis vector,...
Definition Vector.hpp:62
A vertex.
Definition Vertex.hpp:54
Definition DXFWriter.h:48
std::function< void(DXFWriter &dxf)> write_function
Definition DXFWriter.h:50
int32_t sint04
-Defines an alias representing a 4 byte, signed integer. -Can represent exact integer values -2147483...
Definition BaseValues.hpp:76
DXFVersion
Definition EntityCodes.h:37
float fltp04
Defines an alias representing a 4 byte floating-point number.
Definition BaseValues.hpp:157
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:98
int16_t sint02
-Defines an alias representing a 2 byte, signed integer. -Can represent exact integer values -32767 t...
Definition BaseValues.hpp:66
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120
uint16_t uint02
-Defines an alias representing a 2 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:109
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:181
logic for storing a attribue data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:458
Definition CADEntities.h:172
Definition CADEntities.h:502
Definition CADEntities.h:68
Definition CADEntities.h:572
Definition CADEntities.h:366
Definition CADEntities.h:82
Definition CADEntities.h:970
Definition CADEntities.h:553
Definition CADEntities.h:515
Definition CADEntities.h:139
Definition CADEntities.h:133
Definition CADEntities.h:154
Definition CADEntities.h:491
Definition CADEntities.h:509
logic for storing a polyline data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:293
logic for storing a text data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:437
logic for storing a trace data in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:337
logic for storing a viewport in a CAD-friendly way for exporting and importing.
Definition CADEntities.h:865