25 #ifndef DL_CREATIONINTERFACE_H
26 #define DL_CREATIONINTERFACE_H
28 #include "dl_global.h"
32 #include "dl_attributes.h"
34 #include "dl_entities.h"
35 #include "dl_extrusion.h"
60 virtual void processCodeValuePair(
unsigned int groupCode,
const std::string& groupValue) = 0;
65 virtual void endSection() = 0;
80 virtual void addLinetypeDash(
double length) = 0;
91 virtual void endBlock() = 0;
106 virtual void addRay(
const DL_RayData& data) = 0;
109 virtual void addArc(
const DL_ArcData& data) = 0;
156 virtual void addMTextChunk(
const std::string& text) = 0;
243 virtual void addXRecord(
const std::string& handle) = 0;
248 virtual void addXRecordString(
int code,
const std::string& value) = 0;
253 virtual void addXRecordReal(
int code,
double value) = 0;
258 virtual void addXRecordInt(
int code,
int value) = 0;
263 virtual void addXRecordBool(
int code,
bool value) = 0;
268 virtual void addXDataApp(
const std::string& appId) = 0;
273 virtual void addXDataString(
int code,
const std::string& value) = 0;
278 virtual void addXDataReal(
int code,
double value) = 0;
283 virtual void addXDataInt(
int code,
int value) = 0;
298 virtual void endEntity() = 0;
303 virtual void addComment(
const std::string& comment) = 0;
308 virtual void setVariableVector(
const std::string& key,
double v1,
double v2,
double v3,
int code) = 0;
313 virtual void setVariableString(
const std::string& key,
const std::string& value,
int code) = 0;
318 virtual void setVariableInt(
const std::string& key,
int value,
int code) = 0;
323 virtual void setVariableDouble(
const std::string& key,
double value,
int code) = 0;
326 virtual void setVariableVector(
const char* key,
double v1,
double v2,
double v3,
int code) = 0;
327 virtual void setVariableString(
const char* key,
const char* value,
int code) = 0;
328 virtual void setVariableInt(
const char* key,
int value,
int code) = 0;
329 virtual void setVariableDouble(
const char* key,
double value,
int code) = 0;
330 virtual void processCodeValuePair(
unsigned int groupCode,
char* groupValue) = 0;
331 virtual void addComment(
const char* comment) = 0;
332 virtual void addMTextChunk(
const char* text) = 0;
338 virtual void endSequence() = 0;
351 void setExtrusion(
double dx,
double dy,
double dz,
double elevation) {
352 extrusion->setDirection(dx, dy, dz);
353 extrusion->setElevation(elevation);
Dictionary data.
Definition: dl_entities.h:1708
Spline fit point data.
Definition: dl_entities.h:596
Line Data.
Definition: dl_entities.h:219
Hatch data.
Definition: dl_entities.h:1379
Vertex Data.
Definition: dl_entities.h:410
Polyline Data.
Definition: dl_entities.h:380
Radial Dimension Data.
Definition: dl_entities.h:1098
Circle Data.
Definition: dl_entities.h:350
Ellipse Data.
Definition: dl_entities.h:616
Image Definition Data.
Definition: dl_entities.h:1684
Leader (arrow).
Definition: dl_entities.h:1308
Text style data.
Definition: dl_entities.h:128
Hatch boundary path (loop) data.
Definition: dl_entities.h:1426
Leader Vertex Data.
Definition: dl_entities.h:1355
Spline Data.
Definition: dl_entities.h:505
Dictionary entry data.
Definition: dl_entities.h:1718
Angular Dimension Data (3 points version).
Definition: dl_entities.h:1216
MText Data.
Definition: dl_entities.h:713
Line Type Data.
Definition: dl_entities.h:88
Arc Data.
Definition: dl_entities.h:313
Linear (rotated) Dimension Data.
Definition: dl_entities.h:1052
Text Data.
Definition: dl_entities.h:794
Image Data.
Definition: dl_entities.h:1618
Block Data.
Definition: dl_entities.h:57
Generic Dimension Data.
Definition: dl_entities.h:905
Storing and passing around attributes.
Definition: dl_attributes.h:41
Spline knot data.
Definition: dl_entities.h:550
Abstract class (interface) for the creation of new entities.
Definition: dl_creationinterface.h:46
Point Data.
Definition: dl_entities.h:195
Ordinate Dimension Data.
Definition: dl_entities.h:1265
Block attribute data.
Definition: dl_entities.h:865
Storing and passing around attributes.
Definition: dl_extrusion.h:38
Spline control point data.
Definition: dl_entities.h:569
Hatch edge data.
Definition: dl_entities.h:1448
Angular Dimension Data.
Definition: dl_entities.h:1156
Aligned Dimension Data.
Definition: dl_entities.h:1015
Layer Data.
Definition: dl_entities.h:35
Ray Data.
Definition: dl_entities.h:282
Insert Data.
Definition: dl_entities.h:663
XLine Data.
Definition: dl_entities.h:253
Trace Data / solid data / 3d face data.
Definition: dl_entities.h:438
Diametric Dimension Data.
Definition: dl_entities.h:1127