QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
DL_CreationInterface Class Referenceabstract

Abstract class (interface) for the creation of new entities. More...

#include <dl_creationinterface.h>

Inheritance diagram for DL_CreationInterface:
DL_CreationAdapter RDxfImporter Test_CreationClass

Public Member Functions

virtual void add3dFace (const DL_3dFaceData &data)=0
 Called for every 3dface start.
 
virtual void addArc (const DL_ArcData &data)=0
 Called for every arc.
 
virtual void addArcAlignedText (const DL_ArcAlignedTextData &data)=0
 Called for every arc aligned text entity.
 
virtual void addAttribute (const DL_AttributeData &data)=0
 Called for every block Attribute entity.
 
virtual void addBlock (const DL_BlockData &data)=0
 Called for every block.
 
virtual void addCircle (const DL_CircleData &data)=0
 Called for every circle.
 
virtual void addComment (const std::string &comment)=0
 Called for every comment in the DXF file (code 999).
 
virtual void addControlPoint (const DL_ControlPointData &data)=0
 Called for every spline control point.
 
virtual void addDictionary (const DL_DictionaryData &data)=0
 Called for dictionary objects.
 
virtual void addDictionaryEntry (const DL_DictionaryEntryData &data)=0
 Called for dictionary entries.
 
virtual void addDimAlign (const DL_DimensionData &data, const DL_DimAlignedData &edata)=0
 Called for every aligned dimension entity.
 
virtual void addDimAngular (const DL_DimensionData &data, const DL_DimAngular2LData &edata)=0
 Called for every angular dimension (2 lines version) entity.
 
virtual void addDimAngular3P (const DL_DimensionData &data, const DL_DimAngular3PData &edata)=0
 Called for every angular dimension (3 points version) entity.
 
virtual void addDimDiametric (const DL_DimensionData &data, const DL_DimDiametricData &edata)=0
 Called for every diametric dimension entity.
 
virtual void addDimLinear (const DL_DimensionData &data, const DL_DimLinearData &edata)=0
 Called for every linear or rotated dimension entity.
 
virtual void addDimOrdinate (const DL_DimensionData &data, const DL_DimOrdinateData &edata)=0
 Called for every ordinate dimension entity.
 
virtual void addDimRadial (const DL_DimensionData &data, const DL_DimRadialData &edata)=0
 Called for every radial dimension entity.
 
virtual void addEllipse (const DL_EllipseData &data)=0
 Called for every ellipse.
 
virtual void addFitPoint (const DL_FitPointData &data)=0
 Called for every spline fit point.
 
virtual void addHatch (const DL_HatchData &data)=0
 Called for every hatch entity.
 
virtual void addHatchEdge (const DL_HatchEdgeData &data)=0
 Called for every hatch edge entity.
 
virtual void addHatchLoop (const DL_HatchLoopData &data)=0
 Called for every hatch loop.
 
virtual void addImage (const DL_ImageData &data)=0
 Called for every image entity.
 
virtual void addInsert (const DL_InsertData &data)=0
 Called for every insert.
 
virtual void addKnot (const DL_KnotData &data)=0
 Called for every spline knot value.
 
virtual void addLayer (const DL_LayerData &data)=0
 Called for every layer.
 
virtual void addLeader (const DL_LeaderData &data)=0
 Called for every leader start.
 
virtual void addLeaderVertex (const DL_LeaderVertexData &data)=0
 Called for every leader vertex.
 
virtual void addLine (const DL_LineData &data)=0
 Called for every line.
 
virtual void addLinetype (const DL_LinetypeData &data)=0
 Called for every linetype.
 
virtual void addLinetypeDash (double length)=0
 Called for every dash in linetype pattern.
 
virtual void addMText (const DL_MTextData &data)=0
 Called for every multi Text entity.
 
virtual void addMTextChunk (const std::string &text)=0
 Called for additional text chunks for MTEXT entities.
 
virtual void addPoint (const DL_PointData &data)=0
 Called for every point.
 
virtual void addPolyline (const DL_PolylineData &data)=0
 Called for every polyline start.
 
virtual void addRay (const DL_RayData &data)=0
 Called for every ray.
 
virtual void addSolid (const DL_SolidData &data)=0
 Called for every solid start.
 
virtual void addSpline (const DL_SplineData &data)=0
 Called for every spline.
 
virtual void addText (const DL_TextData &data)=0
 Called for every text entity.
 
virtual void addTextStyle (const DL_StyleData &data)=0
 Called for every text style.
 
virtual void addTrace (const DL_TraceData &data)=0
 Called for every trace start.
 
virtual void addVertex (const DL_VertexData &data)=0
 Called for every polyline vertex.
 
virtual void addXDataApp (const std::string &appId)=0
 Called for every beginning of an XData section of the given application.
 
virtual void addXDataInt (int code, int value)=0
 Called for XData tuples.
 
virtual void addXDataReal (int code, double value)=0
 Called for XData tuples.
 
virtual void addXDataString (int code, const std::string &value)=0
 Called for XData tuples.
 
virtual void addXLine (const DL_XLineData &data)=0
 Called for every xline.
 
virtual void addXRecord (const std::string &handle)=0
 Called for every XRecord with the given handle.
 
virtual void addXRecordBool (int code, bool value)=0
 Called for XRecords of type bool.
 
virtual void addXRecordInt (int code, int value)=0
 Called for XRecords of type int.
 
virtual void addXRecordReal (int code, double value)=0
 Called for XRecords of type double.
 
virtual void addXRecordString (int code, const std::string &value)=0
 Called for XRecords of type string.
 
 DL_CreationInterface ()
 
virtual void endBlock ()=0
 Called to end the current block.
 
virtual void endEntity ()=0
 Called after an entity has been completed.
 
virtual void endSection ()=0
 Called when a section (entity, table entry, etc.) is finished.
 
virtual void endSequence ()=0
 Called when a SEQEND occurs (when a POLYLINE or ATTRIB is done)
 
DL_Attributes getAttributes ()
 
DL_ExtrusiongetExtrusion ()
 
virtual void linkImage (const DL_ImageDefData &data)=0
 Called for every image definition.
 
virtual void processCodeValuePair (unsigned int groupCode, const std::string &groupValue)=0
 Called for every code / value tuple of the DXF file.
 
void setAttributes (const DL_Attributes &attrib)
 Sets the current attributes for entities.
 
void setExtrusion (double dx, double dy, double dz, double elevation)
 Sets the current attributes for entities.
 
virtual void setVariableDouble (const std::string &key, double value, int code)=0
 Called for every double variable in the DXF file (e.g.
 
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 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 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 ~DL_CreationInterface ()
 

Protected Attributes

DL_Attributes attributes
 
DL_Extrusionextrusion
 

Detailed Description

Abstract class (interface) for the creation of new entities.

Inherit your class which takes care of the entities in the processed DXF file from this interface.

Double arrays passed to your implementation contain 3 double values for x, y, z coordinates unless stated differently.

Author
Andrew Mustun

Constructor & Destructor Documentation

◆ DL_CreationInterface()

DL_CreationInterface::DL_CreationInterface ( )
inline

◆ ~DL_CreationInterface()

virtual DL_CreationInterface::~DL_CreationInterface ( )
inlinevirtual

Member Function Documentation

◆ add3dFace()

virtual void DL_CreationInterface::add3dFace ( const DL_3dFaceData & data)
pure virtual

Called for every 3dface start.

Implemented in DL_CreationAdapter, and Test_CreationClass.

◆ addArc()

virtual void DL_CreationInterface::addArc ( const DL_ArcData & data)
pure virtual

Called for every arc.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addArcAlignedText()

virtual void DL_CreationInterface::addArcAlignedText ( const DL_ArcAlignedTextData & data)
pure virtual

Called for every arc aligned text entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addAttribute()

virtual void DL_CreationInterface::addAttribute ( const DL_AttributeData & data)
pure virtual

Called for every block Attribute entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addBlock()

virtual void DL_CreationInterface::addBlock ( const DL_BlockData & data)
pure virtual

Called for every block.

Note: all entities added after this command go into this block until endBlock() is called.

See also
endBlock()

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addCircle()

virtual void DL_CreationInterface::addCircle ( const DL_CircleData & data)
pure virtual

Called for every circle.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addComment()

virtual void DL_CreationInterface::addComment ( const std::string & comment)
pure virtual

Called for every comment in the DXF file (code 999).

Implemented in DL_CreationAdapter.

◆ addControlPoint()

virtual void DL_CreationInterface::addControlPoint ( const DL_ControlPointData & data)
pure virtual

Called for every spline control point.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDictionary()

virtual void DL_CreationInterface::addDictionary ( const DL_DictionaryData & data)
pure virtual

Called for dictionary objects.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDictionaryEntry()

virtual void DL_CreationInterface::addDictionaryEntry ( const DL_DictionaryEntryData & data)
pure virtual

Called for dictionary entries.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimAlign()

virtual void DL_CreationInterface::addDimAlign ( const DL_DimensionData & data,
const DL_DimAlignedData & edata )
pure virtual

Called for every aligned dimension entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimAngular()

virtual void DL_CreationInterface::addDimAngular ( const DL_DimensionData & data,
const DL_DimAngular2LData & edata )
pure virtual

Called for every angular dimension (2 lines version) entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimAngular3P()

virtual void DL_CreationInterface::addDimAngular3P ( const DL_DimensionData & data,
const DL_DimAngular3PData & edata )
pure virtual

Called for every angular dimension (3 points version) entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimDiametric()

virtual void DL_CreationInterface::addDimDiametric ( const DL_DimensionData & data,
const DL_DimDiametricData & edata )
pure virtual

Called for every diametric dimension entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimLinear()

virtual void DL_CreationInterface::addDimLinear ( const DL_DimensionData & data,
const DL_DimLinearData & edata )
pure virtual

Called for every linear or rotated dimension entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimOrdinate()

virtual void DL_CreationInterface::addDimOrdinate ( const DL_DimensionData & data,
const DL_DimOrdinateData & edata )
pure virtual

Called for every ordinate dimension entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addDimRadial()

virtual void DL_CreationInterface::addDimRadial ( const DL_DimensionData & data,
const DL_DimRadialData & edata )
pure virtual

Called for every radial dimension entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addEllipse()

virtual void DL_CreationInterface::addEllipse ( const DL_EllipseData & data)
pure virtual

Called for every ellipse.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addFitPoint()

virtual void DL_CreationInterface::addFitPoint ( const DL_FitPointData & data)
pure virtual

Called for every spline fit point.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addHatch()

virtual void DL_CreationInterface::addHatch ( const DL_HatchData & data)
pure virtual

Called for every hatch entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addHatchEdge()

virtual void DL_CreationInterface::addHatchEdge ( const DL_HatchEdgeData & data)
pure virtual

Called for every hatch edge entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addHatchLoop()

virtual void DL_CreationInterface::addHatchLoop ( const DL_HatchLoopData & data)
pure virtual

Called for every hatch loop.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addImage()

virtual void DL_CreationInterface::addImage ( const DL_ImageData & data)
pure virtual

Called for every image entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addInsert()

virtual void DL_CreationInterface::addInsert ( const DL_InsertData & data)
pure virtual

Called for every insert.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addKnot()

virtual void DL_CreationInterface::addKnot ( const DL_KnotData & data)
pure virtual

Called for every spline knot value.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addLayer()

virtual void DL_CreationInterface::addLayer ( const DL_LayerData & data)
pure virtual

Called for every layer.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addLeader()

virtual void DL_CreationInterface::addLeader ( const DL_LeaderData & data)
pure virtual

Called for every leader start.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addLeaderVertex()

virtual void DL_CreationInterface::addLeaderVertex ( const DL_LeaderVertexData & data)
pure virtual

Called for every leader vertex.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addLine()

virtual void DL_CreationInterface::addLine ( const DL_LineData & data)
pure virtual

Called for every line.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addLinetype()

virtual void DL_CreationInterface::addLinetype ( const DL_LinetypeData & data)
pure virtual

Called for every linetype.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addLinetypeDash()

virtual void DL_CreationInterface::addLinetypeDash ( double length)
pure virtual

Called for every dash in linetype pattern.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addMText()

virtual void DL_CreationInterface::addMText ( const DL_MTextData & data)
pure virtual

Called for every multi Text entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addMTextChunk()

virtual void DL_CreationInterface::addMTextChunk ( const std::string & text)
pure virtual

Called for additional text chunks for MTEXT entities.

The chunks come at 250 character in size each. Note that those chunks come before the actual MTEXT entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addPoint()

virtual void DL_CreationInterface::addPoint ( const DL_PointData & data)
pure virtual

Called for every point.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addPolyline()

virtual void DL_CreationInterface::addPolyline ( const DL_PolylineData & data)
pure virtual

Called for every polyline start.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addRay()

virtual void DL_CreationInterface::addRay ( const DL_RayData & data)
pure virtual

Called for every ray.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addSolid()

virtual void DL_CreationInterface::addSolid ( const DL_SolidData & data)
pure virtual

Called for every solid start.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addSpline()

virtual void DL_CreationInterface::addSpline ( const DL_SplineData & data)
pure virtual

Called for every spline.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addText()

virtual void DL_CreationInterface::addText ( const DL_TextData & data)
pure virtual

Called for every text entity.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addTextStyle()

virtual void DL_CreationInterface::addTextStyle ( const DL_StyleData & data)
pure virtual

Called for every text style.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addTrace()

virtual void DL_CreationInterface::addTrace ( const DL_TraceData & data)
pure virtual

Called for every trace start.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addVertex()

virtual void DL_CreationInterface::addVertex ( const DL_VertexData & data)
pure virtual

Called for every polyline vertex.

Implemented in DL_CreationAdapter, Test_CreationClass, and RDxfImporter.

◆ addXDataApp()

virtual void DL_CreationInterface::addXDataApp ( const std::string & appId)
pure virtual

Called for every beginning of an XData section of the given application.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addXDataInt()

virtual void DL_CreationInterface::addXDataInt ( int code,
int value )
pure virtual

Called for XData tuples.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addXDataReal()

virtual void DL_CreationInterface::addXDataReal ( int code,
double value )
pure virtual

Called for XData tuples.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addXDataString()

virtual void DL_CreationInterface::addXDataString ( int code,
const std::string & value )
pure virtual

Called for XData tuples.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addXLine()

virtual void DL_CreationInterface::addXLine ( const DL_XLineData & data)
pure virtual

Called for every xline.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addXRecord()

virtual void DL_CreationInterface::addXRecord ( const std::string & handle)
pure virtual

Called for every XRecord with the given handle.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ addXRecordBool()

virtual void DL_CreationInterface::addXRecordBool ( int code,
bool value )
pure virtual

Called for XRecords of type bool.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addXRecordInt()

virtual void DL_CreationInterface::addXRecordInt ( int code,
int value )
pure virtual

Called for XRecords of type int.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addXRecordReal()

virtual void DL_CreationInterface::addXRecordReal ( int code,
double value )
pure virtual

Called for XRecords of type double.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ addXRecordString()

virtual void DL_CreationInterface::addXRecordString ( int code,
const std::string & value )
pure virtual

Called for XRecords of type string.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ endBlock()

virtual void DL_CreationInterface::endBlock ( )
pure virtual

Called to end the current block.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ endEntity()

virtual void DL_CreationInterface::endEntity ( )
pure virtual

Called after an entity has been completed.


Implemented in DL_CreationAdapter, and RDxfImporter.

◆ endSection()

virtual void DL_CreationInterface::endSection ( )
pure virtual

Called when a section (entity, table entry, etc.) is finished.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ endSequence()

virtual void DL_CreationInterface::endSequence ( )
pure virtual

Called when a SEQEND occurs (when a POLYLINE or ATTRIB is done)

Implemented in DL_CreationAdapter.

◆ getAttributes()

DL_Attributes DL_CreationInterface::getAttributes ( )
inline
Returns
the current attributes used for new entities.

◆ getExtrusion()

DL_Extrusion * DL_CreationInterface::getExtrusion ( )
inline
Returns
the current attributes used for new entities.

◆ linkImage()

virtual void DL_CreationInterface::linkImage ( const DL_ImageDefData & data)
pure virtual

Called for every image definition.

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ processCodeValuePair()

virtual void DL_CreationInterface::processCodeValuePair ( unsigned int groupCode,
const std::string & groupValue )
pure virtual

Called for every code / value tuple of the DXF file.

The complete DXF file contents can be handled by the implemetation of this function.

Implemented in RDxfImporter, and DL_CreationAdapter.

◆ setAttributes()

void DL_CreationInterface::setAttributes ( const DL_Attributes & attrib)
inline

Sets the current attributes for entities.

◆ setExtrusion()

void DL_CreationInterface::setExtrusion ( double dx,
double dy,
double dz,
double elevation )
inline

Sets the current attributes for entities.

◆ setVariableDouble()

virtual void DL_CreationInterface::setVariableDouble ( const std::string & key,
double value,
int code )
pure virtual

Called for every double variable in the DXF file (e.g.

"$DIMEXO").

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ setVariableInt()

virtual void DL_CreationInterface::setVariableInt ( const std::string & key,
int value,
int code )
pure virtual

Called for every int variable in the DXF file (e.g.

"$ACADMAINTVER").

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ setVariableString()

virtual void DL_CreationInterface::setVariableString ( const std::string & key,
const std::string & value,
int code )
pure virtual

Called for every string variable in the DXF file (e.g.

"$ACADVER").

Implemented in DL_CreationAdapter, and RDxfImporter.

◆ setVariableVector()

virtual void DL_CreationInterface::setVariableVector ( const std::string & key,
double v1,
double v2,
double v3,
int code )
pure virtual

Called for every vector variable in the DXF file (e.g.

"$EXTMIN").

Implemented in DL_CreationAdapter, and RDxfImporter.

Member Data Documentation

◆ attributes

DL_Attributes DL_CreationInterface::attributes
protected

◆ extrusion

DL_Extrusion* DL_CreationInterface::extrusion
protected

The documentation for this class was generated from the following file: