Merge
--HG-- branch : develop
This commit is contained in:
commit
ad7928248c
|
@ -34,4 +34,20 @@ enum class VarMeasurement : unsigned char { English=0, Metric=1 };
|
|||
//Default drawing units for AutoCAD DesignCenter blocks:
|
||||
enum class VarInsunits : unsigned char { Inches=1, Millimeters=4, Centimeters=5 };
|
||||
|
||||
static inline bool DL_FuzzyComparePossibleNulls(double p1, double p2)
|
||||
{
|
||||
if(qFuzzyIsNull(p1))
|
||||
{
|
||||
return qFuzzyIsNull(p2);
|
||||
}
|
||||
else if(qFuzzyIsNull(p2))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return qFuzzyCompare(p1, p2);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // DXFDEF_H
|
||||
|
|
|
@ -32,9 +32,11 @@
|
|||
|
||||
#include "dl_global.h"
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#if defined(Q_CC_MSVC)
|
||||
#if (_MSC_VER > 1000)
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#endif // Q_CC_MSVC
|
||||
|
||||
#if defined(__OS2__)||defined(__EMX__)
|
||||
#define strcasecmp(s,t) stricmp(s,t)
|
||||
|
|
|
@ -47,9 +47,8 @@
|
|||
class DXFLIB_EXPORT DL_CreationInterface
|
||||
{
|
||||
public:
|
||||
DL_CreationInterface()
|
||||
DL_CreationInterface() : extrusion(new DL_Extrusion), attributes()
|
||||
{
|
||||
extrusion = new DL_Extrusion;
|
||||
}
|
||||
virtual ~DL_CreationInterface()
|
||||
{
|
||||
|
@ -365,9 +364,12 @@ public:
|
|||
return extrusion;
|
||||
}
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(DL_CreationInterface);
|
||||
|
||||
protected:
|
||||
DL_Attributes attributes;
|
||||
DL_Extrusion *extrusion;
|
||||
DL_Attributes attributes;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -41,31 +41,36 @@
|
|||
* Default constructor.
|
||||
*/
|
||||
DL_Dxf::DL_Dxf()
|
||||
: version(DL_VERSION_2000),
|
||||
polylineLayer(),
|
||||
vertices(nullptr),
|
||||
maxVertices(0),
|
||||
vertexIndex(0),
|
||||
|
||||
knots(nullptr),
|
||||
maxKnots(0),
|
||||
knotIndex(0),
|
||||
|
||||
weights(nullptr),
|
||||
weightIndex(0),
|
||||
|
||||
controlPoints(nullptr),
|
||||
maxControlPoints(0),
|
||||
controlPointIndex(0),
|
||||
|
||||
fitPoints(nullptr),
|
||||
maxFitPoints(0),
|
||||
fitPointIndex(0),
|
||||
|
||||
leaderVertices(nullptr),
|
||||
maxLeaderVertices(0),
|
||||
leaderVertexIndex(0),
|
||||
|
||||
firstHatchLoop(), hatchEdge(), hatchEdges(),
|
||||
xRecordHandle(), xRecordValues(), groupCodeTmp(), groupCode(), groupValue(),
|
||||
currentObjectType(), settingKey(), values(), firstCall(), attrib(),
|
||||
libVersion(), appDictionaryHandle(), styleHandleStd()
|
||||
{
|
||||
version = DL_VERSION_2000;
|
||||
|
||||
vertices = NULL;
|
||||
maxVertices = 0;
|
||||
vertexIndex = 0;
|
||||
|
||||
knots = NULL;
|
||||
maxKnots = 0;
|
||||
knotIndex = 0;
|
||||
|
||||
weights = NULL;
|
||||
weightIndex = 0;
|
||||
|
||||
controlPoints = NULL;
|
||||
maxControlPoints = 0;
|
||||
controlPointIndex = 0;
|
||||
|
||||
fitPoints = NULL;
|
||||
maxFitPoints = 0;
|
||||
fitPointIndex = 0;
|
||||
|
||||
leaderVertices = NULL;
|
||||
maxLeaderVertices = 0;
|
||||
leaderVertexIndex = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -75,27 +80,27 @@ DL_Dxf::DL_Dxf()
|
|||
*/
|
||||
DL_Dxf::~DL_Dxf()
|
||||
{
|
||||
if (vertices!=NULL)
|
||||
if (vertices!=nullptr)
|
||||
{
|
||||
delete[] vertices;
|
||||
}
|
||||
if (knots!=NULL)
|
||||
if (knots!=nullptr)
|
||||
{
|
||||
delete[] knots;
|
||||
}
|
||||
if (controlPoints!=NULL)
|
||||
if (controlPoints!=nullptr)
|
||||
{
|
||||
delete[] controlPoints;
|
||||
}
|
||||
if (fitPoints!=NULL)
|
||||
if (fitPoints!=nullptr)
|
||||
{
|
||||
delete[] fitPoints;
|
||||
}
|
||||
if (weights!=NULL)
|
||||
if (weights!=nullptr)
|
||||
{
|
||||
delete[] weights;
|
||||
}
|
||||
if (leaderVertices!=NULL)
|
||||
if (leaderVertices!=nullptr)
|
||||
{
|
||||
delete[] leaderVertices;
|
||||
}
|
||||
|
@ -192,7 +197,7 @@ bool DL_Dxf::readDxfGroups(FILE *fp, DL_CreationInterface* creationInterface)
|
|||
DL_Dxf::getStrippedLine(groupValue, DL_DXF_MAXLINE, fp) )
|
||||
{
|
||||
|
||||
groupCode = (unsigned int)toInt(groupCodeTmp);
|
||||
groupCode = static_cast<unsigned int>(toInt(groupCodeTmp));
|
||||
|
||||
creationInterface->processCodeValuePair(groupCode, groupValue);
|
||||
line+=2;
|
||||
|
@ -218,7 +223,7 @@ bool DL_Dxf::readDxfGroups(std::stringstream& stream,
|
|||
DL_Dxf::getStrippedLine(groupValue, DL_DXF_MAXLINE, stream) )
|
||||
{
|
||||
|
||||
groupCode = (unsigned int)toInt(groupCodeTmp);
|
||||
groupCode = static_cast<unsigned int>(toInt(groupCodeTmp));
|
||||
|
||||
line+=2;
|
||||
processDXFGroup(creationInterface, groupCode, groupValue);
|
||||
|
@ -322,7 +327,7 @@ bool DL_Dxf::getStrippedLine(std::string &s, unsigned int size,
|
|||
bool DL_Dxf::stripWhiteSpace(char** s)
|
||||
{
|
||||
// last non-NULL char:
|
||||
int lastChar = strlen(*s) - 1;
|
||||
int lastChar = static_cast<int>(strlen(*s) - 1);
|
||||
|
||||
// Is last character CR or LF?
|
||||
while ( (lastChar >= 0) &&
|
||||
|
@ -423,7 +428,7 @@ bool DL_Dxf::processDXFGroup(DL_CreationInterface* creationInterface,
|
|||
width, // width
|
||||
linetype, // linetype
|
||||
handle); // handle
|
||||
attrib.setInPaperSpace((bool)getIntValue(67, 0));
|
||||
attrib.setInPaperSpace(static_cast<bool>(getIntValue(67, 0)));
|
||||
attrib.setLinetypeScale(getRealValue(48, 1.0));
|
||||
creationInterface->setAttributes(attrib);
|
||||
|
||||
|
@ -1612,7 +1617,7 @@ bool DL_Dxf::handleLWPolylineData(DL_CreationInterface* /*creationInterface*/)
|
|||
maxVertices = toInt(groupValue);
|
||||
if (maxVertices>0)
|
||||
{
|
||||
if (vertices!=NULL)
|
||||
if (vertices!=nullptr)
|
||||
{
|
||||
delete[] vertices;
|
||||
}
|
||||
|
@ -1668,7 +1673,7 @@ bool DL_Dxf::handleSplineData(DL_CreationInterface* /*creationInterface*/)
|
|||
maxKnots = toInt(groupValue);
|
||||
if (maxKnots>0)
|
||||
{
|
||||
if (knots!=NULL)
|
||||
if (knots!=nullptr)
|
||||
{
|
||||
delete[] knots;
|
||||
}
|
||||
|
@ -1688,11 +1693,11 @@ bool DL_Dxf::handleSplineData(DL_CreationInterface* /*creationInterface*/)
|
|||
maxControlPoints = toInt(groupValue);
|
||||
if (maxControlPoints>0)
|
||||
{
|
||||
if (controlPoints!=NULL)
|
||||
if (controlPoints!=nullptr)
|
||||
{
|
||||
delete[] controlPoints;
|
||||
}
|
||||
if (weights!=NULL)
|
||||
if (weights!=nullptr)
|
||||
{
|
||||
delete[] weights;
|
||||
}
|
||||
|
@ -1717,7 +1722,7 @@ bool DL_Dxf::handleSplineData(DL_CreationInterface* /*creationInterface*/)
|
|||
maxFitPoints = toInt(groupValue);
|
||||
if (maxFitPoints>0)
|
||||
{
|
||||
if (fitPoints!=NULL)
|
||||
if (fitPoints!=nullptr)
|
||||
{
|
||||
delete[] fitPoints;
|
||||
}
|
||||
|
@ -1807,7 +1812,7 @@ bool DL_Dxf::handleLeaderData(DL_CreationInterface* /*creationInterface*/)
|
|||
maxLeaderVertices = toInt(groupValue);
|
||||
if (maxLeaderVertices>0)
|
||||
{
|
||||
if (leaderVertices!=NULL)
|
||||
if (leaderVertices!=nullptr)
|
||||
{
|
||||
delete[] leaderVertices;
|
||||
}
|
||||
|
@ -2176,7 +2181,7 @@ void DL_Dxf::addHatch(DL_CreationInterface* creationInterface)
|
|||
|
||||
for (unsigned int i=0; i<hatchEdges.size(); i++)
|
||||
{
|
||||
creationInterface->addHatchLoop(DL_HatchLoopData(hatchEdges[i].size()));
|
||||
creationInterface->addHatchLoop(DL_HatchLoopData(static_cast<unsigned int>(hatchEdges[i].size())));
|
||||
for (unsigned int k=0; k<hatchEdges[i].size(); k++)
|
||||
{
|
||||
creationInterface->addHatchEdge(DL_HatchEdgeData(hatchEdges[i][k]));
|
||||
|
@ -2273,6 +2278,8 @@ bool DL_Dxf::handleHatchData(DL_CreationInterface* creationInterface)
|
|||
hatchEdge.defined = true;
|
||||
}
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -2295,6 +2302,8 @@ bool DL_Dxf::handleHatchData(DL_CreationInterface* creationInterface)
|
|||
hatchEdge.y2 = toReal(groupValue);
|
||||
hatchEdge.defined = true;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2319,9 +2328,11 @@ bool DL_Dxf::handleHatchData(DL_CreationInterface* creationInterface)
|
|||
hatchEdge.angle2 = toReal(groupValue)/360.0*2*M_PI;
|
||||
return true;
|
||||
case 73:
|
||||
hatchEdge.ccw = (bool)toInt(groupValue);
|
||||
hatchEdge.ccw = static_cast<bool>(toInt(groupValue));
|
||||
hatchEdge.defined = true;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2352,9 +2363,11 @@ bool DL_Dxf::handleHatchData(DL_CreationInterface* creationInterface)
|
|||
hatchEdge.angle2 = toReal(groupValue)/360.0*2*M_PI;
|
||||
return true;
|
||||
case 73:
|
||||
hatchEdge.ccw = (bool)toInt(groupValue);
|
||||
hatchEdge.ccw = static_cast<bool>(toInt(groupValue));
|
||||
hatchEdge.defined = true;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2435,6 +2448,8 @@ bool DL_Dxf::handleHatchData(DL_CreationInterface* creationInterface)
|
|||
case 23:
|
||||
hatchEdge.endTangentY = toReal(groupValue);
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2598,6 +2613,8 @@ void DL_Dxf::writeHeader(DL_WriterA& dw)
|
|||
case DL_Codes::AC1015:
|
||||
dw.dxfString(1, "AC1015");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// Newer version require that (otherwise a*cad crashes..)
|
||||
|
@ -2727,7 +2744,7 @@ void DL_Dxf::writePolyline(DL_WriterA& dw,
|
|||
dw.entityAttributes(attrib);
|
||||
dw.dxfString(100, "AcDbEntity");
|
||||
dw.dxfString(100, "AcDbPolyline");
|
||||
dw.dxfInt(90, (int)data.number);
|
||||
dw.dxfInt(90, static_cast<int>(data.number));
|
||||
dw.dxfInt(70, data.flags);
|
||||
}
|
||||
else
|
||||
|
@ -3072,13 +3089,13 @@ void DL_Dxf::writeInsert(DL_WriterA& dw,
|
|||
dw.dxfReal(10, data.ipx);
|
||||
dw.dxfReal(20, data.ipy);
|
||||
dw.dxfReal(30, data.ipz);
|
||||
if (data.sx!=1.0 || data.sy!=1.0)
|
||||
if (!DL_FuzzyComparePossibleNulls(data.sx, 1.0) || !DL_FuzzyComparePossibleNulls(data.sy, 1.0))
|
||||
{
|
||||
dw.dxfReal(41, data.sx);
|
||||
dw.dxfReal(42, data.sy);
|
||||
dw.dxfReal(43, 1.0);
|
||||
}
|
||||
if (data.angle!=0.0)
|
||||
if (!DL_FuzzyComparePossibleNulls(data.angle, 0.0))
|
||||
{
|
||||
dw.dxfReal(50, data.angle);
|
||||
}
|
||||
|
@ -3087,7 +3104,7 @@ void DL_Dxf::writeInsert(DL_WriterA& dw,
|
|||
dw.dxfInt(70, data.cols);
|
||||
dw.dxfInt(71, data.rows);
|
||||
}
|
||||
if (data.colSp!=0.0 || data.rowSp!=0.0)
|
||||
if (!DL_FuzzyComparePossibleNulls(data.colSp, 0.0) || !DL_FuzzyComparePossibleNulls(data.rowSp, 0.0))
|
||||
{
|
||||
dw.dxfReal(44, data.colSp);
|
||||
dw.dxfReal(45, data.rowSp);
|
||||
|
@ -3126,7 +3143,7 @@ void DL_Dxf::writeMText(DL_WriterA& dw,
|
|||
dw.dxfInt(72, data.drawingDirection);
|
||||
|
||||
// Creare text chunks of 250 characters each:
|
||||
int length = data.text.length();
|
||||
int length = static_cast<int>(data.text.length());
|
||||
char chunk[251];
|
||||
int i;
|
||||
for (i=250; i<length; i+=250)
|
||||
|
@ -3240,7 +3257,7 @@ void DL_Dxf::writeDimStyleOverrides(DL_WriterA& dw,
|
|||
dw.dxfString(1000, "DSTYLE");
|
||||
dw.dxfString(1002, "{");
|
||||
dw.dxfInt(1070, 144);
|
||||
dw.dxfInt(1040, data.linearFactor);
|
||||
dw.dxfInt(1040, static_cast<int>(data.linearFactor));
|
||||
dw.dxfString(1002, "}");
|
||||
}
|
||||
}
|
||||
|
@ -3810,7 +3827,7 @@ void DL_Dxf::writeHatch1(DL_WriterA& dw,
|
|||
{
|
||||
dw.dxfString(2, "SOLID");
|
||||
}
|
||||
dw.dxfInt(70, (int)data.solid);
|
||||
dw.dxfInt(70, static_cast<int>(data.solid));
|
||||
dw.dxfInt(71, 0); // non-associative
|
||||
dw.dxfInt(91, data.numLoops);
|
||||
}
|
||||
|
@ -3927,7 +3944,7 @@ void DL_Dxf::writeHatchEdge(DL_WriterA& dw,
|
|||
dw.dxfReal(40, data.radius);
|
||||
dw.dxfReal(50, data.angle1/(2*M_PI)*360.0);
|
||||
dw.dxfReal(51, data.angle2/(2*M_PI)*360.0);
|
||||
dw.dxfInt(73, (int)(data.ccw));
|
||||
dw.dxfInt(73, static_cast<int>((data.ccw)));
|
||||
break;
|
||||
|
||||
// ellipse arc:
|
||||
|
@ -3939,7 +3956,7 @@ void DL_Dxf::writeHatchEdge(DL_WriterA& dw,
|
|||
dw.dxfReal(40, data.ratio);
|
||||
dw.dxfReal(50, data.angle1/(2*M_PI)*360.0);
|
||||
dw.dxfReal(51, data.angle2/(2*M_PI)*360.0);
|
||||
dw.dxfInt(73, (int)(data.ccw));
|
||||
dw.dxfInt(73, static_cast<int>((data.ccw)));
|
||||
break;
|
||||
|
||||
// spline:
|
||||
|
@ -4035,7 +4052,7 @@ int DL_Dxf::writeImage(DL_WriterA& dw,
|
|||
dw.dxfReal(23, data.height);
|
||||
|
||||
// handle of IMAGEDEF object
|
||||
int handle = dw.incHandle();
|
||||
int handle = static_cast<int>(dw.incHandle());
|
||||
dw.dxfHex(340, handle);
|
||||
|
||||
// flags
|
||||
|
@ -4670,7 +4687,7 @@ void DL_Dxf::writeDimStyle(DL_WriterA& dw,
|
|||
dw.dxfInt(278, 44);
|
||||
dw.dxfInt(283, 0);
|
||||
dw.dxfInt(284, 8);
|
||||
dw.dxfHex(340, styleHandleStd);
|
||||
dw.dxfHex(340, static_cast<int>(styleHandleStd));
|
||||
//dw.dxfHex(340, 0x11);
|
||||
}
|
||||
// * /
|
||||
|
@ -4801,7 +4818,7 @@ void DL_Dxf::writeObjects(DL_WriterA& dw, const std::string& appDictionaryName)
|
|||
dw.dxfString( 3, "ACAD_PLOTSTYLENAME");
|
||||
dw.dxfHex(350, 0xE);
|
||||
dw.dxfString( 3, "AcDbVariableDictionary");
|
||||
int acDbVariableDictionaryHandle = dw.handle(350);
|
||||
int acDbVariableDictionaryHandle = static_cast<int>(dw.handle(350));
|
||||
//int acDbVariableDictionaryHandle = dw.getNextHandle();
|
||||
//dw.dxfHex(350, acDbVariableDictionaryHandle);
|
||||
//dw.incHandle();
|
||||
|
@ -5103,10 +5120,10 @@ void DL_Dxf::writeObjects(DL_WriterA& dw, const std::string& appDictionaryName)
|
|||
dw.dxfInt(281, 1);
|
||||
dw.dxfString( 3, "DIMASSOC");
|
||||
//dw.dxfHex(350, 0x2F);
|
||||
dw.dxfHex(350, dw.getNextHandle()+1); // 2E
|
||||
dw.dxfHex(350, static_cast<int>(dw.getNextHandle()+1)); // 2E
|
||||
dw.dxfString( 3, "HIDETEXT");
|
||||
//dw.dxfHex(350, 0x2E);
|
||||
dw.dxfHex(350, dw.getNextHandle()); // 2D
|
||||
dw.dxfHex(350, static_cast<int>(dw.getNextHandle())); // 2D
|
||||
|
||||
|
||||
dw.dxfString( 0, "DICTIONARYVAR");
|
||||
|
@ -5131,7 +5148,7 @@ void DL_Dxf::writeAppDictionary(DL_WriterA& dw)
|
|||
{
|
||||
dw.dxfString( 0, "DICTIONARY");
|
||||
//dw.handle();
|
||||
dw.dxfHex(5, appDictionaryHandle);
|
||||
dw.dxfHex(5, static_cast<int>(appDictionaryHandle));
|
||||
dw.dxfString(100, "AcDbDictionary");
|
||||
dw.dxfInt(281, 1);
|
||||
}
|
||||
|
@ -5139,7 +5156,7 @@ void DL_Dxf::writeAppDictionary(DL_WriterA& dw)
|
|||
int DL_Dxf::writeDictionaryEntry(DL_WriterA& dw, const std::string& name)
|
||||
{
|
||||
dw.dxfString( 3, name);
|
||||
int handle = dw.getNextHandle();
|
||||
int handle = static_cast<int>(dw.getNextHandle());
|
||||
dw.dxfHex(350, handle);
|
||||
dw.incHandle();
|
||||
return handle;
|
||||
|
@ -5149,7 +5166,7 @@ void DL_Dxf::writeXRecord(DL_WriterA& dw, int handle, int value)
|
|||
{
|
||||
dw.dxfString( 0, "XRECORD");
|
||||
dw.dxfHex(5, handle);
|
||||
dw.dxfHex(330, appDictionaryHandle);
|
||||
dw.dxfHex(330, static_cast<int>(appDictionaryHandle));
|
||||
dw.dxfString(100, "AcDbXrecord");
|
||||
dw.dxfInt(280, 1);
|
||||
dw.dxfInt(90, value);
|
||||
|
@ -5159,7 +5176,7 @@ void DL_Dxf::writeXRecord(DL_WriterA& dw, int handle, double value)
|
|||
{
|
||||
dw.dxfString( 0, "XRECORD");
|
||||
dw.dxfHex(5, handle);
|
||||
dw.dxfHex(330, appDictionaryHandle);
|
||||
dw.dxfHex(330, static_cast<int>(appDictionaryHandle));
|
||||
dw.dxfString(100, "AcDbXrecord");
|
||||
dw.dxfInt(280, 1);
|
||||
dw.dxfReal(40, value);
|
||||
|
@ -5169,7 +5186,7 @@ void DL_Dxf::writeXRecord(DL_WriterA& dw, int handle, bool value)
|
|||
{
|
||||
dw.dxfString( 0, "XRECORD");
|
||||
dw.dxfHex(5, handle);
|
||||
dw.dxfHex(330, appDictionaryHandle);
|
||||
dw.dxfHex(330, static_cast<int>(appDictionaryHandle));
|
||||
dw.dxfString(100, "AcDbXrecord");
|
||||
dw.dxfInt(280, 1);
|
||||
dw.dxfBool(290, value);
|
||||
|
@ -5179,7 +5196,7 @@ void DL_Dxf::writeXRecord(DL_WriterA& dw, int handle, const std::string& value)
|
|||
{
|
||||
dw.dxfString( 0, "XRECORD");
|
||||
dw.dxfHex(5, handle);
|
||||
dw.dxfHex(330, appDictionaryHandle);
|
||||
dw.dxfHex(330, static_cast<int>(appDictionaryHandle));
|
||||
dw.dxfString(100, "AcDbXrecord");
|
||||
dw.dxfInt(280, 1);
|
||||
dw.dxfString(1000, value);
|
||||
|
@ -5813,7 +5830,7 @@ int DL_Dxf::getLibVersion(const std::string& str)
|
|||
|
||||
if (idx>=2)
|
||||
{
|
||||
d[3] = str.length();
|
||||
d[3] = static_cast<int>(str.length());
|
||||
|
||||
v[0] = str.substr(0, d[0]);
|
||||
v[1] = str.substr(d[0]+1, d[1]-d[0]-1);
|
||||
|
|
|
@ -416,13 +416,13 @@ public:
|
|||
int toInt(const std::string& str)
|
||||
{
|
||||
char* p;
|
||||
return strtol(str.c_str(), &p, 10);
|
||||
return static_cast<int>(strtol(str.c_str(), &p, 10));
|
||||
}
|
||||
|
||||
bool toBool(const std::string& str)
|
||||
{
|
||||
char* p;
|
||||
return (bool)strtol(str.c_str(), &p, 10);
|
||||
return static_cast<bool>(strtol(str.c_str(), &p, 10));
|
||||
}
|
||||
|
||||
std::string getStringValue(int code, const std::string& def)
|
||||
|
@ -457,6 +457,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(DL_Dxf);
|
||||
DL_Codes::version version;
|
||||
|
||||
std::string polylineLayer;
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#define DL_ENTITIES_H
|
||||
|
||||
#include "dl_global.h"
|
||||
#include "dxfdef.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -39,11 +40,9 @@ struct DXFLIB_EXPORT DL_LayerData
|
|||
* Constructor.
|
||||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_LayerData(const std::string& lName,
|
||||
int lFlags)
|
||||
DL_LayerData(const std::string& lName, int lFlags)
|
||||
: name(lName), flags(lFlags)
|
||||
{
|
||||
name = lName;
|
||||
flags = lFlags;
|
||||
}
|
||||
|
||||
/** Layer name. */
|
||||
|
@ -63,15 +62,10 @@ struct DXFLIB_EXPORT DL_BlockData
|
|||
* Constructor.
|
||||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_BlockData(const std::string& bName,
|
||||
int bFlags,
|
||||
DL_BlockData(const std::string& bName, int bFlags,
|
||||
double bbpx, double bbpy, double bbpz)
|
||||
: name(bName), flags(bFlags), bpx(bbpx), bpy(bbpy), bpz(bbpz)
|
||||
{
|
||||
name = bName;
|
||||
flags = bFlags;
|
||||
bpx = bbpx;
|
||||
bpy = bbpy;
|
||||
bpz = bbpz;
|
||||
}
|
||||
|
||||
/** Block name. */
|
||||
|
@ -102,7 +96,7 @@ struct DXFLIB_EXPORT DL_LinetypeData
|
|||
int flags,
|
||||
int numberOfDashes,
|
||||
double patternLength,
|
||||
double* pattern = NULL
|
||||
double* pattern = nullptr
|
||||
)
|
||||
: name(name),
|
||||
description(description),
|
||||
|
@ -110,7 +104,12 @@ struct DXFLIB_EXPORT DL_LinetypeData
|
|||
numberOfDashes(numberOfDashes),
|
||||
patternLength(patternLength),
|
||||
pattern(pattern)
|
||||
{}
|
||||
{
|
||||
}
|
||||
|
||||
~DL_LinetypeData()
|
||||
{
|
||||
}
|
||||
|
||||
/** Linetype name */
|
||||
std::string name;
|
||||
|
@ -124,6 +123,9 @@ struct DXFLIB_EXPORT DL_LinetypeData
|
|||
double patternLength;
|
||||
/** Pattern */
|
||||
double* pattern;
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(DL_LinetypeData);
|
||||
};
|
||||
|
||||
|
||||
|
@ -167,9 +169,9 @@ struct DXFLIB_EXPORT DL_StyleData
|
|||
// ignore lastHeightUsed:
|
||||
return (name==other.name &&
|
||||
flags==other.flags &&
|
||||
fixedTextHeight==other.fixedTextHeight &&
|
||||
widthFactor==other.widthFactor &&
|
||||
obliqueAngle==other.obliqueAngle &&
|
||||
DL_FuzzyComparePossibleNulls(fixedTextHeight, other.fixedTextHeight) &&
|
||||
DL_FuzzyComparePossibleNulls(widthFactor, other.widthFactor) &&
|
||||
DL_FuzzyComparePossibleNulls(obliqueAngle, other.obliqueAngle) &&
|
||||
textGenerationFlags==other.textGenerationFlags &&
|
||||
primaryFontFile==other.primaryFontFile &&
|
||||
bigFontFile==other.bigFontFile);
|
||||
|
@ -208,10 +210,8 @@ struct DXFLIB_EXPORT DL_PointData
|
|||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_PointData(double px=0.0, double py=0.0, double pz=0.0)
|
||||
: x(px), y(py), z(pz)
|
||||
{
|
||||
x = px;
|
||||
y = py;
|
||||
z = pz;
|
||||
}
|
||||
|
||||
/*! X Coordinate of the point. */
|
||||
|
@ -235,14 +235,8 @@ struct DXFLIB_EXPORT DL_LineData
|
|||
*/
|
||||
DL_LineData(double lx1, double ly1, double lz1,
|
||||
double lx2, double ly2, double lz2)
|
||||
: x1(lx1), y1(ly1), z1(lz1), x2(lx2), y2(ly2), z2(lz2)
|
||||
{
|
||||
x1 = lx1;
|
||||
y1 = ly1;
|
||||
z1 = lz1;
|
||||
|
||||
x2 = lx2;
|
||||
y2 = ly2;
|
||||
z2 = lz2;
|
||||
}
|
||||
|
||||
/*! X Start coordinate of the point. */
|
||||
|
@ -336,14 +330,8 @@ struct DXFLIB_EXPORT DL_ArcData
|
|||
DL_ArcData(double acx, double acy, double acz,
|
||||
double aRadius,
|
||||
double aAngle1, double aAngle2)
|
||||
: cx(acx), cy(acy), cz(acz), radius(aRadius), angle1(aAngle1), angle2(aAngle2)
|
||||
{
|
||||
|
||||
cx = acx;
|
||||
cy = acy;
|
||||
cz = acz;
|
||||
radius = aRadius;
|
||||
angle1 = aAngle1;
|
||||
angle2 = aAngle2;
|
||||
}
|
||||
|
||||
/*! X Coordinate of center point. */
|
||||
|
@ -374,12 +362,8 @@ struct DXFLIB_EXPORT DL_CircleData
|
|||
*/
|
||||
DL_CircleData(double acx, double acy, double acz,
|
||||
double aRadius)
|
||||
: cx(acx), cy(acy), cz(acz), radius(aRadius)
|
||||
{
|
||||
|
||||
cx = acx;
|
||||
cy = acy;
|
||||
cz = acz;
|
||||
radius = aRadius;
|
||||
}
|
||||
|
||||
/*! X Coordinate of center point. */
|
||||
|
@ -405,11 +389,8 @@ struct DXFLIB_EXPORT DL_PolylineData
|
|||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_PolylineData(int pNumber, int pMVerteces, int pNVerteces, int pFlags)
|
||||
: number(pNumber), m(pMVerteces), n(pNVerteces), flags(pFlags)
|
||||
{
|
||||
number = pNumber;
|
||||
m = pMVerteces;
|
||||
n = pNVerteces;
|
||||
flags = pFlags;
|
||||
}
|
||||
|
||||
/*! Number of vertices in this polyline. */
|
||||
|
@ -438,11 +419,8 @@ struct DXFLIB_EXPORT DL_VertexData
|
|||
*/
|
||||
DL_VertexData(double px=0.0, double py=0.0, double pz=0.0,
|
||||
double pBulge=0.0)
|
||||
: x(px), y(py), z(pz), bulge(pBulge)
|
||||
{
|
||||
x = px;
|
||||
y = py;
|
||||
z = pz;
|
||||
bulge = pBulge;
|
||||
}
|
||||
|
||||
/*! X Coordinate of the vertex. */
|
||||
|
@ -463,8 +441,8 @@ struct DXFLIB_EXPORT DL_VertexData
|
|||
struct DXFLIB_EXPORT DL_TraceData
|
||||
{
|
||||
DL_TraceData()
|
||||
: thickness(0.0)
|
||||
{
|
||||
thickness = 0.0;
|
||||
for (int i=0; i<4; i++)
|
||||
{
|
||||
x[i] = 0.0;
|
||||
|
@ -482,10 +460,8 @@ struct DXFLIB_EXPORT DL_TraceData
|
|||
double sx3, double sy3, double sz3,
|
||||
double sx4, double sy4, double sz4,
|
||||
double sthickness=0.0)
|
||||
: thickness(sthickness)
|
||||
{
|
||||
|
||||
thickness = sthickness;
|
||||
|
||||
x[0] = sx1;
|
||||
y[0] = sy1;
|
||||
z[0] = sz1;
|
||||
|
@ -546,7 +522,13 @@ struct DXFLIB_EXPORT DL_SplineData
|
|||
nKnots(nKnots),
|
||||
nControl(nControl),
|
||||
nFit(nFit),
|
||||
flags(flags)
|
||||
flags(flags),
|
||||
tangentStartX(0.0),
|
||||
tangentStartY(0.0),
|
||||
tangentStartZ(0.0),
|
||||
tangentEndX(0.0),
|
||||
tangentEndY(0.0),
|
||||
tangentEndZ(0.0)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -580,14 +562,14 @@ struct DXFLIB_EXPORT DL_SplineData
|
|||
*/
|
||||
struct DXFLIB_EXPORT DL_KnotData
|
||||
{
|
||||
DL_KnotData() {}
|
||||
DL_KnotData() : k(0.0) {}
|
||||
/**
|
||||
* Constructor.
|
||||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_KnotData(double pk)
|
||||
: k(pk)
|
||||
{
|
||||
k = pk;
|
||||
}
|
||||
|
||||
/*! Knot value. */
|
||||
|
@ -606,11 +588,8 @@ struct DXFLIB_EXPORT DL_ControlPointData
|
|||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_ControlPointData(double px, double py, double pz, double weight)
|
||||
: x(px), y(py), z(pz), w(weight)
|
||||
{
|
||||
x = px;
|
||||
y = py;
|
||||
z = pz;
|
||||
w = weight;
|
||||
}
|
||||
|
||||
/*! X coordinate of the control point. */
|
||||
|
@ -911,7 +890,6 @@ struct DXFLIB_EXPORT DL_AttributeData : public DL_TextData
|
|||
DL_AttributeData(const DL_TextData& tData, const std::string& tag)
|
||||
: DL_TextData(tData), tag(tag)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1063,15 +1041,9 @@ struct DXFLIB_EXPORT DL_DimAlignedData
|
|||
*/
|
||||
DL_DimAlignedData(double depx1, double depy1, double depz1,
|
||||
double depx2, double depy2, double depz2)
|
||||
: epx1(depx1), epy1(depy1), epz1(depz1),
|
||||
epx2(depx2), epy2(depy2), epz2(depz2)
|
||||
{
|
||||
|
||||
epx1 = depx1;
|
||||
epy1 = depy1;
|
||||
epz1 = depz1;
|
||||
|
||||
epx2 = depx2;
|
||||
epy2 = depy2;
|
||||
epz2 = depz2;
|
||||
}
|
||||
|
||||
/*! X Coordinate of Extension point 1. */
|
||||
|
@ -1103,18 +1075,10 @@ struct DXFLIB_EXPORT DL_DimLinearData
|
|||
DL_DimLinearData(double ddpx1, double ddpy1, double ddpz1,
|
||||
double ddpx2, double ddpy2, double ddpz2,
|
||||
double dAngle, double dOblique)
|
||||
: dpx1(ddpx1), dpy1(ddpy1), dpz1(ddpz1),
|
||||
dpx2(ddpx2), dpy2(ddpy2), dpz2(ddpz2),
|
||||
angle(dAngle), oblique(dOblique)
|
||||
{
|
||||
|
||||
dpx1 = ddpx1;
|
||||
dpy1 = ddpy1;
|
||||
dpz1 = ddpz1;
|
||||
|
||||
dpx2 = ddpx2;
|
||||
dpy2 = ddpy2;
|
||||
dpz2 = ddpz2;
|
||||
|
||||
angle = dAngle;
|
||||
oblique = dOblique;
|
||||
}
|
||||
|
||||
/*! X Coordinate of Extension point 1. */
|
||||
|
@ -1149,12 +1113,8 @@ struct DXFLIB_EXPORT DL_DimRadialData
|
|||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader)
|
||||
: dpx(ddpx), dpy(ddpy), dpz(ddpz), leader(dleader)
|
||||
{
|
||||
dpx = ddpx;
|
||||
dpy = ddpy;
|
||||
dpz = ddpz;
|
||||
|
||||
leader = dleader;
|
||||
}
|
||||
|
||||
/*! X Coordinate of definition point. */
|
||||
|
@ -1180,12 +1140,8 @@ struct DXFLIB_EXPORT DL_DimDiametricData
|
|||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader)
|
||||
: dpx(ddpx), dpy(ddpy), dpz(ddpz), leader(dleader)
|
||||
{
|
||||
dpx = ddpx;
|
||||
dpy = ddpy;
|
||||
dpz = ddpz;
|
||||
|
||||
leader = dleader;
|
||||
}
|
||||
|
||||
/*! X Coordinate of definition point (DXF 15). */
|
||||
|
@ -1214,24 +1170,12 @@ struct DXFLIB_EXPORT DL_DimAngularData
|
|||
double ddpx2, double ddpy2, double ddpz2,
|
||||
double ddpx3, double ddpy3, double ddpz3,
|
||||
double ddpx4, double ddpy4, double ddpz4)
|
||||
{
|
||||
|
||||
dpx1 = ddpx1;
|
||||
dpy1 = ddpy1;
|
||||
dpz1 = ddpz1;
|
||||
|
||||
dpx2 = ddpx2;
|
||||
dpy2 = ddpy2;
|
||||
dpz2 = ddpz2;
|
||||
|
||||
dpx3 = ddpx3;
|
||||
dpy3 = ddpy3;
|
||||
dpz3 = ddpz3;
|
||||
|
||||
dpx4 = ddpx4;
|
||||
dpy4 = ddpy4;
|
||||
dpz4 = ddpz4;
|
||||
}
|
||||
: dpx1(ddpx1), dpy1(ddpy1), dpz1(ddpz1),
|
||||
dpx2(ddpx2), dpy2(ddpy2), dpz2(ddpz2),
|
||||
dpx3(ddpx3), dpy3(ddpy3), dpz3(ddpz3),
|
||||
dpx4(ddpx4), dpy4(ddpy4), dpz4(ddpz4)
|
||||
{
|
||||
}
|
||||
|
||||
/*! X Coordinate of definition point 1. */
|
||||
double dpx1;
|
||||
|
@ -1275,20 +1219,11 @@ struct DXFLIB_EXPORT DL_DimAngular3PData
|
|||
DL_DimAngular3PData(double ddpx1, double ddpy1, double ddpz1,
|
||||
double ddpx2, double ddpy2, double ddpz2,
|
||||
double ddpx3, double ddpy3, double ddpz3)
|
||||
{
|
||||
|
||||
dpx1 = ddpx1;
|
||||
dpy1 = ddpy1;
|
||||
dpz1 = ddpz1;
|
||||
|
||||
dpx2 = ddpx2;
|
||||
dpy2 = ddpy2;
|
||||
dpz2 = ddpz2;
|
||||
|
||||
dpx3 = ddpx3;
|
||||
dpy3 = ddpy3;
|
||||
dpz3 = ddpz3;
|
||||
}
|
||||
: dpx1(ddpx1), dpy1(ddpy1), dpz1(ddpz1),
|
||||
dpx2(ddpx2), dpy2(ddpy2), dpz2(ddpz2),
|
||||
dpx3(ddpx3), dpy3(ddpy3), dpz3(ddpz3)
|
||||
{
|
||||
}
|
||||
|
||||
/*! X Coordinate of definition point 1. */
|
||||
double dpx1;
|
||||
|
@ -1326,17 +1261,10 @@ struct DXFLIB_EXPORT DL_DimOrdinateData
|
|||
DL_DimOrdinateData(double ddpx1, double ddpy1, double ddpz1,
|
||||
double ddpx2, double ddpy2, double ddpz2,
|
||||
bool dxtype)
|
||||
: dpx1(ddpx1), dpy1(ddpy1), dpz1(ddpz1),
|
||||
dpx2(ddpx2), dpy2(ddpy2), dpz2(ddpz2),
|
||||
xtype(dxtype)
|
||||
{
|
||||
|
||||
dpx1 = ddpx1;
|
||||
dpy1 = ddpy1;
|
||||
dpz1 = ddpz1;
|
||||
|
||||
dpx2 = ddpx2;
|
||||
dpy2 = ddpy2;
|
||||
dpz2 = ddpz2;
|
||||
|
||||
xtype = dxtype;
|
||||
}
|
||||
|
||||
/*! X Coordinate of definition point 1. */
|
||||
|
@ -1376,16 +1304,15 @@ struct DXFLIB_EXPORT DL_LeaderData
|
|||
double lTextAnnotationHeight,
|
||||
double lTextAnnotationWidth,
|
||||
int lNumber)
|
||||
: arrowHeadFlag(lArrowHeadFlag),
|
||||
leaderPathType(lLeaderPathType),
|
||||
leaderCreationFlag(lLeaderCreationFlag),
|
||||
hooklineDirectionFlag(lHooklineDirectionFlag),
|
||||
hooklineFlag(lHooklineFlag),
|
||||
textAnnotationHeight(lTextAnnotationHeight),
|
||||
textAnnotationWidth(lTextAnnotationWidth),
|
||||
number(lNumber)
|
||||
{
|
||||
|
||||
arrowHeadFlag = lArrowHeadFlag;
|
||||
leaderPathType = lLeaderPathType;
|
||||
leaderCreationFlag = lLeaderCreationFlag;
|
||||
hooklineDirectionFlag = lHooklineDirectionFlag;
|
||||
hooklineFlag = lHooklineFlag;
|
||||
textAnnotationHeight = lTextAnnotationHeight;
|
||||
textAnnotationWidth = lTextAnnotationWidth;
|
||||
number = lNumber;
|
||||
}
|
||||
|
||||
/*! Arrow head flag (71). */
|
||||
|
@ -1418,10 +1345,8 @@ struct DXFLIB_EXPORT DL_LeaderVertexData
|
|||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_LeaderVertexData(double px=0.0, double py=0.0, double pz=0.0)
|
||||
: x(px), y(py), z(pz)
|
||||
{
|
||||
x = px;
|
||||
y = py;
|
||||
z = pz;
|
||||
}
|
||||
|
||||
/*! X Coordinate of the vertex. */
|
||||
|
@ -1442,7 +1367,8 @@ struct DXFLIB_EXPORT DL_HatchData
|
|||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
DL_HatchData() {}
|
||||
DL_HatchData() : numLoops(0), solid(), scale(0.0), angle(0.0), pattern(), originX(0.0), originY(0.0)
|
||||
{}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
|
@ -1463,7 +1389,6 @@ struct DXFLIB_EXPORT DL_HatchData
|
|||
originX(originX),
|
||||
originY(originY)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*! Number of boundary paths (loops). */
|
||||
|
@ -1491,14 +1416,15 @@ struct DXFLIB_EXPORT DL_HatchLoopData
|
|||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
DL_HatchLoopData() {}
|
||||
DL_HatchLoopData() : numEdges(0)
|
||||
{}
|
||||
/**
|
||||
* Constructor.
|
||||
* Parameters: see member variables.
|
||||
*/
|
||||
DL_HatchLoopData(int hNumEdges)
|
||||
: numEdges(hNumEdges)
|
||||
{
|
||||
numEdges = hNumEdges;
|
||||
}
|
||||
|
||||
/*! Number of edges in this loop. */
|
||||
|
@ -1515,7 +1441,12 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
DL_HatchEdgeData() : defined(false), x1(0.0), y1(0.0), x2(0.0), y2(0.0)
|
||||
DL_HatchEdgeData() : defined(false), x1(0.0), y1(0.0), x2(0.0), y2(0.0),
|
||||
type(0), cx(0.0), cy(0.0), radius(0.0), angle1(0.0), angle2(0.0), ccw(),
|
||||
mx(0.0), my(0.0), ratio(0.0), degree(0), rational(), periodic(),
|
||||
nKnots(0), nControl(0), nFit(0), controlPoints(), knots(),
|
||||
weights(), fitPoints(), startTangentX(0.0), startTangentY(0.0),
|
||||
endTangentX(0.0), endTangentY(0.0), vertices()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1526,11 +1457,16 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
DL_HatchEdgeData(double x1, double y1,
|
||||
double x2, double y2) :
|
||||
defined(true),
|
||||
type(1),
|
||||
x1(x1),
|
||||
y1(y1),
|
||||
x2(x2),
|
||||
y2(y2)
|
||||
y2(y2),
|
||||
type(1),
|
||||
cx(0.0), cy(0.0), radius(0.0), angle1(0.0), angle2(0.0), ccw(),
|
||||
mx(0.0), my(0.0), ratio(0.0), degree(0), rational(), periodic(),
|
||||
nKnots(0), nControl(0), nFit(0), controlPoints(), knots(),
|
||||
weights(), fitPoints(), startTangentX(0.0), startTangentY(0.0),
|
||||
endTangentX(0.0), endTangentY(0.0), vertices()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1543,13 +1479,18 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
double angle1, double angle2,
|
||||
bool ccw) :
|
||||
defined(true),
|
||||
x1(), y1(), x2(), y2(),
|
||||
type(2),
|
||||
cx(cx),
|
||||
cy(cy),
|
||||
radius(radius),
|
||||
angle1(angle1),
|
||||
angle2(angle2),
|
||||
ccw(ccw)
|
||||
ccw(ccw),
|
||||
mx(0.0), my(0.0), ratio(0.0), degree(0), rational(), periodic(),
|
||||
nKnots(0), nControl(0), nFit(0), controlPoints(), knots(),
|
||||
weights(), fitPoints(), startTangentX(0.0), startTangentY(0.0),
|
||||
endTangentX(0.0), endTangentY(0.0), vertices()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1563,15 +1504,21 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
double angle1, double angle2,
|
||||
bool ccw) :
|
||||
defined(true),
|
||||
x1(), y1(), x2(), y2(),
|
||||
type(3),
|
||||
cx(cx),
|
||||
cy(cy),
|
||||
radius(),
|
||||
angle1(angle1),
|
||||
angle2(angle2),
|
||||
ccw(ccw),
|
||||
mx(mx),
|
||||
my(my),
|
||||
ratio(ratio)
|
||||
ratio(ratio),
|
||||
degree(0), rational(), periodic(),
|
||||
nKnots(0), nControl(0), nFit(0), controlPoints(), knots(),
|
||||
weights(), fitPoints(), startTangentX(0.0), startTangentY(0.0),
|
||||
endTangentX(0.0), endTangentY(0.0), vertices()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1594,8 +1541,10 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
double endTangentX,
|
||||
double endTangentY) :
|
||||
defined(true),
|
||||
type(4),
|
||||
degree(degree),
|
||||
x1(), y1(), x2(), y2(),
|
||||
type(4), cx(), cy(), radius(),
|
||||
angle1(), angle2(), ccw(),
|
||||
mx(), my(), ratio(), degree(degree),
|
||||
rational(rational),
|
||||
periodic(periodic),
|
||||
nKnots(nKnots),
|
||||
|
@ -1608,7 +1557,8 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
startTangentX(startTangentX),
|
||||
startTangentY(startTangentY),
|
||||
endTangentX(endTangentX),
|
||||
endTangentY(endTangentY)
|
||||
endTangentY(endTangentY),
|
||||
vertices()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1617,11 +1567,6 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
*/
|
||||
bool defined;
|
||||
|
||||
/**
|
||||
* Edge type. 1=line, 2=arc, 3=elliptic arc, 4=spline.
|
||||
*/
|
||||
int type;
|
||||
|
||||
// line edges:
|
||||
|
||||
/*! Start point (X). */
|
||||
|
@ -1633,6 +1578,11 @@ struct DXFLIB_EXPORT DL_HatchEdgeData
|
|||
/*! End point (Y). */
|
||||
double y2;
|
||||
|
||||
/**
|
||||
* Edge type. 1=line, 2=arc, 3=elliptic arc, 4=spline.
|
||||
*/
|
||||
int type;
|
||||
|
||||
/*! Center point of arc or ellipse arc (X). */
|
||||
double cx;
|
||||
/*! Center point of arc or ellipse arc (Y). */
|
||||
|
@ -1698,22 +1648,13 @@ struct DXFLIB_EXPORT DL_ImageData
|
|||
double ivx, double ivy, double ivz,
|
||||
int iwidth, int iheight,
|
||||
int ibrightness, int icontrast, int ifade)
|
||||
: ref(iref),
|
||||
ipx(iipx), ipy(iipy), ipz(iipz),
|
||||
ux(iux), uy(iuy), uz(iuz),
|
||||
vx(ivx), vy(ivy), vz(ivz),
|
||||
width(iwidth), height(iheight),
|
||||
brightness(ibrightness), contrast(icontrast), fade(ifade)
|
||||
{
|
||||
ref = iref;
|
||||
ipx = iipx;
|
||||
ipy = iipy;
|
||||
ipz = iipz;
|
||||
ux = iux;
|
||||
uy = iuy;
|
||||
uz = iuz;
|
||||
vx = ivx;
|
||||
vy = ivy;
|
||||
vz = ivz;
|
||||
width = iwidth;
|
||||
height = iheight;
|
||||
brightness = ibrightness;
|
||||
contrast = icontrast;
|
||||
fade = ifade;
|
||||
}
|
||||
|
||||
/*! Reference to the image file
|
||||
|
@ -1762,9 +1703,8 @@ struct DXFLIB_EXPORT DL_ImageDefData
|
|||
*/
|
||||
DL_ImageDefData(const std::string& iref,
|
||||
const std::string& ifile)
|
||||
: ref(iref), file(ifile)
|
||||
{
|
||||
ref = iref;
|
||||
file = ifile;
|
||||
}
|
||||
|
||||
/*! Reference to the image file
|
||||
|
|
|
@ -28,9 +28,11 @@
|
|||
|
||||
#include "dl_global.h"
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#if defined(Q_CC_MSVC)
|
||||
#if (_MSC_VER > 1000)
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#endif // Q_CC_MSVC
|
||||
|
||||
/**
|
||||
* Used for exception handling.
|
||||
|
|
|
@ -44,11 +44,9 @@ public:
|
|||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
DL_Extrusion()
|
||||
DL_Extrusion() : direction(new double[3]), elevation(0.0)
|
||||
{
|
||||
direction = new double[3];
|
||||
setDirection(0.0, 0.0, 1.0);
|
||||
setElevation(0.0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -60,6 +58,10 @@ public:
|
|||
delete[] direction ;
|
||||
}
|
||||
|
||||
DL_Extrusion(const DL_Extrusion &L)
|
||||
: direction(L.direction), elevation(L.elevation)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for DXF extrusion.
|
||||
|
@ -70,10 +72,9 @@ public:
|
|||
* world coordinate system
|
||||
*/
|
||||
DL_Extrusion(double dx, double dy, double dz, double elevation)
|
||||
: direction(new double[3]), elevation(elevation)
|
||||
{
|
||||
direction = new double[3];
|
||||
setDirection(dx, dy, dz);
|
||||
setElevation(elevation);
|
||||
}
|
||||
|
||||
|
||||
|
@ -135,8 +136,12 @@ public:
|
|||
/**
|
||||
* Copies extrusion (deep copies) from another extrusion object.
|
||||
*/
|
||||
DL_Extrusion operator = (const DL_Extrusion& extru)
|
||||
DL_Extrusion & operator = (const DL_Extrusion& extru)
|
||||
{
|
||||
if ( &extru == this )
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
setDirection(extru.direction[0], extru.direction[1], extru.direction[2]);
|
||||
setElevation(extru.elevation);
|
||||
|
||||
|
|
|
@ -32,9 +32,11 @@
|
|||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#if defined(Q_CC_MSVC)
|
||||
#if (_MSC_VER > 1000)
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#endif // Q_CC_MSVC
|
||||
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
@ -60,12 +62,8 @@ public:
|
|||
/**
|
||||
* @param version DXF version. Defaults to DL_VERSION_2002.
|
||||
*/
|
||||
DL_Writer(DL_Codes::version version) : m_handle(0x30)
|
||||
DL_Writer(DL_Codes::version version) : m_handle(0x30), modelSpaceHandle(0), paperSpaceHandle(0), paperSpace0Handle(0), version(version)
|
||||
{
|
||||
this->version = version;
|
||||
modelSpaceHandle = 0;
|
||||
paperSpaceHandle = 0;
|
||||
paperSpace0Handle = 0;
|
||||
}
|
||||
|
||||
virtual ~DL_Writer() {}
|
||||
|
@ -424,7 +422,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
dxfHex(5, h);
|
||||
dxfHex(5, static_cast<int>(h));
|
||||
}
|
||||
dxfString(100, "AcDbSymbolTableRecord");
|
||||
dxfString(100, "AcDbLayerTableRecord");
|
||||
|
@ -450,7 +448,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
dxfHex(5, h);
|
||||
dxfHex(5, static_cast<int>(h));
|
||||
}
|
||||
//dxfHex(330, 0x5);
|
||||
dxfString(100, "AcDbSymbolTableRecord");
|
||||
|
@ -477,7 +475,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
dxfHex(5, h);
|
||||
dxfHex(5, static_cast<int>(h));
|
||||
}
|
||||
//dxfHex(330, 0x9);
|
||||
dxfString(100, "AcDbSymbolTableRecord");
|
||||
|
@ -504,7 +502,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
dxfHex(5, h);
|
||||
dxfHex(5, static_cast<int>(h));
|
||||
}
|
||||
//dxfHex(330, blockHandle);
|
||||
dxfString(100, "AcDbEntity");
|
||||
|
@ -536,7 +534,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
dxfHex(5, h);
|
||||
dxfHex(5, static_cast<int>(h));
|
||||
}
|
||||
//dxfHex(330, blockHandle);
|
||||
dxfString(100, "AcDbEntity");
|
||||
|
@ -594,7 +592,7 @@ public:
|
|||
unsigned long handle(int gc=5) const
|
||||
{
|
||||
// handle has to be hex
|
||||
dxfHex(gc, m_handle);
|
||||
dxfHex(gc, static_cast<int>(m_handle));
|
||||
return m_handle++;
|
||||
}
|
||||
|
||||
|
@ -683,7 +681,7 @@ public:
|
|||
*/
|
||||
virtual void dxfBool(int gc, bool value) const
|
||||
{
|
||||
dxfInt(gc, (int)value);
|
||||
dxfInt(gc, static_cast<int>(value));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,9 +23,11 @@
|
|||
**
|
||||
**********************************************************************/
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#if defined(Q_CC_MSVC)
|
||||
#if (_MSC_VER > 1000)
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#endif // Q_CC_MSVC
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -84,7 +86,7 @@ void DL_WriterA::dxfReal(int gc, double value) const
|
|||
end = i+1;
|
||||
}
|
||||
}
|
||||
if (end>0 && end<(int)strlen(str))
|
||||
if (end>0 && end<static_cast<int>(strlen(str)))
|
||||
{
|
||||
str[end] = '\0';
|
||||
}
|
||||
|
|
|
@ -28,9 +28,11 @@
|
|||
|
||||
#include "dl_global.h"
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#if defined(Q_CC_MSVC)
|
||||
#if (_MSC_VER > 1000)
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
#endif // Q_CC_MSVC
|
||||
|
||||
#include "dl_writer.h"
|
||||
#include <fstream>
|
||||
|
|
|
@ -54,8 +54,8 @@ static inline QPaintEngine::PaintEngineFeatures svgEngineFeatures()
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
VDxfEngine::VDxfEngine()
|
||||
:QPaintEngine(svgEngineFeatures()),
|
||||
size(), resolution(PrintDPI), matrix(), varMeasurement(VarMeasurement::Metric),
|
||||
varInsunits(VarInsunits::Centimeters)
|
||||
size(), resolution(PrintDPI), fileName(), matrix(), dxf(nullptr), dw(nullptr),
|
||||
varMeasurement(VarMeasurement::Metric), varInsunits(VarInsunits::Centimeters)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user