ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
dl_entities.h
Go to the documentation of this file.
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 <string>
29 #include <vector>
30 
31 #include "dl_global.h"
32 
41  DL_LayerData(const std::string& name, int flags, bool off = false)
42  : name(name), flags(flags), off(off) {}
43 
45  std::string name;
47  int flags;
49  bool off;
50 };
51 
60  DL_BlockData(const std::string& bName,
61  int bFlags,
62  double bbpx,
63  double bbpy,
64  double bbpz) {
65  name = bName;
66  flags = bFlags;
67  bpx = bbpx;
68  bpy = bbpy;
69  bpz = bbpz;
70  }
71 
73  std::string name;
75  int flags;
77  double bpx;
79  double bpy;
81  double bpz;
82 };
83 
92  DL_LinetypeData(const std::string& name,
93  const std::string& description,
94  int flags,
95  int numberOfDashes,
96  double patternLength,
97  double* pattern = NULL)
98  : name(name),
99  description(description),
100  flags(flags),
101  numberOfDashes(numberOfDashes),
102  patternLength(patternLength),
103  pattern(pattern) {}
104 
106  std::string name;
108  std::string description;
110  int flags;
116  double* pattern;
117 };
118 
127  DL_StyleData(const std::string& name,
128  int flags,
129  double fixedTextHeight,
130  double widthFactor,
131  double obliqueAngle,
132  int textGenerationFlags,
133  double lastHeightUsed,
134  const std::string& primaryFontFile,
135  const std::string& bigFontFile)
136  : name(name),
137  flags(flags),
138  fixedTextHeight(fixedTextHeight),
139  widthFactor(widthFactor),
140  obliqueAngle(obliqueAngle),
141  textGenerationFlags(textGenerationFlags),
142  lastHeightUsed(lastHeightUsed),
143  primaryFontFile(primaryFontFile),
144  bigFontFile(bigFontFile),
145  bold(false),
146  italic(false) {}
147 
148  bool operator==(const DL_StyleData& other) {
149  // ignore lastHeightUsed:
150  return (name == other.name && flags == other.flags &&
151  fixedTextHeight == other.fixedTextHeight &&
152  widthFactor == other.widthFactor &&
153  obliqueAngle == other.obliqueAngle &&
154  textGenerationFlags == other.textGenerationFlags &&
155  primaryFontFile == other.primaryFontFile &&
156  bigFontFile == other.bigFontFile);
157  }
158 
160  std::string name;
162  int flags;
166  double widthFactor;
168  double obliqueAngle;
174  std::string primaryFontFile;
176  std::string bigFontFile;
177 
178  bool bold;
179  bool italic;
180 };
181 
190  DL_PointData(double px = 0.0, double py = 0.0, double pz = 0.0) {
191  x = px;
192  y = py;
193  z = pz;
194  }
195 
197  double x;
199  double y;
201  double z;
202 };
203 
212  DL_LineData(double lx1,
213  double ly1,
214  double lz1,
215  double lx2,
216  double ly2,
217  double lz2) {
218  x1 = lx1;
219  y1 = ly1;
220  z1 = lz1;
221 
222  x2 = lx2;
223  y2 = ly2;
224  z2 = lz2;
225  }
226 
228  double x1;
230  double y1;
232  double z1;
233 
235  double x2;
237  double y2;
239  double z2;
240 };
241 
251  double bx, double by, double bz, double dx, double dy, double dz)
252  : bx(bx), by(by), bz(bz), dx(dx), dy(dy), dz(dz) {}
253 
255  double bx;
257  double by;
259  double bz;
260 
262  double dx;
264  double dy;
266  double dz;
267 };
268 
277  DL_RayData(double bx, double by, double bz, double dx, double dy, double dz)
278  : bx(bx), by(by), bz(bz), dx(dx), dy(dy), dz(dz) {}
279 
281  double bx;
283  double by;
285  double bz;
286 
288  double dx;
290  double dy;
292  double dz;
293 };
294 
303  DL_ArcData(double acx,
304  double acy,
305  double acz,
306  double aRadius,
307  double aAngle1,
308  double aAngle2) {
309  cx = acx;
310  cy = acy;
311  cz = acz;
312  radius = aRadius;
313  angle1 = aAngle1;
314  angle2 = aAngle2;
315  }
316 
318  double cx;
320  double cy;
322  double cz;
323 
325  double radius;
327  double angle1;
329  double angle2;
330 };
331 
340  DL_CircleData(double acx, double acy, double acz, double aRadius) {
341  cx = acx;
342  cy = acy;
343  cz = acz;
344  radius = aRadius;
345  }
346 
348  double cx;
350  double cy;
352  double cz;
353 
355  double radius;
356 };
357 
366  DL_PolylineData(int pNumber,
367  int pMVerteces,
368  int pNVerteces,
369  int pFlags,
370  double pElevation = 0.0) {
371  number = pNumber;
372  m = pMVerteces;
373  n = pNVerteces;
374  elevation = pElevation;
375  flags = pFlags;
376  }
377 
379  unsigned int number;
380 
382  unsigned int m;
383 
385  unsigned int n;
386 
388  double elevation;
389 
391  int flags;
392 };
393 
402  DL_VertexData(double px = 0.0,
403  double py = 0.0,
404  double pz = 0.0,
405  double pBulge = 0.0) {
406  x = px;
407  y = py;
408  z = pz;
409  bulge = pBulge;
410  }
411 
413  double x;
415  double y;
417  double z;
420  double bulge;
421 };
422 
428  thickness = 0.0;
429  for (int i = 0; i < 4; i++) {
430  x[i] = 0.0;
431  y[i] = 0.0;
432  z[i] = 0.0;
433  }
434  }
435 
440  DL_TraceData(double sx1,
441  double sy1,
442  double sz1,
443  double sx2,
444  double sy2,
445  double sz2,
446  double sx3,
447  double sy3,
448  double sz3,
449  double sx4,
450  double sy4,
451  double sz4,
452  double sthickness = 0.0) {
453  thickness = sthickness;
454 
455  x[0] = sx1;
456  y[0] = sy1;
457  z[0] = sz1;
458 
459  x[1] = sx2;
460  y[1] = sy2;
461  z[1] = sz2;
462 
463  x[2] = sx3;
464  y[2] = sy3;
465  z[2] = sz3;
466 
467  x[3] = sx4;
468  y[3] = sy4;
469  z[3] = sz4;
470  }
471 
473  double thickness;
474 
476  double x[4];
477  double y[4];
478  double z[4];
479 };
480 
485 
490 
499  DL_SplineData(int degree, int nKnots, int nControl, int nFit, int flags)
500  : degree(degree),
501  nKnots(nKnots),
502  nControl(nControl),
503  nFit(nFit),
504  flags(flags) {}
505 
507  unsigned int degree;
508 
510  unsigned int nKnots;
511 
513  unsigned int nControl;
514 
516  unsigned int nFit;
517 
519  int flags;
520 
524  double tangentEndX;
525  double tangentEndY;
526  double tangentEndZ;
527 };
528 
538  DL_KnotData(double pk) { k = pk; }
539 
541  double k;
542 };
543 
552  DL_ControlPointData(double px, double py, double pz, double weight) {
553  x = px;
554  y = py;
555  z = pz;
556  w = weight;
557  }
558 
560  double x;
562  double y;
564  double z;
566  double w;
567 };
568 
577  DL_FitPointData(double x, double y, double z) : x(x), y(y), z(z) {}
578 
580  double x;
582  double y;
584  double z;
585 };
586 
595  DL_EllipseData(double cx,
596  double cy,
597  double cz,
598  double mx,
599  double my,
600  double mz,
601  double ratio,
602  double angle1,
603  double angle2)
604  : cx(cx),
605  cy(cy),
606  cz(cz),
607  mx(mx),
608  my(my),
609  mz(mz),
610  ratio(ratio),
611  angle1(angle1),
612  angle2(angle2) {}
613 
615  double cx;
617  double cy;
619  double cz;
620 
622  double mx;
624  double my;
626  double mz;
627 
629  double ratio;
631  double angle1;
633  double angle2;
634 };
635 
644  DL_InsertData(const std::string& name,
645  double ipx,
646  double ipy,
647  double ipz,
648  double sx,
649  double sy,
650  double sz,
651  double angle,
652  int cols,
653  int rows,
654  double colSp,
655  double rowSp)
656  : name(name),
657  ipx(ipx),
658  ipy(ipy),
659  ipz(ipz),
660  sx(sx),
661  sy(sy),
662  sz(sz),
663  angle(angle),
664  cols(cols),
665  rows(rows),
666  colSp(colSp),
667  rowSp(rowSp) {}
668 
670  std::string name;
672  double ipx;
674  double ipy;
676  double ipz;
678  double sx;
680  double sy;
682  double sz;
684  double angle;
686  int cols;
688  int rows;
690  double colSp;
692  double rowSp;
693 };
694 
703  DL_MTextData(double ipx,
704  double ipy,
705  double ipz,
706  double dirx,
707  double diry,
708  double dirz,
709  double height,
710  double width,
711  int attachmentPoint,
712  int drawingDirection,
713  int lineSpacingStyle,
714  double lineSpacingFactor,
715  const std::string& text,
716  const std::string& style,
717  double angle)
718  : ipx(ipx),
719  ipy(ipy),
720  ipz(ipz),
721  dirx(dirx),
722  diry(diry),
723  dirz(dirz),
724  height(height),
725  width(width),
726  attachmentPoint(attachmentPoint),
727  drawingDirection(drawingDirection),
728  lineSpacingStyle(lineSpacingStyle),
729  lineSpacingFactor(lineSpacingFactor),
730  text(text),
731  style(style),
732  angle(angle) {}
733 
735  double ipx;
737  double ipy;
739  double ipz;
741  double dirx;
743  double diry;
745  double dirz;
747  double height;
749  double width;
775  std::string text;
777  std::string style;
779  double angle;
780 };
781 
790  DL_TextData(double ipx,
791  double ipy,
792  double ipz,
793  double apx,
794  double apy,
795  double apz,
796  double height,
797  double xScaleFactor,
798  int textGenerationFlags,
799  int hJustification,
800  int vJustification,
801  const std::string& text,
802  const std::string& style,
803  double angle)
804  : ipx(ipx),
805  ipy(ipy),
806  ipz(ipz),
807  apx(apx),
808  apy(apy),
809  apz(apz),
810  height(height),
811  xScaleFactor(xScaleFactor),
812  textGenerationFlags(textGenerationFlags),
813  hJustification(hJustification),
814  vJustification(vJustification),
815  text(text),
816  style(style),
817  angle(angle) {}
818 
820  double ipx;
822  double ipy;
824  double ipz;
825 
827  double apx;
829  double apy;
831  double apz;
832 
834  double height;
836  double xScaleFactor;
854  std::string text;
856  std::string style;
858  double angle;
859 };
860 
866  std::string text;
868  std::string font;
870  std::string style;
871 
873  double cx;
875  double cy;
877  double cz;
879  double radius;
880 
882  double xScaleFactor;
884  double height;
886  double spacing;
888  double offset;
890  double rightOffset;
892  double leftOffset;
894  double startAngle;
896  double endAngle;
918  int side;
920  bool bold;
922  bool italic;
924  bool underline;
929  int pitch;
934  bool shxFont;
936  bool wizard;
939 };
940 
945  DL_AttributeData(const DL_TextData& tData, const std::string& tag)
946  : DL_TextData(tData), tag(tag) {}
947 
952  DL_AttributeData(double ipx,
953  double ipy,
954  double ipz,
955  double apx,
956  double apy,
957  double apz,
958  double height,
959  double xScaleFactor,
960  int textGenerationFlags,
961  int hJustification,
962  int vJustification,
963  const std::string& tag,
964  const std::string& text,
965  const std::string& style,
966  double angle)
967  : DL_TextData(ipx,
968  ipy,
969  ipz,
970  apx,
971  apy,
972  apz,
973  height,
974  xScaleFactor,
975  textGenerationFlags,
976  hJustification,
977  vJustification,
978  text,
979  style,
980  angle),
981  tag(tag) {}
982 
984  std::string tag;
985 };
986 
995  DL_DimensionData(double dpx,
996  double dpy,
997  double dpz,
998  double mpx,
999  double mpy,
1000  double mpz,
1001  int type,
1002  int attachmentPoint,
1003  int lineSpacingStyle,
1004  double lineSpacingFactor,
1005  const std::string& text,
1006  const std::string& style,
1007  double angle,
1008  double linearFactor = 1.0,
1009  double dimScale = 1.0)
1010  : dpx(dpx),
1011  dpy(dpy),
1012  dpz(dpz),
1013  mpx(mpx),
1014  mpy(mpy),
1015  mpz(mpz),
1016  type(type),
1017  attachmentPoint(attachmentPoint),
1018  lineSpacingStyle(lineSpacingStyle),
1019  lineSpacingFactor(lineSpacingFactor),
1020  text(text),
1021  style(style),
1022  angle(angle),
1023  linearFactor(linearFactor),
1024  dimScale(dimScale) {}
1025 
1027  double dpx;
1029  double dpy;
1031  double dpz;
1033  double mpx;
1035  double mpy;
1037  double mpz;
1057  int type;
1083  std::string text;
1085  std::string style;
1090  double angle;
1098  double dimScale;
1099 };
1100 
1109  DL_DimAlignedData(double depx1,
1110  double depy1,
1111  double depz1,
1112  double depx2,
1113  double depy2,
1114  double depz2) {
1115  epx1 = depx1;
1116  epy1 = depy1;
1117  epz1 = depz1;
1118 
1119  epx2 = depx2;
1120  epy2 = depy2;
1121  epz2 = depz2;
1122  }
1123 
1125  double epx1;
1127  double epy1;
1129  double epz1;
1130 
1132  double epx2;
1134  double epy2;
1136  double epz2;
1137 };
1138 
1147  DL_DimLinearData(double ddpx1,
1148  double ddpy1,
1149  double ddpz1,
1150  double ddpx2,
1151  double ddpy2,
1152  double ddpz2,
1153  double dAngle,
1154  double dOblique) {
1155  dpx1 = ddpx1;
1156  dpy1 = ddpy1;
1157  dpz1 = ddpz1;
1158 
1159  dpx2 = ddpx2;
1160  dpy2 = ddpy2;
1161  dpz2 = ddpz2;
1162 
1163  angle = dAngle;
1164  oblique = dOblique;
1165  }
1166 
1168  double dpx1;
1170  double dpy1;
1172  double dpz1;
1173 
1175  double dpx2;
1177  double dpy2;
1179  double dpz2;
1180 
1182  double angle;
1184  double oblique;
1185 };
1186 
1195  DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader) {
1196  dpx = ddpx;
1197  dpy = ddpy;
1198  dpz = ddpz;
1199 
1200  leader = dleader;
1201  }
1202 
1204  double dpx;
1206  double dpy;
1208  double dpz;
1209 
1211  double leader;
1212 };
1213 
1222  DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader) {
1223  dpx = ddpx;
1224  dpy = ddpy;
1225  dpz = ddpz;
1226 
1227  leader = dleader;
1228  }
1229 
1231  double dpx;
1233  double dpy;
1235  double dpz;
1236 
1238  double leader;
1239 };
1240 
1249  DL_DimAngularData(double ddpx1,
1250  double ddpy1,
1251  double ddpz1,
1252  double ddpx2,
1253  double ddpy2,
1254  double ddpz2,
1255  double ddpx3,
1256  double ddpy3,
1257  double ddpz3,
1258  double ddpx4,
1259  double ddpy4,
1260  double ddpz4) {
1261  dpx1 = ddpx1;
1262  dpy1 = ddpy1;
1263  dpz1 = ddpz1;
1264 
1265  dpx2 = ddpx2;
1266  dpy2 = ddpy2;
1267  dpz2 = ddpz2;
1268 
1269  dpx3 = ddpx3;
1270  dpy3 = ddpy3;
1271  dpz3 = ddpz3;
1272 
1273  dpx4 = ddpx4;
1274  dpy4 = ddpy4;
1275  dpz4 = ddpz4;
1276  }
1277 
1279  double dpx1;
1281  double dpy1;
1283  double dpz1;
1284 
1286  double dpx2;
1288  double dpy2;
1290  double dpz2;
1291 
1293  double dpx3;
1295  double dpy3;
1297  double dpz3;
1298 
1300  double dpx4;
1302  double dpy4;
1304  double dpz4;
1305 };
1306 
1315  DL_DimAngular3PData(double ddpx1,
1316  double ddpy1,
1317  double ddpz1,
1318  double ddpx2,
1319  double ddpy2,
1320  double ddpz2,
1321  double ddpx3,
1322  double ddpy3,
1323  double ddpz3) {
1324  dpx1 = ddpx1;
1325  dpy1 = ddpy1;
1326  dpz1 = ddpz1;
1327 
1328  dpx2 = ddpx2;
1329  dpy2 = ddpy2;
1330  dpz2 = ddpz2;
1331 
1332  dpx3 = ddpx3;
1333  dpy3 = ddpy3;
1334  dpz3 = ddpz3;
1335  }
1336 
1338  double dpx1;
1340  double dpy1;
1342  double dpz1;
1343 
1345  double dpx2;
1347  double dpy2;
1349  double dpz2;
1350 
1352  double dpx3;
1354  double dpy3;
1356  double dpz3;
1357 };
1358 
1367  DL_DimOrdinateData(double ddpx1,
1368  double ddpy1,
1369  double ddpz1,
1370  double ddpx2,
1371  double ddpy2,
1372  double ddpz2,
1373  bool dxtype) {
1374  dpx1 = ddpx1;
1375  dpy1 = ddpy1;
1376  dpz1 = ddpz1;
1377 
1378  dpx2 = ddpx2;
1379  dpy2 = ddpy2;
1380  dpz2 = ddpz2;
1381 
1382  xtype = dxtype;
1383  }
1384 
1386  double dpx1;
1388  double dpy1;
1390  double dpz1;
1391 
1393  double dpx2;
1395  double dpy2;
1397  double dpz2;
1398 
1400  bool xtype;
1401 };
1402 
1411  DL_LeaderData(int lArrowHeadFlag,
1412  int lLeaderPathType,
1413  int lLeaderCreationFlag,
1414  int lHooklineDirectionFlag,
1415  int lHooklineFlag,
1416  double lTextAnnotationHeight,
1417  double lTextAnnotationWidth,
1418  int lNumber) {
1419  arrowHeadFlag = lArrowHeadFlag;
1420  leaderPathType = lLeaderPathType;
1421  leaderCreationFlag = lLeaderCreationFlag;
1422  hooklineDirectionFlag = lHooklineDirectionFlag;
1423  hooklineFlag = lHooklineFlag;
1424  textAnnotationHeight = lTextAnnotationHeight;
1425  textAnnotationWidth = lTextAnnotationWidth;
1426  number = lNumber;
1427  }
1428 
1444  int number;
1445 };
1446 
1455  DL_LeaderVertexData(double px = 0.0, double py = 0.0, double pz = 0.0) {
1456  x = px;
1457  y = py;
1458  z = pz;
1459  }
1460 
1462  double x;
1464  double y;
1466  double z;
1467 };
1468 
1477 
1482  DL_HatchData(int numLoops,
1483  bool solid,
1484  double scale,
1485  double angle,
1486  const std::string& pattern,
1487  double originX = 0.0,
1488  double originY = 0.0)
1489  : numLoops(numLoops),
1490  solid(solid),
1491  scale(scale),
1492  angle(angle),
1493  pattern(pattern),
1494  originX(originX),
1495  originY(originY) {}
1496 
1500  bool solid;
1502  double scale;
1504  double angle;
1506  std::string pattern;
1508  double originX;
1509  double originY;
1510 };
1511 
1524  DL_HatchLoopData(int hNumEdges) { numEdges = hNumEdges; }
1525 
1528 };
1529 
1537  DL_HatchEdgeData() : defined(false), x1(0.0), y1(0.0), x2(0.0), y2(0.0) {}
1538 
1543  DL_HatchEdgeData(double x1, double y1, double x2, double y2)
1544  : defined(true), type(1), x1(x1), y1(y1), x2(x2), y2(y2) {}
1545 
1550  DL_HatchEdgeData(double cx,
1551  double cy,
1552  double radius,
1553  double angle1,
1554  double angle2,
1555  bool ccw)
1556  : defined(true),
1557  type(2),
1558  cx(cx),
1559  cy(cy),
1560  radius(radius),
1561  angle1(angle1),
1562  angle2(angle2),
1563  ccw(ccw) {}
1564 
1569  DL_HatchEdgeData(double cx,
1570  double cy,
1571  double mx,
1572  double my,
1573  double ratio,
1574  double angle1,
1575  double angle2,
1576  bool ccw)
1577  : defined(true),
1578  type(3),
1579  cx(cx),
1580  cy(cy),
1581  angle1(angle1),
1582  angle2(angle2),
1583  ccw(ccw),
1584  mx(mx),
1585  my(my),
1586  ratio(ratio) {}
1587 
1592  DL_HatchEdgeData(unsigned int degree,
1593  bool rational,
1594  bool periodic,
1595  unsigned int nKnots,
1596  unsigned int nControl,
1597  unsigned int nFit,
1598  const std::vector<double>& knots,
1599  const std::vector<std::vector<double>>& controlPoints,
1600  const std::vector<std::vector<double>>& fitPoints,
1601  const std::vector<double>& weights,
1602  double startTangentX,
1603  double startTangentY,
1604  double endTangentX,
1605  double endTangentY)
1606  : defined(true),
1607  type(4),
1608  degree(degree),
1609  rational(rational),
1610  periodic(periodic),
1611  nKnots(nKnots),
1612  nControl(nControl),
1613  nFit(nFit),
1614  controlPoints(controlPoints),
1615  knots(knots),
1616  weights(weights),
1617  fitPoints(fitPoints),
1618  startTangentX(startTangentX),
1619  startTangentY(startTangentY),
1620  endTangentX(endTangentX),
1621  endTangentY(endTangentY) {}
1622 
1626  bool defined;
1627 
1631  int type;
1632 
1633  // line edges:
1634 
1636  double x1;
1638  double y1;
1640  double x2;
1642  double y2;
1643 
1645  double cx;
1647  double cy;
1649  double radius;
1651  double angle1;
1653  double angle2;
1655  bool ccw;
1656 
1658  double mx;
1660  double my;
1662  double ratio;
1663 
1665  unsigned int degree;
1666  bool rational;
1667  bool periodic;
1669  unsigned int nKnots;
1671  unsigned int nControl;
1673  unsigned int nFit;
1674 
1675  std::vector<std::vector<double>> controlPoints;
1676  std::vector<double> knots;
1677  std::vector<double> weights;
1678  std::vector<std::vector<double>> fitPoints;
1679 
1682 
1683  double endTangentX;
1684  double endTangentY;
1685 
1687  std::vector<std::vector<double>> vertices;
1688  // bool closed;
1689 };
1690 
1699  DL_ImageData(const std::string& iref,
1700  double iipx,
1701  double iipy,
1702  double iipz,
1703  double iux,
1704  double iuy,
1705  double iuz,
1706  double ivx,
1707  double ivy,
1708  double ivz,
1709  int iwidth,
1710  int iheight,
1711  int ibrightness,
1712  int icontrast,
1713  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 
1772  DL_ImageDefData(const std::string& iref, const std::string& ifile) {
1773  ref = iref;
1774  file = ifile;
1775  }
1776 
1779  std::string ref;
1780 
1782  std::string file;
1783 };
1784 
1789  DL_DictionaryData(const std::string& handle) : handle(handle) {}
1790  std::string handle;
1791 };
1792 
1797  DL_DictionaryEntryData(const std::string& name, const std::string& handle)
1798  : name(name), handle(handle) {}
1799 
1800  std::string name;
1801  std::string handle;
1802 };
1803 
1804 #endif
1805 
1806 // EOF
int width
std::string name
int height
char type
#define NULL
DL_TraceData DL_3dFaceData
Definition: dl_entities.h:489
DL_TraceData DL_SolidData
Definition: dl_entities.h:484
#define DXFLIB_EXPORT
Definition: dl_global.h:12
normal_z y
normal_z x
normal_z z
double cz
Definition: dl_entities.h:322
DL_ArcData(double acx, double acy, double acz, double aRadius, double aAngle1, double aAngle2)
Definition: dl_entities.h:303
double angle2
Definition: dl_entities.h:329
double radius
Definition: dl_entities.h:325
double cy
Definition: dl_entities.h:320
double angle1
Definition: dl_entities.h:327
double cx
Definition: dl_entities.h:318
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)
Definition: dl_entities.h:952
DL_AttributeData(const DL_TextData &tData, const std::string &tag)
Definition: dl_entities.h:945
std::string tag
Definition: dl_entities.h:984
double bpz
Definition: dl_entities.h:81
std::string name
Definition: dl_entities.h:73
double bpx
Definition: dl_entities.h:77
double bpy
Definition: dl_entities.h:79
DL_BlockData(const std::string &bName, int bFlags, double bbpx, double bbpy, double bbpz)
Definition: dl_entities.h:60
DL_CircleData(double acx, double acy, double acz, double aRadius)
Definition: dl_entities.h:340
DL_ControlPointData(double px, double py, double pz, double weight)
Definition: dl_entities.h:552
std::string handle
Definition: dl_entities.h:1790
DL_DictionaryData(const std::string &handle)
Definition: dl_entities.h:1789
DL_DictionaryEntryData(const std::string &name, const std::string &handle)
Definition: dl_entities.h:1797
DL_DimAlignedData(double depx1, double depy1, double depz1, double depx2, double depy2, double depz2)
Definition: dl_entities.h:1109
DL_DimAngular3PData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, double ddpx3, double ddpy3, double ddpz3)
Definition: dl_entities.h:1315
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)
Definition: dl_entities.h:1249
DL_DimDiametricData(double ddpx, double ddpy, double ddpz, double dleader)
Definition: dl_entities.h:1222
DL_DimLinearData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, double dAngle, double dOblique)
Definition: dl_entities.h:1147
DL_DimOrdinateData(double ddpx1, double ddpy1, double ddpz1, double ddpx2, double ddpy2, double ddpz2, bool dxtype)
Definition: dl_entities.h:1367
DL_DimRadialData(double ddpx, double ddpy, double ddpz, double dleader)
Definition: dl_entities.h:1195
std::string text
Definition: dl_entities.h:1083
double lineSpacingFactor
Definition: dl_entities.h:1075
std::string style
Definition: dl_entities.h:1085
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)
Definition: dl_entities.h:995
DL_EllipseData(double cx, double cy, double cz, double mx, double my, double mz, double ratio, double angle1, double angle2)
Definition: dl_entities.h:595
DL_FitPointData(double x, double y, double z)
Definition: dl_entities.h:577
double originX
Definition: dl_entities.h:1508
std::string pattern
Definition: dl_entities.h:1506
double originY
Definition: dl_entities.h:1509
DL_HatchData(int numLoops, bool solid, double scale, double angle, const std::string &pattern, double originX=0.0, double originY=0.0)
Definition: dl_entities.h:1482
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)
Definition: dl_entities.h:1592
unsigned int nKnots
Definition: dl_entities.h:1669
std::vector< double > knots
Definition: dl_entities.h:1676
DL_HatchEdgeData(double x1, double y1, double x2, double y2)
Definition: dl_entities.h:1543
DL_HatchEdgeData(double cx, double cy, double mx, double my, double ratio, double angle1, double angle2, bool ccw)
Definition: dl_entities.h:1569
DL_HatchEdgeData(double cx, double cy, double radius, double angle1, double angle2, bool ccw)
Definition: dl_entities.h:1550
std::vector< std::vector< double > > controlPoints
Definition: dl_entities.h:1675
std::vector< std::vector< double > > vertices
Definition: dl_entities.h:1687
unsigned int nControl
Definition: dl_entities.h:1671
unsigned int nFit
Definition: dl_entities.h:1673
std::vector< double > weights
Definition: dl_entities.h:1677
unsigned int degree
Definition: dl_entities.h:1665
std::vector< std::vector< double > > fitPoints
Definition: dl_entities.h:1678
DL_HatchLoopData(int hNumEdges)
Definition: dl_entities.h:1524
std::string ref
Definition: dl_entities.h:1733
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)
Definition: dl_entities.h:1699
std::string ref
Definition: dl_entities.h:1779
DL_ImageDefData(const std::string &iref, const std::string &ifile)
Definition: dl_entities.h:1772
std::string file
Definition: dl_entities.h:1782
std::string name
Definition: dl_entities.h:670
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)
Definition: dl_entities.h:644
DL_KnotData(double pk)
Definition: dl_entities.h:538
std::string name
Definition: dl_entities.h:45
DL_LayerData(const std::string &name, int flags, bool off=false)
Definition: dl_entities.h:41
DL_LeaderData(int lArrowHeadFlag, int lLeaderPathType, int lLeaderCreationFlag, int lHooklineDirectionFlag, int lHooklineFlag, double lTextAnnotationHeight, double lTextAnnotationWidth, int lNumber)
Definition: dl_entities.h:1411
double textAnnotationHeight
Definition: dl_entities.h:1440
int hooklineDirectionFlag
Definition: dl_entities.h:1436
double textAnnotationWidth
Definition: dl_entities.h:1442
int leaderCreationFlag
Definition: dl_entities.h:1434
DL_LeaderVertexData(double px=0.0, double py=0.0, double pz=0.0)
Definition: dl_entities.h:1455
DL_LineData(double lx1, double ly1, double lz1, double lx2, double ly2, double lz2)
Definition: dl_entities.h:212
std::string name
Definition: dl_entities.h:106
double * pattern
Definition: dl_entities.h:116
DL_LinetypeData(const std::string &name, const std::string &description, int flags, int numberOfDashes, double patternLength, double *pattern=NULL)
Definition: dl_entities.h:92
double patternLength
Definition: dl_entities.h:114
std::string description
Definition: dl_entities.h:108
int attachmentPoint
Definition: dl_entities.h:757
double angle
Definition: dl_entities.h:779
double lineSpacingFactor
Definition: dl_entities.h:773
int lineSpacingStyle
Definition: dl_entities.h:769
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)
Definition: dl_entities.h:703
int drawingDirection
Definition: dl_entities.h:763
double width
Definition: dl_entities.h:749
std::string text
Definition: dl_entities.h:775
std::string style
Definition: dl_entities.h:777
double height
Definition: dl_entities.h:747
DL_PointData(double px=0.0, double py=0.0, double pz=0.0)
Definition: dl_entities.h:190
unsigned int number
Definition: dl_entities.h:379
unsigned int m
Definition: dl_entities.h:382
unsigned int n
Definition: dl_entities.h:385
DL_PolylineData(int pNumber, int pMVerteces, int pNVerteces, int pFlags, double pElevation=0.0)
Definition: dl_entities.h:366
double dz
Definition: dl_entities.h:292
double bz
Definition: dl_entities.h:285
double bx
Definition: dl_entities.h:281
DL_RayData(double bx, double by, double bz, double dx, double dy, double dz)
Definition: dl_entities.h:277
double by
Definition: dl_entities.h:283
double dy
Definition: dl_entities.h:290
double dx
Definition: dl_entities.h:288
double tangentEndY
Definition: dl_entities.h:525
double tangentEndZ
Definition: dl_entities.h:526
unsigned int nFit
Definition: dl_entities.h:516
unsigned int nKnots
Definition: dl_entities.h:510
double tangentStartY
Definition: dl_entities.h:522
double tangentEndX
Definition: dl_entities.h:524
double tangentStartZ
Definition: dl_entities.h:523
unsigned int degree
Definition: dl_entities.h:507
DL_SplineData(int degree, int nKnots, int nControl, int nFit, int flags)
Definition: dl_entities.h:499
double tangentStartX
Definition: dl_entities.h:521
unsigned int nControl
Definition: dl_entities.h:513
std::string primaryFontFile
Definition: dl_entities.h:174
std::string bigFontFile
Definition: dl_entities.h:176
double widthFactor
Definition: dl_entities.h:166
int textGenerationFlags
Definition: dl_entities.h:170
double lastHeightUsed
Definition: dl_entities.h:172
double obliqueAngle
Definition: dl_entities.h:168
std::string name
Definition: dl_entities.h:160
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)
Definition: dl_entities.h:127
bool operator==(const DL_StyleData &other)
Definition: dl_entities.h:148
double fixedTextHeight
Definition: dl_entities.h:164
double ipz
Definition: dl_entities.h:824
double xScaleFactor
Definition: dl_entities.h:836
double apy
Definition: dl_entities.h:829
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)
Definition: dl_entities.h:790
std::string style
Definition: dl_entities.h:856
double apz
Definition: dl_entities.h:831
double apx
Definition: dl_entities.h:827
double ipy
Definition: dl_entities.h:822
std::string text
Definition: dl_entities.h:854
int vJustification
Definition: dl_entities.h:852
int hJustification
Definition: dl_entities.h:846
double angle
Definition: dl_entities.h:858
double height
Definition: dl_entities.h:834
double ipx
Definition: dl_entities.h:820
int textGenerationFlags
Definition: dl_entities.h:838
double thickness
Definition: dl_entities.h:473
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)
Definition: dl_entities.h:440
DL_VertexData(double px=0.0, double py=0.0, double pz=0.0, double pBulge=0.0)
Definition: dl_entities.h:402
DL_XLineData(double bx, double by, double bz, double dx, double dy, double dz)
Definition: dl_entities.h:250