44#define M_PI 3.14159265358979323846
45#pragma warning(disable : 4800)
49#define M_PI 3.1415926535897932384626433832795
53#define DL_NANDOUBLE std::numeric_limits<double>::quiet_NaN()
60#define DL_VERSION "3.26.4.0"
62#define DL_VERSION_MAJOR 3
63#define DL_VERSION_MINOR 26
64#define DL_VERSION_REV 4
65#define DL_VERSION_BUILD 0
74#define DL_ENTITY_POINT 100
75#define DL_ENTITY_LINE 101
76#define DL_ENTITY_POLYLINE 102
77#define DL_ENTITY_LWPOLYLINE 103
78#define DL_ENTITY_VERTEX 104
79#define DL_ENTITY_SPLINE 105
80#define DL_ENTITY_KNOT 106
81#define DL_ENTITY_CONTROLPOINT 107
82#define DL_ENTITY_ARC 108
83#define DL_ENTITY_CIRCLE 109
84#define DL_ENTITY_ELLIPSE 110
85#define DL_ENTITY_INSERT 111
86#define DL_ENTITY_TEXT 112
87#define DL_ENTITY_MTEXT 113
88#define DL_ENTITY_DIMENSION 114
89#define DL_ENTITY_LEADER 115
90#define DL_ENTITY_HATCH 116
91#define DL_ENTITY_ATTRIB 117
92#define DL_ENTITY_IMAGE 118
93#define DL_ENTITY_IMAGEDEF 119
94#define DL_ENTITY_TRACE 120
95#define DL_ENTITY_SOLID 121
96#define DL_ENTITY_3DFACE 122
97#define DL_ENTITY_XLINE 123
98#define DL_ENTITY_RAY 124
99#define DL_ENTITY_ARCALIGNEDTEXT 125
100#define DL_ENTITY_SEQEND 126
101#define DL_XRECORD 200
102#define DL_DICTIONARY 210
127 bool in(
const std::string& file,
132 FILE* stream,
bool stripSpace =
true);
136 bool in(std::istream &stream,
139 std::istream& stream,
bool stripSpace =
true);
144 int groupCode,
const std::string& groupValue);
354 double dimasz,
double dimexe,
double dimexo,
355 double dimgap,
double dimtxt);
410 return values.count(code)==1;
417 return toInt(values[code]);
422 return strtol(str.c_str(), &p, 10);
434 return strtol(str.c_str(), &p, 16);
439 return (
bool)strtol(str.c_str(), &p, 10);
453 return toReal(values[code]);
459 std::string str2 = str;
460 std::replace(str2.begin(), str2.end(),
',',
'.');
462 std::istringstream istr(str2);
471 std::string polylineLayer;
483 double* controlPoints;
484 int maxControlPoints;
485 int controlPointIndex;
491 double* leaderVertices;
492 int maxLeaderVertices;
493 int leaderVertexIndex;
497 std::vector<std::vector<DL_HatchEdgeData> > hatchEdges;
499 std::string xRecordHandle;
503 std::string groupCodeTmp;
505 unsigned int groupCode;
507 std::string groupValue;
509 int currentObjectType;
513 std::string settingKey;
515 std::map<int, std::string> values;
524 unsigned long appDictionaryHandle;
526 unsigned long styleHandleStd;
Definition dl_attributes.h:41
version
Definition dl_codes.h:96
Definition dl_creationinterface.h:47
void addDictionary(DL_CreationInterface *creationInterface)
double toReal(const std::string &str)
Definition dl_dxf.h:456
void addComment(DL_CreationInterface *creationInterface, const std::string &comment)
void writeXLine(DL_WriterA &dw, const DL_XLineData &data, const DL_Attributes &attrib)
void writeView(DL_WriterA &dw)
void writeDimAligned(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimAlignedData &edata, const DL_Attributes &attrib)
void addMText(DL_CreationInterface *creationInterface)
void writeObjects(DL_WriterA &dw, const std::string &appDictionaryName="")
void writeXRecord(DL_WriterA &dw, int handle, const std::string &value)
void addDictionaryEntry(DL_CreationInterface *creationInterface)
unsigned long writeImage(DL_WriterA &dw, const DL_ImageData &data, const DL_Attributes &attrib)
void writeTrace(DL_WriterA &dw, const DL_TraceData &data, const DL_Attributes &attrib)
void addPolyline(DL_CreationInterface *creationInterface)
void writeArc(DL_WriterA &dw, const DL_ArcData &data, const DL_Attributes &attrib)
void addSpline(DL_CreationInterface *creationInterface)
bool handleDictionaryData(DL_CreationInterface *creationInterface)
void write3dFace(DL_WriterA &dw, const DL_3dFaceData &data, const DL_Attributes &attrib)
void writeImageDef(DL_WriterA &dw, int handle, const DL_ImageData &data)
void writeLeaderVertex(DL_WriterA &dw, const DL_LeaderVertexData &data)
void writeHatchEdge(DL_WriterA &dw, const DL_HatchEdgeData &data)
void endBlock(DL_CreationInterface *creationInterface)
bool handleHatchData(DL_CreationInterface *creationInterface)
void writeStyle(DL_WriterA &dw, const DL_StyleData &style)
void addLinetype(DL_CreationInterface *creationInterface)
void writeObjectsEnd(DL_WriterA &dw)
void addEllipse(DL_CreationInterface *creationInterface)
void writeLeaderEnd(DL_WriterA &dw, const DL_LeaderData &data)
void writeXRecord(DL_WriterA &dw, int handle, double value)
void writePolyline(DL_WriterA &dw, const DL_PolylineData &data, const DL_Attributes &attrib)
void writeFitPoint(DL_WriterA &dw, const DL_FitPointData &data)
bool handleSplineData(DL_CreationInterface *creationInterface)
void writeDimStyle(DL_WriterA &dw, double dimasz, double dimexe, double dimexo, double dimgap, double dimtxt)
void addBlock(DL_CreationInterface *creationInterface)
void endSequence(DL_CreationInterface *creationInterface)
void writeRay(DL_WriterA &dw, const DL_RayData &data, const DL_Attributes &attrib)
void writeVPort(DL_WriterA &dw)
void writeAttribute(DL_WriterA &dw, const DL_AttributeData &data, const DL_Attributes &attrib)
void writeDimRadial(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimRadialData &edata, const DL_Attributes &attrib)
void writePoint(DL_WriterA &dw, const DL_PointData &data, const DL_Attributes &attrib)
void addArc(DL_CreationInterface *creationInterface)
void writeDimDiametric(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimDiametricData &edata, const DL_Attributes &attrib)
void addSetting(DL_CreationInterface *creationInterface)
void writeCircle(DL_WriterA &dw, const DL_CircleData &data, const DL_Attributes &attrib)
bool handleLWPolylineData(DL_CreationInterface *creationInterface)
void addVertex(DL_CreationInterface *creationInterface)
void addDimOrdinate(DL_CreationInterface *creationInterface)
static bool stripWhiteSpace(char **s, bool stripSpaces=true)
void writeDimAngular2L(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimAngular2LData &edata, const DL_Attributes &attrib)
static bool checkVariable(const char *var, DL_Codes::version version)
void writeBlockRecord(DL_WriterA &dw, const std::string &name)
DL_Codes::version getVersion()
Definition dl_dxf.h:401
void writeHeader(DL_WriterA &dw)
void addLeader(DL_CreationInterface *creationInterface)
void writeText(DL_WriterA &dw, const DL_TextData &data, const DL_Attributes &attrib)
void writeSpline(DL_WriterA &dw, const DL_SplineData &data, const DL_Attributes &attrib)
bool handleXData(DL_CreationInterface *creationInterface)
bool handleXRecordData(DL_CreationInterface *creationInterface)
bool readDxfGroups(FILE *fp, DL_CreationInterface *creationInterface)
static bool getStrippedLine(std::string &s, unsigned int size, std::istream &stream, bool stripSpace=true)
void writeEndBlock(DL_WriterA &dw, const std::string &name)
void addXLine(DL_CreationInterface *creationInterface)
void addTextStyle(DL_CreationInterface *creationInterface)
void addLine(DL_CreationInterface *creationInterface)
bool handleMTextData(DL_CreationInterface *creationInterface)
void writeVertex(DL_WriterA &dw, const DL_VertexData &data)
void addHatch(DL_CreationInterface *creationInterface)
int toInt(const std::string &str)
Definition dl_dxf.h:420
void writeSolid(DL_WriterA &dw, const DL_SolidData &data, const DL_Attributes &attrib)
void writeLayer(DL_WriterA &dw, const DL_LayerData &data, const DL_Attributes &attrib)
void writeDimOrdinate(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimOrdinateData &edata, const DL_Attributes &attrib)
int getInt16Value(int code, int def)
Definition dl_dxf.h:425
void addDimAligned(DL_CreationInterface *creationInterface)
void addSolid(DL_CreationInterface *creationInterface)
void addTrace(DL_CreationInterface *creationInterface)
void addRay(DL_CreationInterface *creationInterface)
void writeAppDictionary(DL_WriterA &dw)
void writeBlock(DL_WriterA &dw, const DL_BlockData &data)
void writeAppid(DL_WriterA &dw, const std::string &name)
void addImageDef(DL_CreationInterface *creationInterface)
DL_DimensionData getDimData()
void addDimDiametric(DL_CreationInterface *creationInterface)
void addDimRadial(DL_CreationInterface *creationInterface)
void writeControlPoint(DL_WriterA &dw, const DL_ControlPointData &data)
void writeLeader(DL_WriterA &dw, const DL_LeaderData &data, const DL_Attributes &attrib)
void writeHatchLoop1(DL_WriterA &dw, const DL_HatchLoopData &data)
unsigned long writeDictionaryEntry(DL_WriterA &dw, const std::string &name)
void addLayer(DL_CreationInterface *creationInterface)
void addDimAngular(DL_CreationInterface *creationInterface)
void writeUcs(DL_WriterA &dw)
int toInt16(const std::string &str)
Definition dl_dxf.h:432
void endEntity(DL_CreationInterface *creationInterface)
void addImage(DL_CreationInterface *creationInterface)
void writeXRecord(DL_WriterA &dw, int handle, int value)
void writeXRecord(DL_WriterA &dw, int handle, bool value)
void addCircle(DL_CreationInterface *creationInterface)
bool hasValue(int code)
Definition dl_dxf.h:409
bool handleLeaderData(DL_CreationInterface *creationInterface)
int getIntValue(int code, int def)
Definition dl_dxf.h:413
void addPoint(DL_CreationInterface *creationInterface)
double getRealValue(int code, double def)
Definition dl_dxf.h:449
void writeDimLinear(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimLinearData &edata, const DL_Attributes &attrib)
static bool getStrippedLine(std::string &s, unsigned int size, FILE *stream, bool stripSpace=true)
void writeEllipse(DL_WriterA &dw, const DL_EllipseData &data, const DL_Attributes &attrib)
void writeHatch2(DL_WriterA &dw, const DL_HatchData &data, const DL_Attributes &attrib)
void writeLinetype(DL_WriterA &dw, const DL_LinetypeData &data)
void writeHatch1(DL_WriterA &dw, const DL_HatchData &data, const DL_Attributes &attrib)
void writeLine(DL_WriterA &dw, const DL_LineData &data, const DL_Attributes &attrib)
int getLibVersion(const std::string &str)
void writeDimStyleOverrides(DL_WriterA &dw, const DL_DimensionData &data)
bool processDXFGroup(DL_CreationInterface *creationInterface, int groupCode, const std::string &groupValue)
void addDimAngular3P(DL_CreationInterface *creationInterface)
void writeDimAngular3P(DL_WriterA &dw, const DL_DimensionData &data, const DL_DimAngular3PData &edata, const DL_Attributes &attrib)
bool in(std::istream &stream, DL_CreationInterface *creationInterface)
void addText(DL_CreationInterface *creationInterface)
void writePolylineEnd(DL_WriterA &dw)
void addDimLinear(DL_CreationInterface *creationInterface)
void writeInsert(DL_WriterA &dw, const DL_InsertData &data, const DL_Attributes &attrib)
void writeHatchLoop2(DL_WriterA &dw, const DL_HatchLoopData &data)
bool toBool(const std::string &str)
Definition dl_dxf.h:437
bool handleLinetypeData(DL_CreationInterface *creationInterface)
void writeBlockRecord(DL_WriterA &dw)
bool in(const std::string &file, DL_CreationInterface *creationInterface)
bool readDxfGroups(std::istream &stream, DL_CreationInterface *creationInterface)
DL_WriterA * out(const char *file, DL_Codes::version version=DL_Codes::AC1015)
void writeKnot(DL_WriterA &dw, const DL_KnotData &data)
void add3dFace(DL_CreationInterface *creationInterface)
void addInsert(DL_CreationInterface *creationInterface)
void writeMText(DL_WriterA &dw, const DL_MTextData &data, const DL_Attributes &attrib)
void writeComment(DL_WriterA &dw, const std::string &comment)
std::string getStringValue(int code, const std::string &def)
Definition dl_dxf.h:442
void addArcAlignedText(DL_CreationInterface *creationInterface)
void addAttribute(DL_CreationInterface *creationInterface)
Definition dl_writer_ascii.h:49
#define DL_DXF_MAXLINE
Definition dl_codes.h:58
#define DL_VERSION_2000
Definition dl_codes.h:378
DL_TraceData DL_3dFaceData
Definition dl_entities.h:505
DL_TraceData DL_SolidData
Definition dl_entities.h:499
Definition dl_entities.h:315
Definition dl_entities.h:950
Definition dl_entities.h:59
Definition dl_entities.h:352
Definition dl_entities.h:575
Definition dl_entities.h:1102
Definition dl_entities.h:1243
Definition dl_entities.h:1303
Definition dl_entities.h:1214
Definition dl_entities.h:1139
Definition dl_entities.h:1352
Definition dl_entities.h:1185
Definition dl_entities.h:990
Definition dl_entities.h:622
Definition dl_entities.h:602
Definition dl_entities.h:1470
Definition dl_entities.h:1539
Definition dl_entities.h:1517
Definition dl_entities.h:1709
Definition dl_entities.h:669
Definition dl_entities.h:556
Definition dl_entities.h:36
Definition dl_entities.h:1395
Definition dl_entities.h:1446
Definition dl_entities.h:221
Definition dl_entities.h:90
Definition dl_entities.h:719
Definition dl_entities.h:197
Definition dl_entities.h:382
Definition dl_entities.h:284
Definition dl_entities.h:511
Definition dl_entities.h:130
Definition dl_entities.h:800
Definition dl_entities.h:444
Definition dl_entities.h:416
Definition dl_entities.h:255