Horizon
dl_creationadapter.h
1 /****************************************************************************
2 ** Copyright (C) 2001-2013 RibbonSoft, GmbH. All rights reserved.
3 **
4 ** This file is part of the dxflib project.
5 **
6 ** This file is free software; you can redistribute it and/or modify
7 ** it under the terms of the GNU General Public License as published by
8 ** the Free Software Foundation; either version 2 of the License, or
9 ** (at your option) any later version.
10 **
11 ** Licensees holding valid dxflib Professional Edition licenses may use
12 ** this file in accordance with the dxflib Commercial License
13 ** Agreement provided with the Software.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** See http://www.ribbonsoft.com for further details.
19 **
20 ** Contact info@ribbonsoft.com if any conditions of this licensing are
21 ** not clear to you.
22 **
23 **********************************************************************/
24 
25 #ifndef DL_CREATIONADAPTER_H
26 #define DL_CREATIONADAPTER_H
27 
28 #include "dl_global.h"
29 
30 #include "dl_creationinterface.h"
31 
39 class DXFLIB_EXPORT DL_CreationAdapter : public DL_CreationInterface {
40 public:
42  virtual ~DL_CreationAdapter() {}
43  virtual void processCodeValuePair(unsigned int, const std::string&) {}
44  virtual void endSection() {}
45  virtual void addLayer(const DL_LayerData&) {}
46  virtual void addLinetype(const DL_LinetypeData&) {}
47  virtual void addLinetypeDash(double) {}
48  virtual void addBlock(const DL_BlockData&) {}
49  virtual void endBlock() {}
50  virtual void addTextStyle(const DL_StyleData&) {}
51  virtual void addPoint(const DL_PointData&) {}
52  virtual void addLine(const DL_LineData&) {}
53  virtual void addXLine(const DL_XLineData&) {}
54  virtual void addRay(const DL_RayData&) {}
55 
56  virtual void addArc(const DL_ArcData&) {}
57  virtual void addCircle(const DL_CircleData&) {}
58  virtual void addEllipse(const DL_EllipseData&) {}
59 
60  virtual void addPolyline(const DL_PolylineData&) {}
61  virtual void addVertex(const DL_VertexData&) {}
62 
63  virtual void addSpline(const DL_SplineData&) {}
64  virtual void addControlPoint(const DL_ControlPointData&) {}
65  virtual void addFitPoint(const DL_FitPointData&) {}
66  virtual void addKnot(const DL_KnotData&) {}
67 
68  virtual void addInsert(const DL_InsertData&) {}
69 
70  virtual void addMText(const DL_MTextData&) {}
71  virtual void addMTextChunk(const std::string&) {}
72  virtual void addText(const DL_TextData&) {}
73  virtual void addAttribute(const DL_AttributeData&) {}
74 
75  virtual void addDimAlign(const DL_DimensionData&,
76  const DL_DimAlignedData&) {}
77  virtual void addDimLinear(const DL_DimensionData&,
78  const DL_DimLinearData&) {}
79  virtual void addDimRadial(const DL_DimensionData&,
80  const DL_DimRadialData&) {}
81  virtual void addDimDiametric(const DL_DimensionData&,
83  virtual void addDimAngular(const DL_DimensionData&,
84  const DL_DimAngularData&) {}
85  virtual void addDimAngular3P(const DL_DimensionData&,
87  virtual void addDimOrdinate(const DL_DimensionData&,
88  const DL_DimOrdinateData&) {}
89  virtual void addLeader(const DL_LeaderData&) {}
90  virtual void addLeaderVertex(const DL_LeaderVertexData&) {}
91 
92  virtual void addHatch(const DL_HatchData&) {}
93 
94  virtual void addTrace(const DL_TraceData&) {}
95  virtual void add3dFace(const DL_3dFaceData&) {}
96  virtual void addSolid(const DL_SolidData&) {}
97 
98  virtual void addImage(const DL_ImageData&) {}
99  virtual void linkImage(const DL_ImageDefData&) {}
100  virtual void addHatchLoop(const DL_HatchLoopData&) {}
101  virtual void addHatchEdge(const DL_HatchEdgeData&) {}
102 
103  virtual void addXRecord(const std::string&) {}
104  virtual void addXRecordString(int, const std::string&) {}
105  virtual void addXRecordReal(int, double) {}
106  virtual void addXRecordInt(int, int) {}
107  virtual void addXRecordBool(int, bool) {}
108 
109  virtual void addXDataApp(const std::string&) {}
110  virtual void addXDataString(int, const std::string&) {}
111  virtual void addXDataReal(int, double) {}
112  virtual void addXDataInt(int, int) {}
113 
114  virtual void addDictionary(const DL_DictionaryData&) {}
116 
117  virtual void endEntity() {}
118 
119  virtual void addComment(const std::string&) {}
120 
121  virtual void setVariableVector(const std::string&, double, double, double, int) {}
122  virtual void setVariableString(const std::string&, const std::string&, int) {}
123  virtual void setVariableInt(const std::string&, int, int) {}
124  virtual void setVariableDouble(const std::string&, double, int) {}
125 #ifdef DL_COMPAT
126  virtual void setVariableVector(const char*, double, double, double, int) {}
127  virtual void setVariableString(const char*, const char*, int) {}
128  virtual void setVariableInt(const char*, int, int) {}
129  virtual void setVariableDouble(const char*, double, int) {}
130  virtual void processCodeValuePair(unsigned int, char*) {}
131  virtual void addComment(const char*) {}
132  virtual void addMTextChunk(const char*) {}
133 #endif
134  virtual void endSequence() {}
135 };
136 
137 #endif
DL_CreationInterface::setVariableInt
virtual void setVariableInt(const std::string &key, int value, int code)=0
Called for every int variable in the DXF file (e.g.
DL_CreationInterface::addDimOrdinate
virtual void addDimOrdinate(const DL_DimensionData &data, const DL_DimOrdinateData &edata)=0
Called for every ordinate dimension entity.
DL_DictionaryData
Dictionary data.
Definition: dl_entities.h:1708
DL_FitPointData
Spline fit point data.
Definition: dl_entities.h:596
DL_CreationInterface::addArc
virtual void addArc(const DL_ArcData &data)=0
Called for every arc.
DL_CreationInterface::addXRecordInt
virtual void addXRecordInt(int code, int value)=0
Called for XRecords of type int.
DL_LineData
Line Data.
Definition: dl_entities.h:219
DL_CreationInterface::addInsert
virtual void addInsert(const DL_InsertData &data)=0
Called for every insert.
DL_CreationInterface::addXRecordString
virtual void addXRecordString(int code, const std::string &value)=0
Called for XRecords of type string.
DL_HatchData
Hatch data.
Definition: dl_entities.h:1379
DL_CreationInterface::addLinetype
virtual void addLinetype(const DL_LinetypeData &data)=0
Called for every linetype.
DL_VertexData
Vertex Data.
Definition: dl_entities.h:410
DL_CreationInterface::addEllipse
virtual void addEllipse(const DL_EllipseData &data)=0
Called for every ellipse.
DL_PolylineData
Polyline Data.
Definition: dl_entities.h:380
DL_CreationInterface::addImage
virtual void addImage(const DL_ImageData &data)=0
Called for every image entity.
DL_DimRadialData
Radial Dimension Data.
Definition: dl_entities.h:1098
DL_CircleData
Circle Data.
Definition: dl_entities.h:350
DL_CreationInterface::setVariableString
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.
DL_CreationInterface::setVariableVector
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.
DL_EllipseData
Ellipse Data.
Definition: dl_entities.h:616
DL_ImageDefData
Image Definition Data.
Definition: dl_entities.h:1684
DL_CreationInterface::addHatchEdge
virtual void addHatchEdge(const DL_HatchEdgeData &data)=0
Called for every hatch edge entity.
DL_CreationInterface::addText
virtual void addText(const DL_TextData &data)=0
Called for every Text entity.
DL_LeaderData
Leader (arrow).
Definition: dl_entities.h:1308
DL_CreationInterface::addHatch
virtual void addHatch(const DL_HatchData &data)=0
Called for every hatch entity.
DL_CreationInterface::addLinetypeDash
virtual void addLinetypeDash(double length)=0
Called for every dash in linetype pattern.
DL_CreationInterface::addXRecord
virtual void addXRecord(const std::string &handle)=0
Called for every XRecord with the given handle.
DL_StyleData
Text style data.
Definition: dl_entities.h:128
DL_CreationInterface::addPoint
virtual void addPoint(const DL_PointData &data)=0
Called for every point.
DL_HatchLoopData
Hatch boundary path (loop) data.
Definition: dl_entities.h:1426
DL_CreationInterface::addSolid
virtual void addSolid(const DL_SolidData &data)=0
Called for every solid start.
DL_LeaderVertexData
Leader Vertex Data.
Definition: dl_entities.h:1355
DL_CreationInterface::addAttribute
virtual void addAttribute(const DL_AttributeData &data)=0
Called for every Block Attribute entity.
DL_CreationInterface::addLayer
virtual void addLayer(const DL_LayerData &data)=0
Called for every layer.
DL_SplineData
Spline Data.
Definition: dl_entities.h:505
DL_CreationInterface::linkImage
virtual void linkImage(const DL_ImageDefData &data)=0
Called for every image definition.
DL_DictionaryEntryData
Dictionary entry data.
Definition: dl_entities.h:1718
DL_CreationInterface::addPolyline
virtual void addPolyline(const DL_PolylineData &data)=0
Called for every polyline start.
DL_CreationInterface::add3dFace
virtual void add3dFace(const DL_3dFaceData &data)=0
Called for every 3dface start.
DL_CreationInterface::endSection
virtual void endSection()=0
Called when a section (entity, table entry, etc.) is finished.
DL_DimAngular3PData
Angular Dimension Data (3 points version).
Definition: dl_entities.h:1216
DL_CreationInterface::addXDataReal
virtual void addXDataReal(int code, double value)=0
Called for XData tuples.
DL_MTextData
MText Data.
Definition: dl_entities.h:713
DL_CreationInterface::addDictionaryEntry
virtual void addDictionaryEntry(const DL_DictionaryEntryData &data)=0
Called for dictionary entries.
DL_LinetypeData
Line Type Data.
Definition: dl_entities.h:88
DL_CreationInterface::addFitPoint
virtual void addFitPoint(const DL_FitPointData &data)=0
Called for every spline fit point.
DL_ArcData
Arc Data.
Definition: dl_entities.h:313
DL_DimLinearData
Linear (rotated) Dimension Data.
Definition: dl_entities.h:1052
DL_CreationInterface::addComment
virtual void addComment(const std::string &comment)=0
Called for every comment in the DXF file (code 999).
DL_CreationInterface::addRay
virtual void addRay(const DL_RayData &data)=0
Called for every ray.
DL_CreationInterface::addTrace
virtual void addTrace(const DL_TraceData &data)=0
Called for every trace start.
DL_TextData
Text Data.
Definition: dl_entities.h:794
DL_ImageData
Image Data.
Definition: dl_entities.h:1618
DL_CreationInterface::processCodeValuePair
virtual void processCodeValuePair(unsigned int groupCode, const std::string &groupValue)=0
Called for every code / value tuple of the DXF file.
DL_CreationInterface::addCircle
virtual void addCircle(const DL_CircleData &data)=0
Called for every circle.
DL_BlockData
Block Data.
Definition: dl_entities.h:57
DL_CreationInterface::endBlock
virtual void endBlock()=0
Called to end the current block.
DL_CreationInterface::addBlock
virtual void addBlock(const DL_BlockData &data)=0
Called for every block.
DL_CreationInterface::endEntity
virtual void endEntity()=0
Called after an entity has been completed.
DL_CreationInterface::addHatchLoop
virtual void addHatchLoop(const DL_HatchLoopData &data)=0
Called for every hatch loop.
DL_CreationInterface::setVariableDouble
virtual void setVariableDouble(const std::string &key, double value, int code)=0
Called for every double variable in the DXF file (e.g.
DL_CreationInterface::addTextStyle
virtual void addTextStyle(const DL_StyleData &data)=0
Called for every text style.
DL_DimensionData
Generic Dimension Data.
Definition: dl_entities.h:905
DL_CreationInterface::addDimAlign
virtual void addDimAlign(const DL_DimensionData &data, const DL_DimAlignedData &edata)=0
Called for every aligned dimension entity.
DL_CreationInterface::addDimLinear
virtual void addDimLinear(const DL_DimensionData &data, const DL_DimLinearData &edata)=0
Called for every linear or rotated dimension entity.
DL_KnotData
Spline knot data.
Definition: dl_entities.h:550
DL_CreationInterface::addLeader
virtual void addLeader(const DL_LeaderData &data)=0
Called for every leader start.
DL_CreationInterface::addSpline
virtual void addSpline(const DL_SplineData &data)=0
Called for every spline.
DL_CreationInterface::addMText
virtual void addMText(const DL_MTextData &data)=0
Called for every Multi Text entity.
DL_CreationInterface::addMTextChunk
virtual void addMTextChunk(const std::string &text)=0
Called for additional text chunks for MTEXT entities.
DL_CreationInterface::addDimRadial
virtual void addDimRadial(const DL_DimensionData &data, const DL_DimRadialData &edata)=0
Called for every radial dimension entity.
DL_CreationInterface::addDictionary
virtual void addDictionary(const DL_DictionaryData &data)=0
Called for dictionary objects.
DL_CreationInterface
Abstract class (interface) for the creation of new entities.
Definition: dl_creationinterface.h:46
DL_PointData
Point Data.
Definition: dl_entities.h:195
DL_CreationInterface::addXDataInt
virtual void addXDataInt(int code, int value)=0
Called for XData tuples.
DL_CreationInterface::addLeaderVertex
virtual void addLeaderVertex(const DL_LeaderVertexData &data)=0
Called for every leader vertex.
DL_CreationInterface::addLine
virtual void addLine(const DL_LineData &data)=0
Called for every line.
DL_CreationInterface::addDimDiametric
virtual void addDimDiametric(const DL_DimensionData &data, const DL_DimDiametricData &edata)=0
Called for every diametric dimension entity.
DL_DimOrdinateData
Ordinate Dimension Data.
Definition: dl_entities.h:1265
DL_AttributeData
Block attribute data.
Definition: dl_entities.h:865
DL_CreationInterface::addXRecordReal
virtual void addXRecordReal(int code, double value)=0
Called for XRecords of type double.
DL_CreationInterface::addVertex
virtual void addVertex(const DL_VertexData &data)=0
Called for every polyline vertex.
DL_CreationInterface::addXRecordBool
virtual void addXRecordBool(int code, bool value)=0
Called for XRecords of type bool.
DL_CreationInterface::addXDataString
virtual void addXDataString(int code, const std::string &value)=0
Called for XData tuples.
DL_ControlPointData
Spline control point data.
Definition: dl_entities.h:569
DL_CreationInterface::addControlPoint
virtual void addControlPoint(const DL_ControlPointData &data)=0
Called for every spline control point.
DL_CreationInterface::addXLine
virtual void addXLine(const DL_XLineData &data)=0
Called for every xline.
DL_HatchEdgeData
Hatch edge data.
Definition: dl_entities.h:1448
DL_CreationInterface::addDimAngular
virtual void addDimAngular(const DL_DimensionData &data, const DL_DimAngularData &edata)=0
Called for every angular dimension (2 lines version) entity.
DL_DimAngularData
Angular Dimension Data.
Definition: dl_entities.h:1156
DL_DimAlignedData
Aligned Dimension Data.
Definition: dl_entities.h:1015
DL_CreationInterface::addDimAngular3P
virtual void addDimAngular3P(const DL_DimensionData &data, const DL_DimAngular3PData &edata)=0
Called for every angular dimension (3 points version) entity.
DL_LayerData
Layer Data.
Definition: dl_entities.h:35
DL_RayData
Ray Data.
Definition: dl_entities.h:282
DL_InsertData
Insert Data.
Definition: dl_entities.h:663
DL_CreationInterface::endSequence
virtual void endSequence()=0
Called when a SEQEND occurs (when a POLYLINE or ATTRIB is done)
DL_CreationInterface::addKnot
virtual void addKnot(const DL_KnotData &data)=0
Called for every spline knot value.
DL_CreationInterface::addXDataApp
virtual void addXDataApp(const std::string &appId)=0
Called for every beginning of an XData section of the given application.
DL_XLineData
XLine Data.
Definition: dl_entities.h:253
DL_CreationAdapter
An abstract adapter class for receiving DXF events when a DXF file is being read.
Definition: dl_creationadapter.h:39
DL_TraceData
Trace Data / solid data / 3d face data.
Definition: dl_entities.h:438
DL_DimDiametricData
Diametric Dimension Data.
Definition: dl_entities.h:1127