25#ifndef DL_CREATIONINTERFACE_H
26#define DL_CREATIONINTERFACE_H
329 virtual void setVariableVector(
const char* key,
double v1,
double v2,
double v3,
int code) = 0;
330 virtual void setVariableString(
const char* key,
const char* value,
int code) = 0;
331 virtual void setVariableInt(
const char* key,
int value,
int code) = 0;
332 virtual void setVariableDouble(
const char* key,
double value,
int code) = 0;
333 virtual void processCodeValuePair(
unsigned int groupCode,
char* groupValue) = 0;
334 virtual void addComment(
const char* comment) = 0;
335 virtual void addMTextChunk(
const char* text) = 0;
355 extrusion->setDirection(dx, dy, dz);
356 extrusion->setElevation(elevation);
Storing and passing around attributes.
Definition dl_attributes.h:41
Abstract class (interface) for the creation of new entities.
Definition dl_creationinterface.h:47
virtual void addBlock(const DL_BlockData &data)=0
Called for every block.
virtual void addHatchEdge(const DL_HatchEdgeData &data)=0
Called for every hatch edge entity.
virtual void addDimAngular3P(const DL_DimensionData &data, const DL_DimAngular3PData &edata)=0
Called for every angular dimension (3 points version) entity.
virtual void addEllipse(const DL_EllipseData &data)=0
Called for every ellipse.
virtual void add3dFace(const DL_3dFaceData &data)=0
Called for every 3dface start.
virtual void addSolid(const DL_SolidData &data)=0
Called for every solid start.
DL_Extrusion * extrusion
Definition dl_creationinterface.h:366
virtual void addVertex(const DL_VertexData &data)=0
Called for every polyline vertex.
virtual void addInsert(const DL_InsertData &data)=0
Called for every insert.
virtual void addDimRadial(const DL_DimensionData &data, const DL_DimRadialData &edata)=0
Called for every radial dimension entity.
virtual void addDimAlign(const DL_DimensionData &data, const DL_DimAlignedData &edata)=0
Called for every aligned dimension entity.
void setAttributes(const DL_Attributes &attrib)
Sets the current attributes for entities.
Definition dl_creationinterface.h:344
virtual void addDictionary(const DL_DictionaryData &data)=0
Called for dictionary objects.
virtual void addComment(const std::string &comment)=0
Called for every comment in the DXF file (code 999).
virtual void addXDataString(int code, const std::string &value)=0
Called for XData tuples.
virtual void addXRecord(const std::string &handle)=0
Called for every XRecord with the given handle.
virtual void addPoint(const DL_PointData &data)=0
Called for every point.
virtual void setVariableVector(const std::string &key, double v1, double v2, double v3, int code)=0
Called for every vector variable in the DXF file (e.g.
virtual void linkImage(const DL_ImageDefData &data)=0
Called for every image definition.
virtual void addArcAlignedText(const DL_ArcAlignedTextData &data)=0
Called for every arc aligned text entity.
DL_Attributes attributes
Definition dl_creationinterface.h:365
virtual void addLinetype(const DL_LinetypeData &data)=0
Called for every linetype.
virtual void addArc(const DL_ArcData &data)=0
Called for every arc.
virtual void addFitPoint(const DL_FitPointData &data)=0
Called for every spline fit point.
virtual void addXRecordReal(int code, double value)=0
Called for XRecords of type double.
virtual void addText(const DL_TextData &data)=0
Called for every text entity.
virtual void addDimOrdinate(const DL_DimensionData &data, const DL_DimOrdinateData &edata)=0
Called for every ordinate dimension entity.
virtual void addRay(const DL_RayData &data)=0
Called for every ray.
virtual void addLeaderVertex(const DL_LeaderVertexData &data)=0
Called for every leader vertex.
DL_Attributes getAttributes()
Definition dl_creationinterface.h:349
virtual void addMTextChunk(const std::string &text)=0
Called for additional text chunks for MTEXT entities.
virtual void addLine(const DL_LineData &data)=0
Called for every line.
virtual void endSection()=0
Called when a section (entity, table entry, etc.) is finished.
virtual void addXRecordString(int code, const std::string &value)=0
Called for XRecords of type string.
virtual void addAttribute(const DL_AttributeData &data)=0
Called for every block Attribute entity.
virtual void addTextStyle(const DL_StyleData &data)=0
Called for every text style.
virtual void endSequence()=0
Called when a SEQEND occurs (when a POLYLINE or ATTRIB is done)
virtual void addDictionaryEntry(const DL_DictionaryEntryData &data)=0
Called for dictionary entries.
virtual void addTrace(const DL_TraceData &data)=0
Called for every trace start.
virtual void addHatchLoop(const DL_HatchLoopData &data)=0
Called for every hatch loop.
virtual void addDimAngular(const DL_DimensionData &data, const DL_DimAngular2LData &edata)=0
Called for every angular dimension (2 lines version) entity.
virtual void addDimLinear(const DL_DimensionData &data, const DL_DimLinearData &edata)=0
Called for every linear or rotated dimension entity.
virtual void addImage(const DL_ImageData &data)=0
Called for every image entity.
virtual void addDimDiametric(const DL_DimensionData &data, const DL_DimDiametricData &edata)=0
Called for every diametric dimension entity.
virtual void addLayer(const DL_LayerData &data)=0
Called for every layer.
virtual void processCodeValuePair(unsigned int groupCode, const std::string &groupValue)=0
Called for every code / value tuple of the DXF file.
void setExtrusion(double dx, double dy, double dz, double elevation)
Sets the current attributes for entities.
Definition dl_creationinterface.h:354
virtual void endBlock()=0
Called to end the current block.
virtual void addXDataApp(const std::string &appId)=0
Called for every beginning of an XData section of the given application.
virtual void addMText(const DL_MTextData &data)=0
Called for every multi Text entity.
virtual void addXRecordInt(int code, int value)=0
Called for XRecords of type int.
virtual void setVariableString(const std::string &key, const std::string &value, int code)=0
Called for every string variable in the DXF file (e.g.
virtual void addXDataInt(int code, int value)=0
Called for XData tuples.
virtual void addHatch(const DL_HatchData &data)=0
Called for every hatch entity.
virtual void addLinetypeDash(double length)=0
Called for every dash in linetype pattern.
virtual void setVariableDouble(const std::string &key, double value, int code)=0
Called for every double variable in the DXF file (e.g.
virtual ~DL_CreationInterface()
Definition dl_creationinterface.h:52
virtual void addXRecordBool(int code, bool value)=0
Called for XRecords of type bool.
DL_Extrusion * getExtrusion()
Definition dl_creationinterface.h:360
DL_CreationInterface()
Definition dl_creationinterface.h:49
virtual void addXDataReal(int code, double value)=0
Called for XData tuples.
virtual void addLeader(const DL_LeaderData &data)=0
Called for every leader start.
virtual void addCircle(const DL_CircleData &data)=0
Called for every circle.
virtual void addSpline(const DL_SplineData &data)=0
Called for every spline.
virtual void endEntity()=0
Called after an entity has been completed.
virtual void addControlPoint(const DL_ControlPointData &data)=0
Called for every spline control point.
virtual void addXLine(const DL_XLineData &data)=0
Called for every xline.
virtual void setVariableInt(const std::string &key, int value, int code)=0
Called for every int variable in the DXF file (e.g.
virtual void addKnot(const DL_KnotData &data)=0
Called for every spline knot value.
virtual void addPolyline(const DL_PolylineData &data)=0
Called for every polyline start.
Extrusion direction.
Definition dl_extrusion.h:38
#define DXFLIB_EXPORT
Definition dl_global.h:12
Arc Aligned Text Data.
Definition dl_entities.h:870
Arc Data.
Definition dl_entities.h:315
Block attribute data.
Definition dl_entities.h:950
Block Data.
Definition dl_entities.h:59
Circle Data.
Definition dl_entities.h:352
Spline control point data.
Definition dl_entities.h:575
Dictionary data.
Definition dl_entities.h:1799
Dictionary entry data.
Definition dl_entities.h:1809
Aligned Dimension Data.
Definition dl_entities.h:1102
Angular Dimension Data.
Definition dl_entities.h:1243
Angular Dimension Data (3 points version).
Definition dl_entities.h:1303
Diametric Dimension Data.
Definition dl_entities.h:1214
Linear (rotated) Dimension Data.
Definition dl_entities.h:1139
Ordinate Dimension Data.
Definition dl_entities.h:1352
Radial Dimension Data.
Definition dl_entities.h:1185
Generic Dimension Data.
Definition dl_entities.h:990
Ellipse Data.
Definition dl_entities.h:622
Spline fit point data.
Definition dl_entities.h:602
Hatch data.
Definition dl_entities.h:1470
Hatch edge data.
Definition dl_entities.h:1539
Hatch boundary path (loop) data.
Definition dl_entities.h:1517
Image Data.
Definition dl_entities.h:1709
Image Definition Data.
Definition dl_entities.h:1775
Insert Data.
Definition dl_entities.h:669
Spline knot data.
Definition dl_entities.h:556
Layer Data.
Definition dl_entities.h:36
Leader (arrow).
Definition dl_entities.h:1395
Leader Vertex Data.
Definition dl_entities.h:1446
Line Data.
Definition dl_entities.h:221
Line Type Data.
Definition dl_entities.h:90
MText Data.
Definition dl_entities.h:719
Point Data.
Definition dl_entities.h:197
Polyline Data.
Definition dl_entities.h:382
Ray Data.
Definition dl_entities.h:284
Spline Data.
Definition dl_entities.h:511
Text style data.
Definition dl_entities.h:130
Text Data.
Definition dl_entities.h:800
Trace Data / solid data / 3d face data.
Definition dl_entities.h:444
Vertex Data.
Definition dl_entities.h:416
XLine Data.
Definition dl_entities.h:255