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  bool arrow1Flipped;
1094  bool arrow2Flipped;
1095 };
1096 
1097 
1098 
1102 struct DXFLIB_EXPORT DL_DimAlignedData {
1107  DL_DimAlignedData(double depx1, double depy1, double depz1,
1108  double depx2, double depy2, double depz2) {
1109 
1110  epx1 = depx1;
1111  epy1 = depy1;
1112  epz1 = depz1;
1113 
1114  epx2 = depx2;
1115  epy2 = depy2;
1116  epz2 = depz2;
1117  }
1118 
1120  double epx1;
1122  double epy1;
1124  double epz1;
1125 
1127  double epx2;
1129  double epy2;
1131  double epz2;
1132 };
1133 
1134 
1135 
1139 struct DXFLIB_EXPORT DL_DimLinearData {
1144  DL_DimLinearData(double ddpx1, double ddpy1, double ddpz1,
1145  double ddpx2, double ddpy2, double ddpz2,
1146  double dAngle, double dOblique) {
1147 
1148  dpx1 = ddpx1;
1149  dpy1 = ddpy1;
1150  dpz1 = ddpz1;
1151 
1152  dpx2 = ddpx2;
1153  dpy2 = ddpy2;
1154  dpz2 = ddpz2;
1155 
1156  angle = dAngle;
1157  oblique = dOblique;
1158  }
1159 
1161  double dpx1;
1163  double dpy1;
1165  double dpz1;
1166 
1168  double dpx2;
1170  double dpy2;
1172  double dpz2;
1173 
1175  double angle;
1177  double oblique;
1178 };
1179 
1180 
1181 
1185 struct DXFLIB_EXPORT DL_DimRadialData {
1190  DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader) {
1191  dpx = ddpx;
1192  dpy = ddpy;
1193  dpz = ddpz;
1194 
1195  leader = dleader;
1196  }
1197 
1199  double dpx;
1201  double dpy;
1203  double dpz;
1204 
1206  double leader;
1207 };
1208 
1209 
1210 
1214 struct DXFLIB_EXPORT DL_DimDiametricData {
1219  DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader) {
1220  dpx = ddpx;
1221  dpy = ddpy;
1222  dpz = ddpz;
1223 
1224  leader = dleader;
1225  }
1226 
1228  double dpx;
1230  double dpy;
1232  double dpz;
1233 
1235  double leader;
1236 };
1237 
1238 
1239 
1243 struct DXFLIB_EXPORT DL_DimAngular2LData {
1248  DL_DimAngular2LData(double ddpx1, double ddpy1, double ddpz1,
1249  double ddpx2, double ddpy2, double ddpz2,
1250  double ddpx3, double ddpy3, double ddpz3,
1251  double ddpx4, double ddpy4, double ddpz4) {
1252 
1253  dpx1 = ddpx1;
1254  dpy1 = ddpy1;
1255  dpz1 = ddpz1;
1256 
1257  dpx2 = ddpx2;
1258  dpy2 = ddpy2;
1259  dpz2 = ddpz2;
1260 
1261  dpx3 = ddpx3;
1262  dpy3 = ddpy3;
1263  dpz3 = ddpz3;
1264 
1265  dpx4 = ddpx4;
1266  dpy4 = ddpy4;
1267  dpz4 = ddpz4;
1268  }
1269 
1271  double dpx1;
1273  double dpy1;
1275  double dpz1;
1276 
1278  double dpx2;
1280  double dpy2;
1282  double dpz2;
1283 
1285  double dpx3;
1287  double dpy3;
1289  double dpz3;
1290 
1292  double dpx4;
1294  double dpy4;
1296  double dpz4;
1297 };
1298 
1299 
1303 struct DXFLIB_EXPORT DL_DimAngular3PData {
1308  DL_DimAngular3PData(double ddpx1, double ddpy1, double ddpz1,
1309  double ddpx2, double ddpy2, double ddpz2,
1310  double ddpx3, double ddpy3, double ddpz3) {
1311 
1312  dpx1 = ddpx1;
1313  dpy1 = ddpy1;
1314  dpz1 = ddpz1;
1315 
1316  dpx2 = ddpx2;
1317  dpy2 = ddpy2;
1318  dpz2 = ddpz2;
1319 
1320  dpx3 = ddpx3;
1321  dpy3 = ddpy3;
1322  dpz3 = ddpz3;
1323  }
1324 
1326  double dpx1;
1328  double dpy1;
1330  double dpz1;
1331 
1333  double dpx2;
1335  double dpy2;
1337  double dpz2;
1338 
1340  double dpx3;
1342  double dpy3;
1344  double dpz3;
1345 };
1346 
1347 
1348 
1352 struct DXFLIB_EXPORT DL_DimOrdinateData {
1357  DL_DimOrdinateData(double ddpx1, double ddpy1, double ddpz1,
1358  double ddpx2, double ddpy2, double ddpz2,
1359  bool dxtype) {
1360 
1361  dpx1 = ddpx1;
1362  dpy1 = ddpy1;
1363  dpz1 = ddpz1;
1364 
1365  dpx2 = ddpx2;
1366  dpy2 = ddpy2;
1367  dpz2 = ddpz2;
1368 
1369  xtype = dxtype;
1370  }
1371 
1373  double dpx1;
1375  double dpy1;
1377  double dpz1;
1378 
1380  double dpx2;
1382  double dpy2;
1384  double dpz2;
1385 
1387  bool xtype;
1388 };
1389 
1390 
1391 
1395 struct DXFLIB_EXPORT DL_LeaderData {
1400  DL_LeaderData(int arrowHeadFlag,
1401  int leaderPathType,
1402  int leaderCreationFlag,
1403  int hooklineDirectionFlag,
1404  int hooklineFlag,
1405  double textAnnotationHeight,
1406  double textAnnotationWidth,
1407  int number,
1408  double dimScale = 1.0) :
1409  arrowHeadFlag(arrowHeadFlag),
1410  leaderPathType(leaderPathType),
1411  leaderCreationFlag(leaderCreationFlag),
1412  hooklineDirectionFlag(hooklineDirectionFlag),
1413  hooklineFlag(hooklineFlag),
1414  textAnnotationHeight(textAnnotationHeight),
1415  textAnnotationWidth(textAnnotationWidth),
1416  number(number),
1417  dimScale(dimScale) {
1418 
1419  }
1420 
1436  int number;
1438  double dimScale;
1439 };
1440 
1441 
1442 
1446 struct DXFLIB_EXPORT DL_LeaderVertexData {
1451  DL_LeaderVertexData(double px=0.0, double py=0.0, double pz=0.0) {
1452  x = px;
1453  y = py;
1454  z = pz;
1455  }
1456 
1458  double x;
1460  double y;
1462  double z;
1463 };
1464 
1465 
1466 
1470 struct DXFLIB_EXPORT DL_HatchData {
1475 
1480  DL_HatchData(int numLoops,
1481  bool solid,
1482  double scale,
1483  double angle,
1484  const std::string& pattern,
1485  double originX = 0.0,
1486  double originY = 0.0) :
1487  numLoops(numLoops),
1488  solid(solid),
1489  scale(scale),
1490  angle(angle),
1491  pattern(pattern),
1492  originX(originX),
1493  originY(originY) {
1494 
1495  }
1496 
1500  bool solid;
1502  double scale;
1504  double angle;
1506  std::string pattern;
1508  double originX;
1509  double originY;
1510 };
1511 
1512 
1513 
1517 struct DXFLIB_EXPORT DL_HatchLoopData {
1526  DL_HatchLoopData(int hNumEdges) {
1527  numEdges = hNumEdges;
1528  }
1529 
1532 };
1533 
1534 
1535 
1539 struct DXFLIB_EXPORT DL_HatchEdgeData {
1543  DL_HatchEdgeData() : defined(false), x1(0.0), y1(0.0), x2(0.0), y2(0.0) {
1544  }
1545 
1550  DL_HatchEdgeData(double x1, double y1,
1551  double x2, double y2) :
1552  defined(true),
1553  type(1),
1554  x1(x1),
1555  y1(y1),
1556  x2(x2),
1557  y2(y2) {
1558  }
1559 
1564  DL_HatchEdgeData(double cx, double cy,
1565  double radius,
1566  double angle1, double angle2,
1567  bool ccw) :
1568  defined(true),
1569  type(2),
1570  cx(cx),
1571  cy(cy),
1572  radius(radius),
1573  angle1(angle1),
1574  angle2(angle2),
1575  ccw(ccw) {
1576  }
1577 
1582  DL_HatchEdgeData(double cx, double cy,
1583  double mx, double my,
1584  double ratio,
1585  double angle1, double angle2,
1586  bool ccw) :
1587  defined(true),
1588  type(3),
1589  cx(cx),
1590  cy(cy),
1591  angle1(angle1),
1592  angle2(angle2),
1593  ccw(ccw),
1594  mx(mx),
1595  my(my),
1596  ratio(ratio) {
1597  }
1598 
1603  DL_HatchEdgeData(unsigned int degree,
1604  bool rational,
1605  bool periodic,
1606  unsigned int nKnots,
1607  unsigned int nControl,
1608  unsigned int nFit,
1609  const std::vector<double>& knots,
1610  const std::vector<std::vector<double> >& controlPoints,
1611  const std::vector<std::vector<double> >& fitPoints,
1612  const std::vector<double>& weights,
1613  double startTangentX,
1614  double startTangentY,
1615  double endTangentX,
1616  double endTangentY) :
1617  defined(true),
1618  type(4),
1619  degree(degree),
1620  rational(rational),
1621  periodic(periodic),
1622  nKnots(nKnots),
1623  nControl(nControl),
1624  nFit(nFit),
1625  controlPoints(controlPoints),
1626  knots(knots),
1627  weights(weights),
1628  fitPoints(fitPoints),
1629  startTangentX(startTangentX),
1630  startTangentY(startTangentY),
1631  endTangentX(endTangentX),
1632  endTangentY(endTangentY) {
1633  }
1634 
1638  bool defined;
1639 
1643  int type;
1644 
1645  // line edges:
1646 
1648  double x1;
1650  double y1;
1652  double x2;
1654  double y2;
1655 
1657  double cx;
1659  double cy;
1661  double radius;
1663  double angle1;
1665  double angle2;
1667  bool ccw;
1668 
1670  double mx;
1672  double my;
1674  double ratio;
1675 
1676 
1678  unsigned int degree;
1679  bool rational;
1680  bool periodic;
1682  unsigned int nKnots;
1684  unsigned int nControl;
1686  unsigned int nFit;
1687 
1688  std::vector<std::vector<double> > controlPoints;
1689  std::vector<double> knots;
1690  std::vector<double> weights;
1691  std::vector<std::vector<double> > fitPoints;
1692 
1693  double startTangentX;
1694  double startTangentY;
1695 
1696  double endTangentX;
1697  double endTangentY;
1698 
1700  std::vector<std::vector<double> > vertices;
1701  //bool closed;
1702 };
1703 
1704 
1705 
1709 struct DXFLIB_EXPORT DL_ImageData {
1714  DL_ImageData(const std::string& iref,
1715  double iipx, double iipy, double iipz,
1716  double iux, double iuy, double iuz,
1717  double ivx, double ivy, double ivz,
1718  int iwidth, int iheight,
1719  int ibrightness, int icontrast, int ifade) {
1720  ref = iref;
1721  ipx = iipx;
1722  ipy = iipy;
1723  ipz = iipz;
1724  ux = iux;
1725  uy = iuy;
1726  uz = iuz;
1727  vx = ivx;
1728  vy = ivy;
1729  vz = ivz;
1730  width = iwidth;
1731  height = iheight;
1732  brightness = ibrightness;
1733  contrast = icontrast;
1734  fade = ifade;
1735  }
1736 
1739  std::string ref;
1741  double ipx;
1743  double ipy;
1745  double ipz;
1747  double ux;
1749  double uy;
1751  double uz;
1753  double vx;
1755  double vy;
1757  double vz;
1759  int width;
1761  int height;
1767  int fade;
1768 };
1769 
1770 
1771 
1775 struct DXFLIB_EXPORT DL_ImageDefData {
1780  DL_ImageDefData(const std::string& iref,
1781  const std::string& ifile) {
1782  ref = iref;
1783  file = ifile;
1784  }
1785 
1788  std::string ref;
1789 
1791  std::string file;
1792 };
1793 
1794 
1795 
1799 struct DXFLIB_EXPORT DL_DictionaryData {
1800  DL_DictionaryData(const std::string& handle) : handle(handle) {}
1801  std::string handle;
1802 };
1803 
1804 
1805 
1809 struct DXFLIB_EXPORT DL_DictionaryEntryData {
1810  DL_DictionaryEntryData(const std::string& name, const std::string& handle) :
1811  name(name), handle(handle) {}
1812 
1813  std::string name;
1814  std::string handle;
1815 };
1816 
1817 #endif
1818 
1819 // 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:1799
Dictionary entry data.
Definition: dl_entities.h:1809
Aligned Dimension Data.
Definition: dl_entities.h:1102
double epx1
Definition: dl_entities.h:1120
double epz1
Definition: dl_entities.h:1124
double epx2
Definition: dl_entities.h:1127
DL_DimAlignedData(double depx1, double depy1, double depz1, double depx2, double depy2, double depz2)
Constructor.
Definition: dl_entities.h:1107
double epy2
Definition: dl_entities.h:1129
double epz2
Definition: dl_entities.h:1131
double epy1
Definition: dl_entities.h:1122
Angular Dimension Data.
Definition: dl_entities.h:1243
double dpx3
Definition: dl_entities.h:1285
double dpz1
Definition: dl_entities.h:1275
double dpx4
Definition: dl_entities.h:1292
double dpy3
Definition: dl_entities.h:1287
double dpx2
Definition: dl_entities.h:1278
double dpz3
Definition: dl_entities.h:1289
DL_DimAngular2LData(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:1248
double dpz4
Definition: dl_entities.h:1296
double dpy2
Definition: dl_entities.h:1280
double dpy1
Definition: dl_entities.h:1273
double dpz2
Definition: dl_entities.h:1282
double dpy4
Definition: dl_entities.h:1294
double dpx1
Definition: dl_entities.h:1271
Angular Dimension Data (3 points version).
Definition: dl_entities.h:1303
double dpz1
Definition: dl_entities.h:1330
double dpx3
Definition: dl_entities.h:1340
double dpy3
Definition: dl_entities.h:1342
double dpy1
Definition: dl_entities.h:1328
double dpz2
Definition: dl_entities.h:1337
double dpz3
Definition: dl_entities.h:1344
double dpx2
Definition: dl_entities.h:1333
double dpy2
Definition: dl_entities.h:1335
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:1308
double dpx1
Definition: dl_entities.h:1326
Diametric Dimension Data.
Definition: dl_entities.h:1214
double leader
Definition: dl_entities.h:1235
DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader)
Constructor.
Definition: dl_entities.h:1219
double dpz
Definition: dl_entities.h:1232
double dpx
Definition: dl_entities.h:1228
double dpy
Definition: dl_entities.h:1230
Linear (rotated) Dimension Data.
Definition: dl_entities.h:1139
DL_DimLinearData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, double dAngle, double dOblique)
Constructor.
Definition: dl_entities.h:1144
double dpx2
Definition: dl_entities.h:1168
double oblique
Definition: dl_entities.h:1177
double dpy2
Definition: dl_entities.h:1170
double angle
Definition: dl_entities.h:1175
double dpz1
Definition: dl_entities.h:1165
double dpx1
Definition: dl_entities.h:1161
double dpz2
Definition: dl_entities.h:1172
double dpy1
Definition: dl_entities.h:1163
Ordinate Dimension Data.
Definition: dl_entities.h:1352
double dpz2
Definition: dl_entities.h:1384
double dpy2
Definition: dl_entities.h:1382
double dpx2
Definition: dl_entities.h:1380
DL_DimOrdinateData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, bool dxtype)
Constructor.
Definition: dl_entities.h:1357
double dpy1
Definition: dl_entities.h:1375
double dpz1
Definition: dl_entities.h:1377
double dpx1
Definition: dl_entities.h:1373
bool xtype
Definition: dl_entities.h:1387
Radial Dimension Data.
Definition: dl_entities.h:1185
double leader
Definition: dl_entities.h:1206
DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader)
Constructor.
Definition: dl_entities.h:1190
double dpx
Definition: dl_entities.h:1199
double dpy
Definition: dl_entities.h:1201
double dpz
Definition: dl_entities.h:1203
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:1470
DL_HatchData()
Default constructor.
Definition: dl_entities.h:1474
int numLoops
Definition: dl_entities.h:1498
bool solid
Definition: dl_entities.h:1500
double originX
Definition: dl_entities.h:1508
std::string pattern
Definition: dl_entities.h:1506
double scale
Definition: dl_entities.h:1502
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:1480
double angle
Definition: dl_entities.h:1504
Hatch edge data.
Definition: dl_entities.h:1539
double x2
Definition: dl_entities.h:1652
unsigned int nKnots
Definition: dl_entities.h:1682
DL_HatchEdgeData(double x1, double y1, double x2, double y2)
Constructor for a line edge.
Definition: dl_entities.h:1550
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:1582
double mx
Definition: dl_entities.h:1670
DL_HatchEdgeData(double cx, double cy, double radius, double angle1, double angle2, bool ccw)
Constructor for an arc edge.
Definition: dl_entities.h:1564
std::vector< std::vector< double > > vertices
Polyline boundary vertices (x y [bulge])
Definition: dl_entities.h:1700
bool ccw
Definition: dl_entities.h:1667
unsigned int nControl
Definition: dl_entities.h:1684
double x1
Definition: dl_entities.h:1648
double ratio
Definition: dl_entities.h:1674
double angle1
Definition: dl_entities.h:1663
double cx
Definition: dl_entities.h:1657
double angle2
Definition: dl_entities.h:1665
unsigned int nFit
Definition: dl_entities.h:1686
double y2
Definition: dl_entities.h:1654
int type
Edge type.
Definition: dl_entities.h:1643
unsigned int degree
Definition: dl_entities.h:1678
DL_HatchEdgeData()
Default constructor.
Definition: dl_entities.h:1543
double y1
Definition: dl_entities.h:1650
double radius
Definition: dl_entities.h:1661
double cy
Definition: dl_entities.h:1659
double my
Definition: dl_entities.h:1672
bool defined
Set to true if this edge is fully defined.
Definition: dl_entities.h:1638
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:1603
Hatch boundary path (loop) data.
Definition: dl_entities.h:1517
DL_HatchLoopData(int hNumEdges)
Constructor.
Definition: dl_entities.h:1526
int numEdges
Definition: dl_entities.h:1531
DL_HatchLoopData()
Default constructor.
Definition: dl_entities.h:1521
Image Data.
Definition: dl_entities.h:1709
double ipz
Definition: dl_entities.h:1745
int fade
Definition: dl_entities.h:1767
int brightness
Definition: dl_entities.h:1763
int height
Definition: dl_entities.h:1761
double uy
Definition: dl_entities.h:1749
double uz
Definition: dl_entities.h:1751
std::string ref
Definition: dl_entities.h:1739
double ipx
Definition: dl_entities.h:1741
double vz
Definition: dl_entities.h:1757
int contrast
Definition: dl_entities.h:1765
double ipy
Definition: dl_entities.h:1743
double ux
Definition: dl_entities.h:1747
double vy
Definition: dl_entities.h:1755
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:1714
int width
Definition: dl_entities.h:1759
double vx
Definition: dl_entities.h:1753
Image Definition Data.
Definition: dl_entities.h:1775
std::string ref
Definition: dl_entities.h:1788
DL_ImageDefData(const std::string &iref, const std::string &ifile)
Constructor.
Definition: dl_entities.h:1780
std::string file
Definition: dl_entities.h:1791
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:1395
DL_LeaderData(int arrowHeadFlag, int leaderPathType, int leaderCreationFlag, int hooklineDirectionFlag, int hooklineFlag, double textAnnotationHeight, double textAnnotationWidth, int number, double dimScale=1.0)
Constructor.
Definition: dl_entities.h:1400
double dimScale
Definition: dl_entities.h:1438
int leaderPathType
Definition: dl_entities.h:1424
int number
Definition: dl_entities.h:1436
int arrowHeadFlag
Definition: dl_entities.h:1422
double textAnnotationHeight
Definition: dl_entities.h:1432
int hooklineDirectionFlag
Definition: dl_entities.h:1428
int hooklineFlag
Definition: dl_entities.h:1430
double textAnnotationWidth
Definition: dl_entities.h:1434
int leaderCreationFlag
Definition: dl_entities.h:1426
Leader Vertex Data.
Definition: dl_entities.h:1446
DL_LeaderVertexData(double px=0.0, double py=0.0, double pz=0.0)
Constructor.
Definition: dl_entities.h:1451
double z
Definition: dl_entities.h:1462
double y
Definition: dl_entities.h:1460
double x
Definition: dl_entities.h:1458
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