Horizon
dl_entities.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_ENTITIES_H
26 #define DL_ENTITIES_H
27 
28 #include "dl_global.h"
29 
30 #include <string>
31 #include <vector>
32 
36 struct DXFLIB_EXPORT DL_LayerData {
41  DL_LayerData(const std::string& name,
42  int flags, bool off = false) :
43  name(name), flags(flags), off(off) {
44  }
45 
47  std::string name;
49  int flags;
51  bool off;
52 };
53 
54 
55 
59 struct DXFLIB_EXPORT DL_BlockData {
64  DL_BlockData(const std::string& bName,
65  int bFlags,
66  double bbpx, double bbpy, double bbpz) {
67  name = bName;
68  flags = bFlags;
69  bpx = bbpx;
70  bpy = bbpy;
71  bpz = bbpz;
72  }
73 
75  std::string name;
77  int flags;
79  double bpx;
81  double bpy;
83  double bpz;
84 };
85 
86 
90 struct DXFLIB_EXPORT DL_LinetypeData {
96  const std::string& name,
97  const std::string& description,
98  int flags,
99  int numberOfDashes,
100  double patternLength,
101  double* pattern = NULL
102  )
103  : name(name),
104  description(description),
105  flags(flags),
106  numberOfDashes(numberOfDashes),
107  patternLength(patternLength),
108  pattern(pattern)
109  {}
110 
112  std::string name;
114  std::string description;
116  int flags;
122  double* pattern;
123 };
124 
125 
126 
130 struct DXFLIB_EXPORT DL_StyleData {
136  const std::string& name,
137  int flags,
138  double fixedTextHeight,
139  double widthFactor,
140  double obliqueAngle,
141  int textGenerationFlags,
142  double lastHeightUsed,
143  const std::string& primaryFontFile,
144  const std::string& bigFontFile
145  )
146  : name(name),
147  flags(flags),
148  fixedTextHeight(fixedTextHeight),
149  widthFactor(widthFactor),
150  obliqueAngle(obliqueAngle),
151  textGenerationFlags(textGenerationFlags),
152  lastHeightUsed(lastHeightUsed),
153  primaryFontFile(primaryFontFile),
154  bigFontFile(bigFontFile),
155  bold(false),
156  italic(false) {
157  }
158 
159  bool operator==(const DL_StyleData& other) {
160  // ignore lastHeightUsed:
161  return (name==other.name &&
162  flags==other.flags &&
163  fixedTextHeight==other.fixedTextHeight &&
164  widthFactor==other.widthFactor &&
165  obliqueAngle==other.obliqueAngle &&
166  textGenerationFlags==other.textGenerationFlags &&
167  primaryFontFile==other.primaryFontFile &&
168  bigFontFile==other.bigFontFile);
169  }
170 
172  std::string name;
174  int flags;
178  double widthFactor;
180  double obliqueAngle;
186  std::string primaryFontFile;
188  std::string bigFontFile;
189 
190  bool bold;
191  bool italic;
192 };
193 
197 struct DXFLIB_EXPORT DL_PointData {
202  DL_PointData(double px=0.0, double py=0.0, double pz=0.0) {
203  x = px;
204  y = py;
205  z = pz;
206  }
207 
209  double x;
211  double y;
213  double z;
214 };
215 
216 
217 
221 struct DXFLIB_EXPORT DL_LineData {
226  DL_LineData(double lx1, double ly1, double lz1,
227  double lx2, double ly2, double lz2) {
228  x1 = lx1;
229  y1 = ly1;
230  z1 = lz1;
231 
232  x2 = lx2;
233  y2 = ly2;
234  z2 = lz2;
235  }
236 
238  double x1;
240  double y1;
242  double z1;
243 
245  double x2;
247  double y2;
249  double z2;
250 };
251 
255 struct DXFLIB_EXPORT DL_XLineData {
260  DL_XLineData(double bx, double by, double bz,
261  double dx, double dy, double dz) :
262  bx(bx), by(by), bz(bz),
263  dx(dx), dy(dy), dz(dz) {
264  }
265 
267  double bx;
269  double by;
271  double bz;
272 
274  double dx;
276  double dy;
278  double dz;
279 };
280 
284 struct DXFLIB_EXPORT DL_RayData {
289  DL_RayData(double bx, double by, double bz,
290  double dx, double dy, double dz) :
291  bx(bx), by(by), bz(bz),
292  dx(dx), dy(dy), dz(dz) {
293  }
294 
296  double bx;
298  double by;
300  double bz;
301 
303  double dx;
305  double dy;
307  double dz;
308 };
309 
310 
311 
315 struct DXFLIB_EXPORT DL_ArcData {
320  DL_ArcData(double acx, double acy, double acz,
321  double aRadius,
322  double aAngle1, double aAngle2) {
323 
324  cx = acx;
325  cy = acy;
326  cz = acz;
327  radius = aRadius;
328  angle1 = aAngle1;
329  angle2 = aAngle2;
330  }
331 
333  double cx;
335  double cy;
337  double cz;
338 
340  double radius;
342  double angle1;
344  double angle2;
345 };
346 
347 
348 
352 struct DXFLIB_EXPORT DL_CircleData {
357  DL_CircleData(double acx, double acy, double acz,
358  double aRadius) {
359 
360  cx = acx;
361  cy = acy;
362  cz = acz;
363  radius = aRadius;
364  }
365 
367  double cx;
369  double cy;
371  double cz;
372 
374  double radius;
375 };
376 
377 
378 
382 struct DXFLIB_EXPORT DL_PolylineData {
387  DL_PolylineData(int pNumber, int pMVerteces, int pNVerteces, int pFlags, double pElevation = 0.0) {
388  number = pNumber;
389  m = pMVerteces;
390  n = pNVerteces;
391  elevation = pElevation;
392  flags = pFlags;
393  }
394 
396  unsigned int number;
397 
399  unsigned int m;
400 
402  unsigned int n;
403 
405  double elevation;
406 
408  int flags;
409 };
410 
411 
412 
416 struct DXFLIB_EXPORT DL_VertexData {
421  DL_VertexData(double px=0.0, double py=0.0, double pz=0.0,
422  double pBulge=0.0) {
423  x = px;
424  y = py;
425  z = pz;
426  bulge = pBulge;
427  }
428 
430  double x;
432  double y;
434  double z;
437  double bulge;
438 };
439 
440 
444 struct DXFLIB_EXPORT DL_TraceData {
445  DL_TraceData() {
446  thickness = 0.0;
447  for (int i=0; i<4; i++) {
448  x[i] = 0.0;
449  y[i] = 0.0;
450  z[i] = 0.0;
451  }
452  }
453 
458  DL_TraceData(double sx1, double sy1, double sz1,
459  double sx2, double sy2, double sz2,
460  double sx3, double sy3, double sz3,
461  double sx4, double sy4, double sz4,
462  double sthickness=0.0) {
463 
464  thickness = sthickness;
465 
466  x[0] = sx1;
467  y[0] = sy1;
468  z[0] = sz1;
469 
470  x[1] = sx2;
471  y[1] = sy2;
472  z[1] = sz2;
473 
474  x[2] = sx3;
475  y[2] = sy3;
476  z[2] = sz3;
477 
478  x[3] = sx4;
479  y[3] = sy4;
480  z[3] = sz4;
481  }
482 
484  double thickness;
485 
487  double x[4];
488  double y[4];
489  double z[4];
490 };
491 
492 
493 
494 
495 
499 typedef DL_TraceData DL_SolidData;
500 
501 
506 
507 
511 struct DXFLIB_EXPORT DL_SplineData {
516  DL_SplineData(int degree,
517  int nKnots,
518  int nControl,
519  int nFit,
520  int flags) :
521  degree(degree),
522  nKnots(nKnots),
523  nControl(nControl),
524  nFit(nFit),
525  flags(flags) {
526  }
527 
529  unsigned int degree;
530 
532  unsigned int nKnots;
533 
535  unsigned int nControl;
536 
538  unsigned int nFit;
539 
541  int flags;
542 
543  double tangentStartX;
544  double tangentStartY;
545  double tangentStartZ;
546  double tangentEndX;
547  double tangentEndY;
548  double tangentEndZ;
549 };
550 
551 
552 
556 struct DXFLIB_EXPORT DL_KnotData {
557  DL_KnotData() {}
562  DL_KnotData(double pk) {
563  k = pk;
564  }
565 
567  double k;
568 };
569 
570 
571 
575 struct DXFLIB_EXPORT DL_ControlPointData {
580  DL_ControlPointData(double px, double py, double pz, double weight) {
581  x = px;
582  y = py;
583  z = pz;
584  w = weight;
585  }
586 
588  double x;
590  double y;
592  double z;
594  double w;
595 };
596 
597 
598 
602 struct DXFLIB_EXPORT DL_FitPointData {
607  DL_FitPointData(double x, double y, double z) : x(x), y(y), z(z) {}
608 
610  double x;
612  double y;
614  double z;
615 };
616 
617 
618 
622 struct DXFLIB_EXPORT DL_EllipseData {
627  DL_EllipseData(double cx, double cy, double cz,
628  double mx, double my, double mz,
629  double ratio,
630  double angle1, double angle2)
631  : cx(cx),
632  cy(cy),
633  cz(cz),
634  mx(mx),
635  my(my),
636  mz(mz),
637  ratio(ratio),
638  angle1(angle1),
639  angle2(angle2) {
640  }
641 
643  double cx;
645  double cy;
647  double cz;
648 
650  double mx;
652  double my;
654  double mz;
655 
657  double ratio;
659  double angle1;
661  double angle2;
662 };
663 
664 
665 
669 struct DXFLIB_EXPORT DL_InsertData {
674  DL_InsertData(const std::string& name,
675  double ipx, double ipy, double ipz,
676  double sx, double sy, double sz,
677  double angle,
678  int cols, int rows,
679  double colSp, double rowSp) :
680  name(name),
681  ipx(ipx), ipy(ipy), ipz(ipz),
682  sx(sx), sy(sy), sz(sz),
683  angle(angle),
684  cols(cols), rows(rows),
685  colSp(colSp), rowSp(rowSp) {
686  }
687 
689  std::string name;
691  double ipx;
693  double ipy;
695  double ipz;
697  double sx;
699  double sy;
701  double sz;
703  double angle;
705  int cols;
707  int rows;
709  double colSp;
711  double rowSp;
712 };
713 
714 
715 
719 struct DXFLIB_EXPORT DL_MTextData {
724  DL_MTextData(double ipx, double ipy, double ipz,
725  double dirx, double diry, double dirz,
726  double height, double width,
727  int attachmentPoint,
728  int drawingDirection,
729  int lineSpacingStyle,
730  double lineSpacingFactor,
731  const std::string& text,
732  const std::string& style,
733  double angle) :
734  ipx(ipx), ipy(ipy), ipz(ipz),
735  dirx(dirx), diry(diry), dirz(dirz),
736  height(height), width(width),
737  attachmentPoint(attachmentPoint),
738  drawingDirection(drawingDirection),
739  lineSpacingStyle(lineSpacingStyle),
740  lineSpacingFactor(lineSpacingFactor),
741  text(text),
742  style(style),
743  angle(angle) {
744 
745  }
746 
748  double ipx;
750  double ipy;
752  double ipz;
754  double dirx;
756  double diry;
758  double dirz;
760  double height;
762  double width;
788  std::string text;
790  std::string style;
792  double angle;
793 };
794 
795 
796 
800 struct DXFLIB_EXPORT DL_TextData {
805  DL_TextData(double ipx, double ipy, double ipz,
806  double apx, double apy, double apz,
807  double height, double xScaleFactor,
808  int textGenerationFlags,
809  int hJustification,
810  int vJustification,
811  const std::string& text,
812  const std::string& style,
813  double angle)
814  : ipx(ipx), ipy(ipy), ipz(ipz),
815  apx(apx), apy(apy), apz(apz),
816  height(height), xScaleFactor(xScaleFactor),
817  textGenerationFlags(textGenerationFlags),
818  hJustification(hJustification),
819  vJustification(vJustification),
820  text(text),
821  style(style),
822  angle(angle) {
823  }
824 
826  double ipx;
828  double ipy;
830  double ipz;
831 
833  double apx;
835  double apy;
837  double apz;
838 
840  double height;
842  double xScaleFactor;
860  std::string text;
862  std::string style;
864  double angle;
865 };
866 
870 struct DXFLIB_EXPORT DL_ArcAlignedTextData {
871 
873  std::string text;
875  std::string font;
877  std::string style;
878 
880  double cx;
882  double cy;
884  double cz;
886  double radius;
887 
889  double xScaleFactor;
891  double height;
893  double spacing;
895  double offset;
897  double rightOffset;
899  double leftOffset;
901  double startAngle;
903  double endAngle;
925  int side;
927  bool bold;
929  bool italic;
931  bool underline;
935  int pitch;
940  bool shxFont;
942  bool wizard;
945 };
946 
950 struct DXFLIB_EXPORT DL_AttributeData : public DL_TextData {
951  DL_AttributeData(const DL_TextData& tData, const std::string& tag)
952  : DL_TextData(tData), tag(tag) {
953 
954  }
955 
960  DL_AttributeData(double ipx, double ipy, double ipz,
961  double apx, double apy, double apz,
962  double height, double xScaleFactor,
963  int textGenerationFlags,
964  int hJustification,
965  int vJustification,
966  const std::string& tag,
967  const std::string& text,
968  const std::string& style,
969  double angle)
970  : DL_TextData(ipx, ipy, ipz,
971  apx, apy, apz,
972  height, xScaleFactor,
973  textGenerationFlags,
974  hJustification,
975  vJustification,
976  text,
977  style,
978  angle),
979  tag(tag) {
980  }
981 
983  std::string tag;
984 };
985 
986 
990 struct DXFLIB_EXPORT DL_DimensionData {
995  DL_DimensionData(double dpx, double dpy, double dpz,
996  double mpx, double mpy, double mpz,
997  int type,
998  int attachmentPoint,
999  int lineSpacingStyle,
1000  double lineSpacingFactor,
1001  const std::string& text,
1002  const std::string& style,
1003  double angle,
1004  double linearFactor = 1.0,
1005  double dimScale = 1.0) :
1006  dpx(dpx), dpy(dpy), dpz(dpz),
1007  mpx(mpx), mpy(mpy), mpz(mpz),
1008  type(type),
1009  attachmentPoint(attachmentPoint),
1010  lineSpacingStyle(lineSpacingStyle),
1011  lineSpacingFactor(lineSpacingFactor),
1012  text(text),
1013  style(style),
1014  angle(angle),
1015  linearFactor(linearFactor),
1016  dimScale(dimScale) {
1017 
1018  }
1019 
1021  double dpx;
1023  double dpy;
1025  double dpz;
1027  double mpx;
1029  double mpy;
1031  double mpz;
1051  int type;
1077  std::string text;
1079  std::string style;
1084  double angle;
1092  double dimScale;
1093 };
1094 
1095 
1096 
1100 struct DXFLIB_EXPORT DL_DimAlignedData {
1105  DL_DimAlignedData(double depx1, double depy1, double depz1,
1106  double depx2, double depy2, double depz2) {
1107 
1108  epx1 = depx1;
1109  epy1 = depy1;
1110  epz1 = depz1;
1111 
1112  epx2 = depx2;
1113  epy2 = depy2;
1114  epz2 = depz2;
1115  }
1116 
1118  double epx1;
1120  double epy1;
1122  double epz1;
1123 
1125  double epx2;
1127  double epy2;
1129  double epz2;
1130 };
1131 
1132 
1133 
1137 struct DXFLIB_EXPORT DL_DimLinearData {
1142  DL_DimLinearData(double ddpx1, double ddpy1, double ddpz1,
1143  double ddpx2, double ddpy2, double ddpz2,
1144  double dAngle, double dOblique) {
1145 
1146  dpx1 = ddpx1;
1147  dpy1 = ddpy1;
1148  dpz1 = ddpz1;
1149 
1150  dpx2 = ddpx2;
1151  dpy2 = ddpy2;
1152  dpz2 = ddpz2;
1153 
1154  angle = dAngle;
1155  oblique = dOblique;
1156  }
1157 
1159  double dpx1;
1161  double dpy1;
1163  double dpz1;
1164 
1166  double dpx2;
1168  double dpy2;
1170  double dpz2;
1171 
1173  double angle;
1175  double oblique;
1176 };
1177 
1178 
1179 
1183 struct DXFLIB_EXPORT DL_DimRadialData {
1188  DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader) {
1189  dpx = ddpx;
1190  dpy = ddpy;
1191  dpz = ddpz;
1192 
1193  leader = dleader;
1194  }
1195 
1197  double dpx;
1199  double dpy;
1201  double dpz;
1202 
1204  double leader;
1205 };
1206 
1207 
1208 
1212 struct DXFLIB_EXPORT DL_DimDiametricData {
1217  DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader) {
1218  dpx = ddpx;
1219  dpy = ddpy;
1220  dpz = ddpz;
1221 
1222  leader = dleader;
1223  }
1224 
1226  double dpx;
1228  double dpy;
1230  double dpz;
1231 
1233  double leader;
1234 };
1235 
1236 
1237 
1241 struct DXFLIB_EXPORT DL_DimAngularData {
1246  DL_DimAngularData(double ddpx1, double ddpy1, double ddpz1,
1247  double ddpx2, double ddpy2, double ddpz2,
1248  double ddpx3, double ddpy3, double ddpz3,
1249  double ddpx4, double ddpy4, double ddpz4) {
1250 
1251  dpx1 = ddpx1;
1252  dpy1 = ddpy1;
1253  dpz1 = ddpz1;
1254 
1255  dpx2 = ddpx2;
1256  dpy2 = ddpy2;
1257  dpz2 = ddpz2;
1258 
1259  dpx3 = ddpx3;
1260  dpy3 = ddpy3;
1261  dpz3 = ddpz3;
1262 
1263  dpx4 = ddpx4;
1264  dpy4 = ddpy4;
1265  dpz4 = ddpz4;
1266  }
1267 
1269  double dpx1;
1271  double dpy1;
1273  double dpz1;
1274 
1276  double dpx2;
1278  double dpy2;
1280  double dpz2;
1281 
1283  double dpx3;
1285  double dpy3;
1287  double dpz3;
1288 
1290  double dpx4;
1292  double dpy4;
1294  double dpz4;
1295 };
1296 
1297 
1301 struct DXFLIB_EXPORT DL_DimAngular3PData {
1306  DL_DimAngular3PData(double ddpx1, double ddpy1, double ddpz1,
1307  double ddpx2, double ddpy2, double ddpz2,
1308  double ddpx3, double ddpy3, double ddpz3) {
1309 
1310  dpx1 = ddpx1;
1311  dpy1 = ddpy1;
1312  dpz1 = ddpz1;
1313 
1314  dpx2 = ddpx2;
1315  dpy2 = ddpy2;
1316  dpz2 = ddpz2;
1317 
1318  dpx3 = ddpx3;
1319  dpy3 = ddpy3;
1320  dpz3 = ddpz3;
1321  }
1322 
1324  double dpx1;
1326  double dpy1;
1328  double dpz1;
1329 
1331  double dpx2;
1333  double dpy2;
1335  double dpz2;
1336 
1338  double dpx3;
1340  double dpy3;
1342  double dpz3;
1343 };
1344 
1345 
1346 
1350 struct DXFLIB_EXPORT DL_DimOrdinateData {
1355  DL_DimOrdinateData(double ddpx1, double ddpy1, double ddpz1,
1356  double ddpx2, double ddpy2, double ddpz2,
1357  bool dxtype) {
1358 
1359  dpx1 = ddpx1;
1360  dpy1 = ddpy1;
1361  dpz1 = ddpz1;
1362 
1363  dpx2 = ddpx2;
1364  dpy2 = ddpy2;
1365  dpz2 = ddpz2;
1366 
1367  xtype = dxtype;
1368  }
1369 
1371  double dpx1;
1373  double dpy1;
1375  double dpz1;
1376 
1378  double dpx2;
1380  double dpy2;
1382  double dpz2;
1383 
1385  bool xtype;
1386 };
1387 
1388 
1389 
1393 struct DXFLIB_EXPORT DL_LeaderData {
1398  DL_LeaderData(int lArrowHeadFlag,
1399  int lLeaderPathType,
1400  int lLeaderCreationFlag,
1401  int lHooklineDirectionFlag,
1402  int lHooklineFlag,
1403  double lTextAnnotationHeight,
1404  double lTextAnnotationWidth,
1405  int lNumber) {
1406 
1407  arrowHeadFlag = lArrowHeadFlag;
1408  leaderPathType = lLeaderPathType;
1409  leaderCreationFlag = lLeaderCreationFlag;
1410  hooklineDirectionFlag = lHooklineDirectionFlag;
1411  hooklineFlag = lHooklineFlag;
1412  textAnnotationHeight = lTextAnnotationHeight;
1413  textAnnotationWidth = lTextAnnotationWidth;
1414  number = lNumber;
1415  }
1416 
1432  int number;
1433 };
1434 
1435 
1436 
1440 struct DXFLIB_EXPORT DL_LeaderVertexData {
1445  DL_LeaderVertexData(double px=0.0, double py=0.0, double pz=0.0) {
1446  x = px;
1447  y = py;
1448  z = pz;
1449  }
1450 
1452  double x;
1454  double y;
1456  double z;
1457 };
1458 
1459 
1460 
1464 struct DXFLIB_EXPORT DL_HatchData {
1469 
1474  DL_HatchData(int numLoops,
1475  bool solid,
1476  double scale,
1477  double angle,
1478  const std::string& pattern,
1479  double originX = 0.0,
1480  double originY = 0.0) :
1481  numLoops(numLoops),
1482  solid(solid),
1483  scale(scale),
1484  angle(angle),
1485  pattern(pattern),
1486  originX(originX),
1487  originY(originY) {
1488 
1489  }
1490 
1494  bool solid;
1496  double scale;
1498  double angle;
1500  std::string pattern;
1502  double originX;
1503  double originY;
1504 };
1505 
1506 
1507 
1511 struct DXFLIB_EXPORT DL_HatchLoopData {
1520  DL_HatchLoopData(int hNumEdges) {
1521  numEdges = hNumEdges;
1522  }
1523 
1526 };
1527 
1528 
1529 
1533 struct DXFLIB_EXPORT DL_HatchEdgeData {
1537  DL_HatchEdgeData() : defined(false), x1(0.0), y1(0.0), x2(0.0), y2(0.0) {
1538  }
1539 
1544  DL_HatchEdgeData(double x1, double y1,
1545  double x2, double y2) :
1546  defined(true),
1547  type(1),
1548  x1(x1),
1549  y1(y1),
1550  x2(x2),
1551  y2(y2) {
1552  }
1553 
1558  DL_HatchEdgeData(double cx, double cy,
1559  double radius,
1560  double angle1, double angle2,
1561  bool ccw) :
1562  defined(true),
1563  type(2),
1564  cx(cx),
1565  cy(cy),
1566  radius(radius),
1567  angle1(angle1),
1568  angle2(angle2),
1569  ccw(ccw) {
1570  }
1571 
1576  DL_HatchEdgeData(double cx, double cy,
1577  double mx, double my,
1578  double ratio,
1579  double angle1, double angle2,
1580  bool ccw) :
1581  defined(true),
1582  type(3),
1583  cx(cx),
1584  cy(cy),
1585  angle1(angle1),
1586  angle2(angle2),
1587  ccw(ccw),
1588  mx(mx),
1589  my(my),
1590  ratio(ratio) {
1591  }
1592 
1597  DL_HatchEdgeData(unsigned int degree,
1598  bool rational,
1599  bool periodic,
1600  unsigned int nKnots,
1601  unsigned int nControl,
1602  unsigned int nFit,
1603  const std::vector<double>& knots,
1604  const std::vector<std::vector<double> >& controlPoints,
1605  const std::vector<std::vector<double> >& fitPoints,
1606  const std::vector<double>& weights,
1607  double startTangentX,
1608  double startTangentY,
1609  double endTangentX,
1610  double endTangentY) :
1611  defined(true),
1612  type(4),
1613  degree(degree),
1614  rational(rational),
1615  periodic(periodic),
1616  nKnots(nKnots),
1617  nControl(nControl),
1618  nFit(nFit),
1619  controlPoints(controlPoints),
1620  knots(knots),
1621  weights(weights),
1622  fitPoints(fitPoints),
1623  startTangentX(startTangentX),
1624  startTangentY(startTangentY),
1625  endTangentX(endTangentX),
1626  endTangentY(endTangentY) {
1627  }
1628 
1632  bool defined;
1633 
1637  int type;
1638 
1639  // line edges:
1640 
1642  double x1;
1644  double y1;
1646  double x2;
1648  double y2;
1649 
1651  double cx;
1653  double cy;
1655  double radius;
1657  double angle1;
1659  double angle2;
1661  bool ccw;
1662 
1664  double mx;
1666  double my;
1668  double ratio;
1669 
1670 
1672  unsigned int degree;
1673  bool rational;
1674  bool periodic;
1676  unsigned int nKnots;
1678  unsigned int nControl;
1680  unsigned int nFit;
1681 
1682  std::vector<std::vector<double> > controlPoints;
1683  std::vector<double> knots;
1684  std::vector<double> weights;
1685  std::vector<std::vector<double> > fitPoints;
1686 
1687  double startTangentX;
1688  double startTangentY;
1689 
1690  double endTangentX;
1691  double endTangentY;
1692 
1694  std::vector<std::vector<double> > vertices;
1695  //bool closed;
1696 };
1697 
1698 
1699 
1703 struct DXFLIB_EXPORT DL_ImageData {
1708  DL_ImageData(const std::string& iref,
1709  double iipx, double iipy, double iipz,
1710  double iux, double iuy, double iuz,
1711  double ivx, double ivy, double ivz,
1712  int iwidth, int iheight,
1713  int ibrightness, int icontrast, int ifade) {
1714  ref = iref;
1715  ipx = iipx;
1716  ipy = iipy;
1717  ipz = iipz;
1718  ux = iux;
1719  uy = iuy;
1720  uz = iuz;
1721  vx = ivx;
1722  vy = ivy;
1723  vz = ivz;
1724  width = iwidth;
1725  height = iheight;
1726  brightness = ibrightness;
1727  contrast = icontrast;
1728  fade = ifade;
1729  }
1730 
1733  std::string ref;
1735  double ipx;
1737  double ipy;
1739  double ipz;
1741  double ux;
1743  double uy;
1745  double uz;
1747  double vx;
1749  double vy;
1751  double vz;
1753  int width;
1755  int height;
1761  int fade;
1762 };
1763 
1764 
1765 
1769 struct DXFLIB_EXPORT DL_ImageDefData {
1774  DL_ImageDefData(const std::string& iref,
1775  const std::string& ifile) {
1776  ref = iref;
1777  file = ifile;
1778  }
1779 
1782  std::string ref;
1783 
1785  std::string file;
1786 };
1787 
1788 
1789 
1793 struct DXFLIB_EXPORT DL_DictionaryData {
1794  DL_DictionaryData(const std::string& handle) : handle(handle) {}
1795  std::string handle;
1796 };
1797 
1798 
1799 
1803 struct DXFLIB_EXPORT DL_DictionaryEntryData {
1804  DL_DictionaryEntryData(const std::string& name, const std::string& handle) :
1805  name(name), handle(handle) {}
1806 
1807  std::string name;
1808  std::string handle;
1809 };
1810 
1811 #endif
1812 
1813 // EOF
Arc Aligned Text Data.
Definition: dl_entities.h:870
double spacing
Definition: dl_entities.h:893
bool bold
Definition: dl_entities.h:927
double endAngle
Definition: dl_entities.h:903
bool underline
Definition: dl_entities.h:931
double cz
Definition: dl_entities.h:884
std::string font
Definition: dl_entities.h:875
double height
Definition: dl_entities.h:891
bool shxFont
Definition: dl_entities.h:940
int side
Definition: dl_entities.h:925
double xScaleFactor
Definition: dl_entities.h:889
double cy
Definition: dl_entities.h:882
double rightOffset
Definition: dl_entities.h:897
std::string text
Definition: dl_entities.h:873
int arcHandle
Definition: dl_entities.h:944
int alignment
Definition: dl_entities.h:920
bool reversedCharacterOrder
Definition: dl_entities.h:908
double leftOffset
Definition: dl_entities.h:899
double cx
Definition: dl_entities.h:880
std::string style
Definition: dl_entities.h:877
bool wizard
Definition: dl_entities.h:942
double radius
Definition: dl_entities.h:886
double startAngle
Definition: dl_entities.h:901
double offset
Definition: dl_entities.h:895
int pitch
Definition: dl_entities.h:935
int characerSet
Definition: dl_entities.h:933
int direction
Definition: dl_entities.h:913
bool italic
Definition: dl_entities.h:929
Arc Data.
Definition: dl_entities.h:315
double cz
Definition: dl_entities.h:337
DL_ArcData(double acx, double acy, double acz, double aRadius, double aAngle1, double aAngle2)
Constructor.
Definition: dl_entities.h:320
double angle2
Definition: dl_entities.h:344
double radius
Definition: dl_entities.h:340
double cy
Definition: dl_entities.h:335
double angle1
Definition: dl_entities.h:342
double cx
Definition: dl_entities.h:333
Block attribute data.
Definition: dl_entities.h:950
DL_AttributeData(double ipx, double ipy, double ipz, double apx, double apy, double apz, double height, double xScaleFactor, int textGenerationFlags, int hJustification, int vJustification, const std::string &tag, const std::string &text, const std::string &style, double angle)
Constructor.
Definition: dl_entities.h:960
std::string tag
Definition: dl_entities.h:983
Block Data.
Definition: dl_entities.h:59
double bpz
Z Coordinate of base point.
Definition: dl_entities.h:83
int flags
Block flags.
Definition: dl_entities.h:77
std::string name
Block name.
Definition: dl_entities.h:75
double bpx
X Coordinate of base point.
Definition: dl_entities.h:79
double bpy
Y Coordinate of base point.
Definition: dl_entities.h:81
DL_BlockData(const std::string &bName, int bFlags, double bbpx, double bbpy, double bbpz)
Constructor.
Definition: dl_entities.h:64
Circle Data.
Definition: dl_entities.h:352
double radius
Definition: dl_entities.h:374
double cx
Definition: dl_entities.h:367
double cy
Definition: dl_entities.h:369
DL_CircleData(double acx, double acy, double acz, double aRadius)
Constructor.
Definition: dl_entities.h:357
double cz
Definition: dl_entities.h:371
Spline control point data.
Definition: dl_entities.h:575
double y
Definition: dl_entities.h:590
double x
Definition: dl_entities.h:588
double z
Definition: dl_entities.h:592
DL_ControlPointData(double px, double py, double pz, double weight)
Constructor.
Definition: dl_entities.h:580
double w
Definition: dl_entities.h:594
Dictionary data.
Definition: dl_entities.h:1793
Dictionary entry data.
Definition: dl_entities.h:1803
Aligned Dimension Data.
Definition: dl_entities.h:1100
double epx1
Definition: dl_entities.h:1118
double epz1
Definition: dl_entities.h:1122
double epx2
Definition: dl_entities.h:1125
DL_DimAlignedData(double depx1, double depy1, double depz1, double depx2, double depy2, double depz2)
Constructor.
Definition: dl_entities.h:1105
double epy2
Definition: dl_entities.h:1127
double epz2
Definition: dl_entities.h:1129
double epy1
Definition: dl_entities.h:1120
Angular Dimension Data (3 points version).
Definition: dl_entities.h:1301
double dpz1
Definition: dl_entities.h:1328
double dpx3
Definition: dl_entities.h:1338
double dpy3
Definition: dl_entities.h:1340
double dpy1
Definition: dl_entities.h:1326
double dpz2
Definition: dl_entities.h:1335
double dpz3
Definition: dl_entities.h:1342
double dpx2
Definition: dl_entities.h:1331
double dpy2
Definition: dl_entities.h:1333
DL_DimAngular3PData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, double ddpx3, double ddpy3, double ddpz3)
Constructor.
Definition: dl_entities.h:1306
double dpx1
Definition: dl_entities.h:1324
Angular Dimension Data.
Definition: dl_entities.h:1241
double dpx4
Definition: dl_entities.h:1290
double dpy1
Definition: dl_entities.h:1271
double dpy2
Definition: dl_entities.h:1278
double dpz2
Definition: dl_entities.h:1280
double dpx2
Definition: dl_entities.h:1276
double dpx1
Definition: dl_entities.h:1269
double dpy3
Definition: dl_entities.h:1285
double dpz1
Definition: dl_entities.h:1273
double dpz3
Definition: dl_entities.h:1287
DL_DimAngularData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, double ddpx3, double ddpy3, double ddpz3, double ddpx4, double ddpy4, double ddpz4)
Constructor.
Definition: dl_entities.h:1246
double dpx3
Definition: dl_entities.h:1283
double dpy4
Definition: dl_entities.h:1292
double dpz4
Definition: dl_entities.h:1294
Diametric Dimension Data.
Definition: dl_entities.h:1212
double leader
Definition: dl_entities.h:1233
DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader)
Constructor.
Definition: dl_entities.h:1217
double dpz
Definition: dl_entities.h:1230
double dpx
Definition: dl_entities.h:1226
double dpy
Definition: dl_entities.h:1228
Linear (rotated) Dimension Data.
Definition: dl_entities.h:1137
DL_DimLinearData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, double dAngle, double dOblique)
Constructor.
Definition: dl_entities.h:1142
double dpx2
Definition: dl_entities.h:1166
double oblique
Definition: dl_entities.h:1175
double dpy2
Definition: dl_entities.h:1168
double angle
Definition: dl_entities.h:1173
double dpz1
Definition: dl_entities.h:1163
double dpx1
Definition: dl_entities.h:1159
double dpz2
Definition: dl_entities.h:1170
double dpy1
Definition: dl_entities.h:1161
Ordinate Dimension Data.
Definition: dl_entities.h:1350
double dpz2
Definition: dl_entities.h:1382
double dpy2
Definition: dl_entities.h:1380
double dpx2
Definition: dl_entities.h:1378
DL_DimOrdinateData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, bool dxtype)
Constructor.
Definition: dl_entities.h:1355
double dpy1
Definition: dl_entities.h:1373
double dpz1
Definition: dl_entities.h:1375
double dpx1
Definition: dl_entities.h:1371
bool xtype
Definition: dl_entities.h:1385
Radial Dimension Data.
Definition: dl_entities.h:1183
double leader
Definition: dl_entities.h:1204
DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader)
Constructor.
Definition: dl_entities.h:1188
double dpx
Definition: dl_entities.h:1197
double dpy
Definition: dl_entities.h:1199
double dpz
Definition: dl_entities.h:1201
Generic Dimension Data.
Definition: dl_entities.h:990
std::string text
Text string.
Definition: dl_entities.h:1077
double dpx
Definition: dl_entities.h:1021
int attachmentPoint
Attachment point.
Definition: dl_entities.h:1059
double dpy
Definition: dl_entities.h:1023
double mpy
Definition: dl_entities.h:1029
double dpz
Definition: dl_entities.h:1025
double mpz
Definition: dl_entities.h:1031
double lineSpacingFactor
Line spacing factor.
Definition: dl_entities.h:1069
double mpx
Definition: dl_entities.h:1027
std::string style
Definition: dl_entities.h:1079
DL_DimensionData(double dpx, double dpy, double dpz, double mpx, double mpy, double mpz, int type, int attachmentPoint, int lineSpacingStyle, double lineSpacingFactor, const std::string &text, const std::string &style, double angle, double linearFactor=1.0, double dimScale=1.0)
Constructor.
Definition: dl_entities.h:995
double dimScale
Dimension scale (dimscale) style override.
Definition: dl_entities.h:1092
double linearFactor
Linear factor style override.
Definition: dl_entities.h:1088
int type
Dimension type.
Definition: dl_entities.h:1051
double angle
Rotation angle of dimension text away from default orientation.
Definition: dl_entities.h:1084
int lineSpacingStyle
Line spacing style.
Definition: dl_entities.h:1065
Ellipse Data.
Definition: dl_entities.h:622
DL_EllipseData(double cx, double cy, double cz, double mx, double my, double mz, double ratio, double angle1, double angle2)
Constructor.
Definition: dl_entities.h:627
double ratio
Definition: dl_entities.h:657
double cx
Definition: dl_entities.h:643
double angle1
Definition: dl_entities.h:659
double my
Definition: dl_entities.h:652
double mz
Definition: dl_entities.h:654
double cy
Definition: dl_entities.h:645
double cz
Definition: dl_entities.h:647
double angle2
Definition: dl_entities.h:661
double mx
Definition: dl_entities.h:650
Spline fit point data.
Definition: dl_entities.h:602
double x
Definition: dl_entities.h:610
double y
Definition: dl_entities.h:612
double z
Definition: dl_entities.h:614
DL_FitPointData(double x, double y, double z)
Constructor.
Definition: dl_entities.h:607
Hatch data.
Definition: dl_entities.h:1464
DL_HatchData()
Default constructor.
Definition: dl_entities.h:1468
int numLoops
Definition: dl_entities.h:1492
bool solid
Definition: dl_entities.h:1494
double originX
Definition: dl_entities.h:1502
std::string pattern
Definition: dl_entities.h:1500
double scale
Definition: dl_entities.h:1496
DL_HatchData(int numLoops, bool solid, double scale, double angle, const std::string &pattern, double originX=0.0, double originY=0.0)
Constructor.
Definition: dl_entities.h:1474
double angle
Definition: dl_entities.h:1498
Hatch edge data.
Definition: dl_entities.h:1533
double x2
Definition: dl_entities.h:1646
unsigned int nKnots
Definition: dl_entities.h:1676
DL_HatchEdgeData(double x1, double y1, double x2, double y2)
Constructor for a line edge.
Definition: dl_entities.h:1544
DL_HatchEdgeData(double cx, double cy, double mx, double my, double ratio, double angle1, double angle2, bool ccw)
Constructor for an ellipse arc edge.
Definition: dl_entities.h:1576
double mx
Definition: dl_entities.h:1664
DL_HatchEdgeData(double cx, double cy, double radius, double angle1, double angle2, bool ccw)
Constructor for an arc edge.
Definition: dl_entities.h:1558
std::vector< std::vector< double > > vertices
Polyline boundary vertices (x y [bulge])
Definition: dl_entities.h:1694
bool ccw
Definition: dl_entities.h:1661
unsigned int nControl
Definition: dl_entities.h:1678
double x1
Definition: dl_entities.h:1642
double ratio
Definition: dl_entities.h:1668
double angle1
Definition: dl_entities.h:1657
double cx
Definition: dl_entities.h:1651
double angle2
Definition: dl_entities.h:1659
unsigned int nFit
Definition: dl_entities.h:1680
double y2
Definition: dl_entities.h:1648
int type
Edge type.
Definition: dl_entities.h:1637
unsigned int degree
Definition: dl_entities.h:1672
DL_HatchEdgeData()
Default constructor.
Definition: dl_entities.h:1537
double y1
Definition: dl_entities.h:1644
double radius
Definition: dl_entities.h:1655
double cy
Definition: dl_entities.h:1653
double my
Definition: dl_entities.h:1666
bool defined
Set to true if this edge is fully defined.
Definition: dl_entities.h:1632
DL_HatchEdgeData(unsigned int degree, bool rational, bool periodic, unsigned int nKnots, unsigned int nControl, unsigned int nFit, const std::vector< double > &knots, const std::vector< std::vector< double > > &controlPoints, const std::vector< std::vector< double > > &fitPoints, const std::vector< double > &weights, double startTangentX, double startTangentY, double endTangentX, double endTangentY)
Constructor for a spline edge.
Definition: dl_entities.h:1597
Hatch boundary path (loop) data.
Definition: dl_entities.h:1511
DL_HatchLoopData(int hNumEdges)
Constructor.
Definition: dl_entities.h:1520
int numEdges
Definition: dl_entities.h:1525
DL_HatchLoopData()
Default constructor.
Definition: dl_entities.h:1515
Image Data.
Definition: dl_entities.h:1703
double ipz
Definition: dl_entities.h:1739
int fade
Definition: dl_entities.h:1761
int brightness
Definition: dl_entities.h:1757
int height
Definition: dl_entities.h:1755
double uy
Definition: dl_entities.h:1743
double uz
Definition: dl_entities.h:1745
std::string ref
Definition: dl_entities.h:1733
double ipx
Definition: dl_entities.h:1735
double vz
Definition: dl_entities.h:1751
int contrast
Definition: dl_entities.h:1759
double ipy
Definition: dl_entities.h:1737
double ux
Definition: dl_entities.h:1741
double vy
Definition: dl_entities.h:1749
DL_ImageData(const std::string &iref, double iipx, double iipy, double iipz, double iux, double iuy, double iuz, double ivx, double ivy, double ivz, int iwidth, int iheight, int ibrightness, int icontrast, int ifade)
Constructor.
Definition: dl_entities.h:1708
int width
Definition: dl_entities.h:1753
double vx
Definition: dl_entities.h:1747
Image Definition Data.
Definition: dl_entities.h:1769
std::string ref
Definition: dl_entities.h:1782
DL_ImageDefData(const std::string &iref, const std::string &ifile)
Constructor.
Definition: dl_entities.h:1774
std::string file
Definition: dl_entities.h:1785
Insert Data.
Definition: dl_entities.h:669
double sz
Definition: dl_entities.h:701
double sy
Definition: dl_entities.h:699
double ipy
Definition: dl_entities.h:693
double sx
Definition: dl_entities.h:697
double rowSp
Definition: dl_entities.h:711
int cols
Definition: dl_entities.h:705
double ipz
Definition: dl_entities.h:695
int rows
Definition: dl_entities.h:707
double ipx
Definition: dl_entities.h:691
std::string name
Definition: dl_entities.h:689
DL_InsertData(const std::string &name, double ipx, double ipy, double ipz, double sx, double sy, double sz, double angle, int cols, int rows, double colSp, double rowSp)
Constructor.
Definition: dl_entities.h:674
double colSp
Definition: dl_entities.h:709
double angle
Definition: dl_entities.h:703
Spline knot data.
Definition: dl_entities.h:556
DL_KnotData(double pk)
Constructor.
Definition: dl_entities.h:562
double k
Definition: dl_entities.h:567
Layer Data.
Definition: dl_entities.h:36
std::string name
Layer name.
Definition: dl_entities.h:47
int flags
Layer flags.
Definition: dl_entities.h:49
bool off
Layer is off.
Definition: dl_entities.h:51
DL_LayerData(const std::string &name, int flags, bool off=false)
Constructor.
Definition: dl_entities.h:41
Leader (arrow).
Definition: dl_entities.h:1393
int leaderPathType
Definition: dl_entities.h:1420
DL_LeaderData(int lArrowHeadFlag, int lLeaderPathType, int lLeaderCreationFlag, int lHooklineDirectionFlag, int lHooklineFlag, double lTextAnnotationHeight, double lTextAnnotationWidth, int lNumber)
Constructor.
Definition: dl_entities.h:1398
int number
Definition: dl_entities.h:1432
int arrowHeadFlag
Definition: dl_entities.h:1418
double textAnnotationHeight
Definition: dl_entities.h:1428
int hooklineDirectionFlag
Definition: dl_entities.h:1424
int hooklineFlag
Definition: dl_entities.h:1426
double textAnnotationWidth
Definition: dl_entities.h:1430
int leaderCreationFlag
Definition: dl_entities.h:1422
Leader Vertex Data.
Definition: dl_entities.h:1440
DL_LeaderVertexData(double px=0.0, double py=0.0, double pz=0.0)
Constructor.
Definition: dl_entities.h:1445
double z
Definition: dl_entities.h:1456
double y
Definition: dl_entities.h:1454
double x
Definition: dl_entities.h:1452
Line Data.
Definition: dl_entities.h:221
double x1
Definition: dl_entities.h:238
double y1
Definition: dl_entities.h:240
double z2
Definition: dl_entities.h:249
double x2
Definition: dl_entities.h:245
double y2
Definition: dl_entities.h:247
double z1
Definition: dl_entities.h:242
DL_LineData(double lx1, double ly1, double lz1, double lx2, double ly2, double lz2)
Constructor.
Definition: dl_entities.h:226
Line Type Data.
Definition: dl_entities.h:90
std::string name
Linetype name.
Definition: dl_entities.h:112
int flags
Linetype flags.
Definition: dl_entities.h:116
double * pattern
Pattern.
Definition: dl_entities.h:122
DL_LinetypeData(const std::string &name, const std::string &description, int flags, int numberOfDashes, double patternLength, double *pattern=NULL)
Constructor.
Definition: dl_entities.h:95
int numberOfDashes
Number of dashes.
Definition: dl_entities.h:118
double patternLength
Pattern length.
Definition: dl_entities.h:120
std::string description
Linetype description.
Definition: dl_entities.h:114
MText Data.
Definition: dl_entities.h:719
int attachmentPoint
Attachment point.
Definition: dl_entities.h:770
double angle
Definition: dl_entities.h:792
double ipz
Definition: dl_entities.h:752
double lineSpacingFactor
Line spacing factor.
Definition: dl_entities.h:786
int lineSpacingStyle
Line spacing style.
Definition: dl_entities.h:782
double dirz
Definition: dl_entities.h:758
double ipx
Definition: dl_entities.h:748
DL_MTextData(double ipx, double ipy, double ipz, double dirx, double diry, double dirz, double height, double width, int attachmentPoint, int drawingDirection, int lineSpacingStyle, double lineSpacingFactor, const std::string &text, const std::string &style, double angle)
Constructor.
Definition: dl_entities.h:724
int drawingDirection
Drawing direction.
Definition: dl_entities.h:776
double width
Definition: dl_entities.h:762
double ipy
Definition: dl_entities.h:750
std::string text
Definition: dl_entities.h:788
double dirx
Definition: dl_entities.h:754
double diry
Definition: dl_entities.h:756
std::string style
Definition: dl_entities.h:790
double height
Definition: dl_entities.h:760
Point Data.
Definition: dl_entities.h:197
double z
Definition: dl_entities.h:213
double y
Definition: dl_entities.h:211
double x
Definition: dl_entities.h:209
DL_PointData(double px=0.0, double py=0.0, double pz=0.0)
Constructor.
Definition: dl_entities.h:202
Polyline Data.
Definition: dl_entities.h:382
unsigned int number
Definition: dl_entities.h:396
unsigned int m
Definition: dl_entities.h:399
unsigned int n
Definition: dl_entities.h:402
int flags
Definition: dl_entities.h:408
double elevation
Definition: dl_entities.h:405
DL_PolylineData(int pNumber, int pMVerteces, int pNVerteces, int pFlags, double pElevation=0.0)
Constructor.
Definition: dl_entities.h:387
Ray Data.
Definition: dl_entities.h:284
double dz
Definition: dl_entities.h:307
double bz
Definition: dl_entities.h:300
double bx
Definition: dl_entities.h:296
DL_RayData(double bx, double by, double bz, double dx, double dy, double dz)
Constructor.
Definition: dl_entities.h:289
double by
Definition: dl_entities.h:298
double dy
Definition: dl_entities.h:305
double dx
Definition: dl_entities.h:303
Spline Data.
Definition: dl_entities.h:511
int flags
Definition: dl_entities.h:541
unsigned int nFit
Definition: dl_entities.h:538
unsigned int nKnots
Definition: dl_entities.h:532
unsigned int degree
Definition: dl_entities.h:529
DL_SplineData(int degree, int nKnots, int nControl, int nFit, int flags)
Constructor.
Definition: dl_entities.h:516
unsigned int nControl
Definition: dl_entities.h:535
Text style data.
Definition: dl_entities.h:130
std::string primaryFontFile
Primary font file name.
Definition: dl_entities.h:186
std::string bigFontFile
Big font file name.
Definition: dl_entities.h:188
double widthFactor
Width factor.
Definition: dl_entities.h:178
int textGenerationFlags
Text generation flags.
Definition: dl_entities.h:182
double lastHeightUsed
Last height used.
Definition: dl_entities.h:184
double obliqueAngle
Oblique angle.
Definition: dl_entities.h:180
std::string name
Style name.
Definition: dl_entities.h:172
DL_StyleData(const std::string &name, int flags, double fixedTextHeight, double widthFactor, double obliqueAngle, int textGenerationFlags, double lastHeightUsed, const std::string &primaryFontFile, const std::string &bigFontFile)
Constructor Parameters: see member variables.
Definition: dl_entities.h:135
int flags
Style flags.
Definition: dl_entities.h:174
double fixedTextHeight
Fixed text height or 0 for not fixed.
Definition: dl_entities.h:176
Text Data.
Definition: dl_entities.h:800
double ipz
Definition: dl_entities.h:830
double xScaleFactor
Definition: dl_entities.h:842
double apy
Definition: dl_entities.h:835
DL_TextData(double ipx, double ipy, double ipz, double apx, double apy, double apz, double height, double xScaleFactor, int textGenerationFlags, int hJustification, int vJustification, const std::string &text, const std::string &style, double angle)
Constructor.
Definition: dl_entities.h:805
std::string style
Definition: dl_entities.h:862
double apz
Definition: dl_entities.h:837
double apx
Definition: dl_entities.h:833
double ipy
Definition: dl_entities.h:828
std::string text
Definition: dl_entities.h:860
int vJustification
Vertical justification.
Definition: dl_entities.h:858
int hJustification
Horizontal justification.
Definition: dl_entities.h:852
double angle
Definition: dl_entities.h:864
double height
Definition: dl_entities.h:840
double ipx
Definition: dl_entities.h:826
int textGenerationFlags
Definition: dl_entities.h:844
Trace Data / solid data / 3d face data.
Definition: dl_entities.h:444
double thickness
Definition: dl_entities.h:484
DL_TraceData(double sx1, double sy1, double sz1, double sx2, double sy2, double sz2, double sx3, double sy3, double sz3, double sx4, double sy4, double sz4, double sthickness=0.0)
Constructor.
Definition: dl_entities.h:458
Vertex Data.
Definition: dl_entities.h:416
double x
Definition: dl_entities.h:430
double y
Definition: dl_entities.h:432
DL_VertexData(double px=0.0, double py=0.0, double pz=0.0, double pBulge=0.0)
Constructor.
Definition: dl_entities.h:421
double bulge
Definition: dl_entities.h:437
double z
Definition: dl_entities.h:434
XLine Data.
Definition: dl_entities.h:255
double by
Definition: dl_entities.h:269
double dz
Definition: dl_entities.h:278
double bz
Definition: dl_entities.h:271
DL_XLineData(double bx, double by, double bz, double dx, double dy, double dz)
Constructor.
Definition: dl_entities.h:260
double bx
Definition: dl_entities.h:267
double dx
Definition: dl_entities.h:274
double dy
Definition: dl_entities.h:276