ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
DL_CreationInterface Class Referenceabstract

#include <dl_creationinterface.h>

Inheritance diagram for DL_CreationInterface:
Collaboration diagram for DL_CreationInterface:

Public Member Functions

 DL_CreationInterface ()
 
virtual ~DL_CreationInterface ()
 
virtual void processCodeValuePair (unsigned int groupCode, const std::string &groupValue)=0
 
virtual void endSection ()=0
 
virtual void addLayer (const DL_LayerData &data)=0
 
virtual void addLinetype (const DL_LinetypeData &data)=0
 
virtual void addLinetypeDash (double length)=0
 
virtual void addBlock (const DL_BlockData &data)=0
 
virtual void endBlock ()=0
 
virtual void addTextStyle (const DL_StyleData &data)=0
 
virtual void addPoint (const DL_PointData &data)=0
 
virtual void addLine (const DL_LineData &data)=0
 
virtual void addXLine (const DL_XLineData &data)=0
 
virtual void addRay (const DL_RayData &data)=0
 
virtual void addArc (const DL_ArcData &data)=0
 
virtual void addCircle (const DL_CircleData &data)=0
 
virtual void addEllipse (const DL_EllipseData &data)=0
 
virtual void addPolyline (const DL_PolylineData &data)=0
 
virtual void addVertex (const DL_VertexData &data)=0
 
virtual void addSpline (const DL_SplineData &data)=0
 
virtual void addControlPoint (const DL_ControlPointData &data)=0
 
virtual void addFitPoint (const DL_FitPointData &data)=0
 
virtual void addKnot (const DL_KnotData &data)=0
 
virtual void addInsert (const DL_InsertData &data)=0
 
virtual void addTrace (const DL_TraceData &data)=0
 
virtual void add3dFace (const DL_3dFaceData &data)=0
 
virtual void addSolid (const DL_SolidData &data)=0
 
virtual void addMText (const DL_MTextData &data)=0
 
virtual void addMTextChunk (const std::string &text)=0
 
virtual void addText (const DL_TextData &data)=0
 
virtual void addArcAlignedText (const DL_ArcAlignedTextData &data)=0
 
virtual void addAttribute (const DL_AttributeData &data)=0
 
virtual void addDimAlign (const DL_DimensionData &data, const DL_DimAlignedData &edata)=0
 
virtual void addDimLinear (const DL_DimensionData &data, const DL_DimLinearData &edata)=0
 
virtual void addDimRadial (const DL_DimensionData &data, const DL_DimRadialData &edata)=0
 
virtual void addDimDiametric (const DL_DimensionData &data, const DL_DimDiametricData &edata)=0
 
virtual void addDimAngular (const DL_DimensionData &data, const DL_DimAngularData &edata)=0
 
virtual void addDimAngular3P (const DL_DimensionData &data, const DL_DimAngular3PData &edata)=0
 
virtual void addDimOrdinate (const DL_DimensionData &data, const DL_DimOrdinateData &edata)=0
 
virtual void addLeader (const DL_LeaderData &data)=0
 
virtual void addLeaderVertex (const DL_LeaderVertexData &data)=0
 
virtual void addHatch (const DL_HatchData &data)=0
 
virtual void addImage (const DL_ImageData &data)=0
 
virtual void linkImage (const DL_ImageDefData &data)=0
 
virtual void addHatchLoop (const DL_HatchLoopData &data)=0
 
virtual void addHatchEdge (const DL_HatchEdgeData &data)=0
 
virtual void addXRecord (const std::string &handle)=0
 
virtual void addXRecordString (int code, const std::string &value)=0
 
virtual void addXRecordReal (int code, double value)=0
 
virtual void addXRecordInt (int code, int value)=0
 
virtual void addXRecordBool (int code, bool value)=0
 
virtual void addXDataApp (const std::string &appId)=0
 
virtual void addXDataString (int code, const std::string &value)=0
 
virtual void addXDataReal (int code, double value)=0
 
virtual void addXDataInt (int code, int value)=0
 
virtual void addDictionary (const DL_DictionaryData &data)=0
 
virtual void addDictionaryEntry (const DL_DictionaryEntryData &data)=0
 
virtual void endEntity ()=0
 
virtual void addComment (const std::string &comment)=0
 
virtual void setVariableVector (const std::string &key, double v1, double v2, double v3, int code)=0
 
virtual void setVariableString (const std::string &key, const std::string &value, int code)=0
 
virtual void setVariableInt (const std::string &key, int value, int code)=0
 
virtual void setVariableDouble (const std::string &key, double value, int code)=0
 
virtual void endSequence ()=0
 
void setAttributes (const DL_Attributes &attrib)
 
DL_Attributes getAttributes ()
 
void setExtrusion (double dx, double dy, double dz, double elevation)
 
DL_ExtrusiongetExtrusion ()
 

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

Definition at line 46 of file dl_creationinterface.h.

Constructor & Destructor Documentation

◆ DL_CreationInterface()

DL_CreationInterface::DL_CreationInterface ( )
inline

Definition at line 48 of file dl_creationinterface.h.

◆ ~DL_CreationInterface()

virtual DL_CreationInterface::~DL_CreationInterface ( )
inlinevirtual

Definition at line 49 of file dl_creationinterface.h.

Member Function Documentation

◆ add3dFace()

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

Called for every 3dface start

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::add3dFace().

◆ addArc()

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

Called for every arc

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addArc().

◆ addArcAlignedText()

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

Called for every arc aligned text entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addArcAlignedText().

◆ addAttribute()

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

Called for every block Attribute entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addAttribute().

◆ 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.

Referenced by DL_Dxf::addBlock().

◆ addCircle()

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

Called for every circle

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addCircle().

◆ 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.

Referenced by DL_Dxf::addComment().

◆ addControlPoint()

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

Called for every spline control point

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addSpline().

◆ addDictionary()

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

Called for dictionary objects.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addDictionary(), and DL_Dxf::handleDictionaryData().

◆ addDictionaryEntry()

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

Called for dictionary entries.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addDictionaryEntry(), and DL_Dxf::handleDictionaryData().

◆ 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.

Referenced by DL_Dxf::addDimAligned().

◆ addDimAngular()

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

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

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addDimAngular().

◆ 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.

Referenced by DL_Dxf::addDimAngular3P().

◆ 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.

Referenced by DL_Dxf::addDimDiametric().

◆ 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.

Referenced by DL_Dxf::addDimLinear().

◆ 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.

Referenced by DL_Dxf::addDimOrdinate().

◆ 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.

Referenced by DL_Dxf::addDimRadial().

◆ addEllipse()

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

Called for every ellipse

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addEllipse().

◆ addFitPoint()

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

Called for every spline fit point

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addSpline().

◆ addHatch()

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

Called for every hatch entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addHatch().

◆ addHatchEdge()

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

Called for every hatch edge entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addHatch().

◆ addHatchLoop()

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

Called for every hatch loop.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addHatch().

◆ addImage()

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

Called for every image entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addImage().

◆ addInsert()

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

Called for every insert.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addInsert().

◆ addKnot()

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

Called for every spline knot value

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addSpline().

◆ addLayer()

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

Called for every layer.

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addLayer().

◆ addLeader()

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

Called for every leader start.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addLeader().

◆ addLeaderVertex()

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

Called for every leader vertex

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addLeader().

◆ addLine()

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

Called for every line

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addLine().

◆ addLinetype()

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

Called for every linetype.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addLinetype().

◆ addLinetypeDash()

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

Called for every dash in linetype pattern

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleLinetypeData().

◆ addMText()

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

Called for every multi Text entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addMText().

◆ 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.

Referenced by DL_Dxf::handleMTextData().

◆ addPoint()

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

Called for every point

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addPoint().

◆ addPolyline()

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

Called for every polyline start

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addPolyline().

◆ addRay()

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

Called for every ray

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addRay().

◆ addSolid()

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

Called for every solid start

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addSolid().

◆ addSpline()

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

Called for every spline

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addSpline().

◆ addText()

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

Called for every text entity.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addText().

◆ addTextStyle()

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

Called for every text style

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addTextStyle().

◆ addTrace()

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

Called for every trace start

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addTrace().

◆ addVertex()

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

Called for every polyline vertex

Implemented in Test_CreationClass, and DL_CreationAdapter.

Referenced by DL_Dxf::addPolyline(), and DL_Dxf::addVertex().

◆ 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.

Referenced by DL_Dxf::handleXData().

◆ addXDataInt()

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

Called for XData tuples.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXData().

◆ addXDataReal()

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

Called for XData tuples.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXData().

◆ addXDataString()

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

Called for XData tuples.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXData().

◆ addXLine()

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

Called for every xline

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addXLine().

◆ addXRecord()

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

Called for every XRecord with the given handle.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXRecordData().

◆ addXRecordBool()

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

Called for XRecords of type bool.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXRecordData().

◆ addXRecordInt()

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

Called for XRecords of type int.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXRecordData().

◆ addXRecordReal()

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

Called for XRecords of type double.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXRecordData().

◆ addXRecordString()

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

Called for XRecords of type string.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::handleXRecordData().

◆ endBlock()

virtual void DL_CreationInterface::endBlock ( )
pure virtual

Called to end the current block

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::endBlock().

◆ endEntity()

virtual void DL_CreationInterface::endEntity ( )
pure virtual

◆ endSection()

virtual void DL_CreationInterface::endSection ( )
pure virtual

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

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::processDXFGroup().

◆ endSequence()

virtual void DL_CreationInterface::endSequence ( )
pure virtual

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

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::endSequence().

◆ getAttributes()

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

Definition at line 356 of file dl_creationinterface.h.

Referenced by DL_Dxf::addLayer().

◆ getExtrusion()

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

Definition at line 365 of file dl_creationinterface.h.

◆ linkImage()

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

Called for every image definition.

Implemented in DL_CreationAdapter.

Referenced by DL_Dxf::addImageDef().

◆ 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 DL_CreationAdapter.

Referenced by DL_Dxf::readDxfGroups().

◆ setAttributes()

void DL_CreationInterface::setAttributes ( const DL_Attributes attrib)
inline

Sets the current attributes for entities.

Definition at line 353 of file dl_creationinterface.h.

Referenced by DL_Dxf::processDXFGroup().

◆ setExtrusion()

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

Sets the current attributes for entities.

Definition at line 359 of file dl_creationinterface.h.

Referenced by DL_Dxf::processDXFGroup().

◆ 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.

Referenced by DL_Dxf::addSetting().

◆ 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.

Referenced by DL_Dxf::addSetting().

◆ 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.

Referenced by DL_Dxf::addSetting().

◆ 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.

Referenced by DL_Dxf::addSetting().

Member Data Documentation

◆ attributes

DL_Attributes DL_CreationInterface::attributes
protected

Definition at line 368 of file dl_creationinterface.h.

Referenced by Test_CreationClass::printAttributes().

◆ extrusion

DL_Extrusion* DL_CreationInterface::extrusion
protected

Definition at line 369 of file dl_creationinterface.h.


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