7 #pragma warning(4: 4640)
13 #define _USE_MATH_DEFINES
16 #include "Utility/wstring.h"
23 # define MAXPATHLEN _MAX_PATH
25 # define MAXPATHLEN 1024
28 #define RGB2ULONG(r,g,b) (0x00000000 | \
29 (((r) & 0xFF) << 24) | (((g) & 0xFF) << 16) | (((b) & 0xFF) << 8))
35 #define GDI_VC_FRACTION 0
42 #define DM_REPLACE 0x3
61 #define NINT(i) ( (long)(i + ((i < 0.)? -0.5: 0.5) ) )
64 #define ININT(i) ( (int)(i + ((i < 0.)? -0.5: 0.5) ) )
68 #define GREGION_RECTANGLE 1
69 #define GREGION_ELLIPSE 2
70 #define GREGION_POLYGON 3
71 #define GREGION_POLYBEZIER 4
72 #define GREGION_POLYLINE 5 // not a registered WebCGM region type
75 #define PGS_VISIBLE 0x01
76 #define PGS_CLOSE 0x02
77 #define PGS_NEW_REGION 0x04
78 #define PGS_CONNECT 0x08
80 #define PGS_IS_VISIBLE(k) (k & PGS_VISIBLE)
81 #define PGS_IS_CLOSE(k) (k & PGS_CLOSE)
83 #define CGM_PI 3.14159265358979323846264338327950288
84 #define degree_to_radian(deg) (CGM_PI * deg / 180.0)
85 #define radian_to_degree(rad) (180.0 * rad / CGM_PI)
86 #define Cvt2PosAngle(a) while (a < 0) a += CGM_PI * 2;
88 #define vectorLength(vec) ( sqrt(vec.x * vec.x + vec.y * vec.y) )
90 #include "Utility/DPoint.h"
91 #include "Utility/LPoint.h"
92 #include "Utility/FPoint.h"
96 #include "TextExtent.h"
97 #include "CgmObjects.h"
98 #include "HatchStyles.h"
100 #include "PolyPolylineData.h"
101 #include "InterpInteriorParams.h"
104 typedef void* CGMLIB2_HANDLE;
108 #define BwRasterCompressionNone 0
109 #define BwRasterCompressionGroup4 1
111 #define ColorRasterCompressionNone 0
112 #define ColorRasterCompressionRLE 1
113 #define ColorRasterCompressionPNG 2
114 #define ColorRasterCompressionJPEG 3
131 polyline = 0x00000000,
132 disjointPolyline = 0x00000001,
133 polyMarker = 0x00000002,
135 restrictedText = 0x00000008,
136 appendText = 0x00000010,
137 polygon = 0x00000020,
138 polygonSet = 0x00000040,
139 cellArray = 0x00000080,
140 rectangle = 0x00000100,
143 arc3PtClose = 0x00000800,
144 arcCenter = 0x00001000,
145 arcCenterClose = 0x00002000,
146 ellipse = 0x00004000,
147 ellipticalArc = 0x00008000,
148 ellipticalArcClose = 0x00010000,
149 arcCenterRev = 0x00020000,
152 polybezier = 0x00100000,
154 compoundLine = 0x00400000,
158 callout = 0x04000000,
159 hyperbolicArc = 0x08000000,
160 parabolicArc = 0x10000000,
161 copySegment = 0x20000000,
162 polySymbol = 0x40000000,
163 compoundText = 0x80000000,
165 message = 0x00000007,
166 applicationData = 0x0000000F
169 enum CellPathDirection {
176 enum LineProgressionDirection {
177 lineProgressionDir90 = 0,
178 lineProgressionDir270 = 1
181 enum InheritanceFlags {
182 inhFlagStateList = 0,
189 charSet94MultiByteG = 2,
190 charSet96MultiByteG = 3,
194 enum LocationDataTypeSelector {
195 locDataTypeSelUI8 = 0,
196 locDataTypeSelUI16 = 1,
197 locDataTypeSelUI32 = 2
200 enum ColourSelectionMode {
201 colourSelectIndexed = 0,
202 colourSelectDirect = 1
206 specModeAbsolute = 0,
208 specModeFractional = 2,
212 enum DevViewportSpecMode {
213 devViewSpecFraction = 0,
215 devViewSpecPhysical = 2
218 enum DevViewportIsotropy {
219 devViewIsotropyNotForced = 0,
220 devViewIsotropyForced = 1
223 enum DevViewportHorAlign {
224 devViewHorAlignLeft = 0,
225 devViewHorAlignCentre = 1,
226 devViewHorAlignRight = 2
229 enum DevViewportVertAlign {
230 devViewVertAlignBottom = 0,
231 devViewVertAlignCentre = 1,
232 devViewVertAlignTop = 2
242 interiorStyleHollow = 0,
243 interiorStyleSolid = 1,
244 interiorStylePattern = 2,
245 interiorStyleHatch = 3,
246 interiorStyleEmpty = 4,
247 interiorStyleGeoPatt = 5,
248 interiorStyleInterp = 6
252 hatchIndexHorizontal = 1,
253 hatchIndexVertical = 2,
254 hatchIndexPosSlope = 3,
255 hatchIndexNegSlope = 4,
256 hatchIndexHorVertCross = 5,
257 hatchIndexPosNegCross = 6
260 enum InterpolatedInteriorStyle {
261 interpolatedInteriorStyleParallel = 1,
262 interpolatedInteriorStyleElliptical = 2,
263 interpolatedInteriorStyleTriangular = 3
267 lineTypeNotVisible = 0,
272 lineTypeDashDotDot = 5,
273 lineTypeArrowTail = 6,
274 lineTypeCircleHead = 7,
275 lineTypeArrowHeadTail = 8,
276 lineTypeStyleStich = 9,
277 lineTypeStyleChain = 10,
278 lineTypeStyleCenter = 11,
279 lineTypeStyleHidden = 12,
280 lineTypeStylePhantom = 13,
281 lineTypeStyleWavy = 14,
282 lineTypeStyleZBroke = 15
286 hatchStyleParallel = 0,
287 hatchStyleCrossHatch = 1
296 clipIndicatorOff = 0,
303 clipModeLocusThenShape = 2
306 enum ProtectionRegionIndicator {
307 protRegionIndUnknown = 0,
308 protRegionIndOff = 1,
309 protRegionIndClip = 2,
310 protRegionIndShield = 3
315 textPathModeNonTang = 1,
316 textPathModeAxisTang = 2
319 enum TextFinalityFlag {
325 edgeFlagInvisible = 0,
328 edgeFlagVisibleClose = 3,
329 edgeFlagAttrChanged = 4
332 enum CellRepresentationMode {
333 cellRepRunLength = 0,
334 cellRepPackedList = 1
337 enum ArcClosureType {
343 enum ContinuityIndicator {
344 contIndicatorDisc = 1,
345 contIndicatorCont = 2
348 enum TileCompressionType {
349 tileCompressNullBack = 0,
350 tileCompressNullFore = 1,
352 tileCompress1Dimensional = 3,
353 tileCompressT42Dimensional = 4,
354 tileCompressBitmap = 5,
355 tileCompressRunLength = 6,
356 tileCompressJPEG = 7,
364 markerTypeAsterisk = 3,
365 markerTypeCircle = 4,
376 enum TextAlignmentHorizontal {
377 textHorAlignNormal = 0,
378 textHorAlignLeft = 1,
379 textHorAlignCentre = 2,
380 textHorAlignRight = 3,
381 textHorAlignContHor = 4
384 enum TextAlignmentVertical {
385 textVertAlignNormal = 0,
386 textVertAlignTop = 1,
387 textVertAlignCap = 2,
388 textVertAlignHalf = 3,
389 textVertAlignBase = 4,
390 textVertAlignBottom = 5,
391 textVertAlignContVert = 6
394 enum EdgeVisibility {
399 enum AspectSourceFlags {
406 asfTextFontIndex = 6,
407 asfTextPrecision = 7,
408 asfCharExpFactor = 8,
411 asfInteriorStyle = 11,
414 asfPatternIndex = 14,
420 enum AspectSourceFlagValue {
421 asfValueIndividual = 0,
425 enum LineCapIndicator {
426 lineCapUnspecified = 1,
429 lineCapProjSquare = 4,
433 enum DashCapIndicator {
434 dashCapUnspecified = 1,
439 enum LineJoinIndicator {
440 lineJoinUnspecified = 1,
446 enum LineTypeContinuation {
447 lineContUnspecified = 1,
448 lineContContinue = 2,
450 lineContAdaptiveCont = 4
456 textScoreThrough = 3,
460 enum TextScoreIndicator {
468 restrTextBoxedCap = 2,
469 restrTextBoxedAll = 3,
470 restrTextIsotropicCap = 4,
471 restrTextIsotropicAll = 5,
472 restrTextJustified = 6
476 symbolSizeHeight = 0,
482 messageActionRequiredFalse = 0,
483 messageActionRequiredTrue = 1
486 enum SegmentTransformationApplication {
491 enum InheritanceFilter {
492 inhFilterLineBundleIndex = 0,
493 inhFilterLineType = 1,
494 inhFilterLineWidth = 2,
495 inhFilterLineColour = 3,
496 inhFilterLineClippingMode = 4,
497 inhFilterMarkerBundleIndex = 5,
498 inhFilterMarkerType = 6,
499 inhFilterMarkerSize = 7,
500 inhFilterMarkerColour = 8,
501 inhFilterMarkerClippingMode = 9,
502 inhFilterTextBundleIndex = 10,
503 inhFilterTextFontIndex = 11,
504 inhFilterTextPrecision = 12,
505 inhFilterCharExpFactor = 13,
506 inhFilterCharSpacing = 14,
507 inhFilterTextColour = 15,
508 inhFilterCharHeight = 16,
509 inhFilterCharOrientation = 17,
510 inhFilterTextPath = 18,
511 inhFilterTextAlignment = 19,
512 inhFilterFillBundleIndex = 20,
513 inhFilterInteriorStyle = 21,
514 inhFilterFillColour = 22,
515 inhFilterHatchIndex = 23,
516 inhFilterPatternIndex = 24,
517 inhFilterEdgeBundleIndex = 25,
518 inhFilterEdgeType = 26,
519 inhFilterEdgeWidth = 27,
520 inhFilterEdgeColour = 28,
521 inhFilterEdgeVisibility = 29,
522 inhFilterEdgeClippingMode = 30,
523 inhFilterFillRefPoint = 31,
524 inhFilterPatternSize = 32,
525 inhFilterAuxColour = 33,
526 inhFilterTransparency = 34,
527 inhFilterLineAttributes = 35,
528 inhFilterMarkerAttributes = 36,
529 inhFilterTextPresAndPlaceAttr = 37,
530 inhFilterTextPlaceAndOrientAttr = 38,
531 inhFilterFillAttributes = 39,
532 inhFilterEdgeAttributes = 40,
533 inhFilterPatternAttr = 41,
534 inhFilterOutputControl = 42,
535 inhFilterPickIdentifier = 43,
536 inhFilterAllAttrAndControl = 44,
538 inhFilterLineTypeASF = 46,
539 inhFilterLineWidthASF = 47,
540 inhFilterLineColorASF = 48,
541 inhFilterMarkerTypeASF = 49,
542 inhFilterMarkerSizeASF = 50,
543 inhFilterMarkerColourASF = 51,
544 inhFilterTextFontIndexASF = 52,
545 inhFilterTextPrecisionASF = 53,
546 inhFilterCharExpFactorASF = 54,
547 inhFilterCharSpacingASF = 55,
548 inhFilterTextColourASF = 56,
549 inhFilterInteriorStyleASF = 57,
550 inhFilterFillColourASF = 58,
551 inhFilterHatchIndexASF = 59,
552 inhFilterPatternIndexASF = 60,
553 inhFilterEdgeTypeASF = 61,
554 inhFilterEdgeWidthASF = 62,
555 inhFilterEdgeColourASF = 63,
556 inhFilterLineASFs = 64,
557 inhFilterMarkerASFs = 65,
558 inhFilterTextASFs = 66,
559 inhFilterFillASFs = 67,
560 inhFilterEdgeASFs = 68,
561 inhFilterAllASFs = 69,
562 inhFilterMitreLimit = 70,
563 inhFilterLineCap = 71,
564 inhFilterLineJoin = 72,
565 inhFilterLineTypeCont = 73,
566 inhFilterLineTypeInitOffset = 74,
567 inhFilterTextScoreType = 75,
568 inhFilterRestrTextType = 76,
569 inhFilterInterpolatedInterior = 77,
570 inhFilterEdgeCap = 78,
571 inhFilterEdgeJoin = 79,
572 inhFilterEdgeTypeCont = 80,
573 inhFilterEdgeTypeInitOffset = 81,
574 inhFilterSymbolLibraryIndex = 82,
575 inhFilterSymbolColour = 83,
576 inhFilterSymbolSize = 84,
577 inhFilterSymbolOrientation = 85,
578 inhFilterSymbolAttr = 86
581 enum InheritanceFilterSetting {
582 inhFilterSettingStateList = 0,
583 inhFilterSettingSegment = 1
586 enum ClipInheritance {
587 clipInhStateList = 0,
588 clipInhIntersection = 1
591 enum SegmentHighlighting {
592 segHighlightNormal = 0,
597 polygonTypeNotAPolygon = 0,
598 polygonTypeComplex = 1,
599 polygonTypeConvex = 2,
600 polygonTypeNonconvex = 3
636 virtual DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
638 virtual void MoveEditHandle(
long nHandle,
bool bAspect, DPoint point);
640 virtual bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
646 virtual void ConvertColors(
int monoEnhance,
int colorConvert);
657 virtual long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression = BwRasterCompressionNone,
658 int colorCompression = ColorRasterCompressionNone,
bool unicode =
false,
bool bRGBa =
false,
int vdcPrecision = 0);
662 void RotatePts(DPoint center,
double angle, DPoint *points,
long nPoints);
718 DPoint m_patternHeight;
719 DPoint m_patternWidth;
720 DPoint m_patternRefPoint;
724 #ifndef CGMOBJECTS_NO_SAVE
736 static DPoint* beziertoPts(DPoint& p0, DPoint& p1, DPoint& p2, DPoint& p3,
double step,
long* nPts);
737 double DefaultStep();
738 static PolyPolylineData* PolyBezierToPoints(
long type, DPoint* pPts,
long count,
double step,
739 DRect* pRect = NULL, DRect* pBounds = NULL);
740 void dbgShapeInfo(
int i, std::wstring *pID);
741 DPoint *
arcToBeziers(DPoint center,
double radius,
double a1,
double a2,
long *cnt);
743 char polygonType(DPoint *pts,
long count);
744 wchar_t map2unichar(
wchar_t wcin);
763 #ifndef CGMOBJECTS_NO_SAVE
764 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
771 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
773 void SetPts(DPoint ll, DPoint ur);
783 DPoint Pt(
int i) { DPoint d = m_Pts[i];
return d; };
784 DPoint altPt(
int i) { DPoint d = m_altPts[i];
return d; };
786 const CCgmRect& operator=(
const CCgmRect& a );
805 void AddPath(
Path *path);
811 DPoint
GetHandle(
long nHandle,
int* pType,
double handleOffset = 0);
813 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
814 CCgmText* HitTestFragment(DPoint point);
818 #ifndef CGMOBJECTS_NO_SAVE
819 virtual long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
821 DPoint StartPos(DPoint* bounds);
826 double m_characterExpFactor;
855 unsigned char hor, ver;
861 unsigned char m_textPath;
874 #ifndef CGMOBJECTS_NO_SAVE
909 void AddPoint(DPoint point,
long index);
915 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
919 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
922 #ifndef CGMOBJECTS_NO_SAVE
923 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
949 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
954 #ifndef CGMOBJECTS_NO_SAVE
955 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision =
false);
958 int LengthCellColors();
959 int GetBytesPerLine();
960 bool Compress(
unsigned char* pRaw);
961 unsigned char* UnCompress();
1011 int GetBytesPerLine(
int nTile);
1012 DPoint* GetPQRPts();
1013 void GetXForm(
double m[2][2]);
1018 #ifndef CGMOBJECTS_NO_SAVE
1019 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision =
false);
1040 TileCompressionType compressionType;
1096 int SetTileArray(
int cellPathDir,
int lineProgressionDir,
int pathCellsPerTile,
int lineCellsPerTile,
1097 double pathCellSize,
double lineCellSize,
int pathCellsImage,
int lineCellsImage,
1098 int pathNumberOfTiles,
int lineNumberOfTiles);
1101 int SetTileCells(
int pathTileNumber,
int lineTileNumber,
unsigned char* pData,
int dataSize);
1128 #ifndef CGMOBJECTS_NO_SAVE
1129 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1161 #ifndef CGMOBJECTS_NO_SAVE
1162 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1171 long m_group_identifier;
1174 float m_sample_normalization_extent;
1182 unsigned long *list;
1186 unsigned long *list;
1187 } m_background_fill_colors;
1189 char m_positive_lobe_display_priority,
1190 m_negative_lobe_display_priority,
1191 m_positive_lobe_pixel_drawing_mode,
1192 m_negative_lobe_pixel_drawing_mode;
1193 float m_data_complete_coordinate;
1194 long m_data_complete_flag;
1195 long m_rendering_direction;
1198 FPoint m_orientation_baseline,
1199 m_orientation_amplitude;
1200 float m_baseline_scale,
1202 char m_display_mode_wiggle,
1203 m_display_mode_positive_va_fill,
1204 m_display_mode_negative_va_fill,
1205 m_display_mode_background_fill;
1206 long m_maximum_number_of_samples;
1209 } m_wiggle_amplitude_limit;
1212 } m_positive_va_fill_boundaries;
1215 } m_negative_va_fill_boundaries;
1216 char m_rectified_va_fill_mode;
1217 char m_va_fill_style;
1220 } m_va_fill_constant_colour;
1223 } m_va_fill_constant_pattern;
1224 char m_va_fill_alignment,
1225 m_va_fill_var_colour_selection;
1229 } m_va_fill_var_linear;
1232 } m_background_fill_boundaries;
1233 char m_background_colour_interpolation_mode;
1234 char m_background_fill_style;
1237 unsigned long index;
1239 } m_background_null_colour;
1240 CColor m_background_fill_constant_colour;
1241 char m_background_fill_alignment;
1242 char m_background_fill_var_colour_selection;
1246 } m_background_fill_var_linear;
1248 CColorReps *m_pColorReps;
1250 const CCgmTrace& operator=(
const CCgmTrace& a );
1269 #ifndef CGMOBJECTS_NO_SAVE
1270 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1277 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
1279 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
1284 DPoint ArcStartPt();
1302 bool IsPerpendicular(DPoint &pt1, DPoint &pt2, DPoint &pt3);
1303 DPoint Arc3PtCalcCenter(DPoint &pt1, DPoint &pt2, DPoint &pt3);
1319 #ifndef CGMOBJECTS_NO_SAVE
1320 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1327 void MakeBezierFromArc(
double CenterX,
double CenterY,
double RadiusX,
1328 double RadiusY,
double StartAngle,
double SweepRange,
bool UseMoveTo,
CCgmPoly *pPoly);
1330 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
1332 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
1336 DPoint ArcStartPt();
1355 DPoint SinglePoint(DPoint vector);
1380 #ifndef CGMOBJECTS_NO_SAVE
1381 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1386 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
1388 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
1395 DPoint SinglePoint(DPoint vector);
1414 DPoint m_tg_intersection_pt;
1418 #ifndef CGMOBJECTS_NO_SAVE
1419 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1424 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
1426 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
1433 DPoint SinglePoint(DPoint vector);
1460 #ifndef CGMOBJECTS_NO_SAVE
1461 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1467 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
1469 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
1487 enum ArrowheadType {
1490 arrowheadFilled = 2,
1491 arrowheadCircle = 3,
1492 arrowheadDiamond = 4
1501 #ifndef CGMOBJECTS_NO_SAVE
1502 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1513 float m_beginArrowheadHeight;
1517 float m_endArrowheadHeight;
1525 CCgmBaseObj* MakeArrowheadObj(ArrowheadType arrowType,
float arrowheadWidth,
float arrowheadHeight, DPoint start, DPoint end, DPoint* pOffset);
1554 DPoint
GetHandle(
long nHandle,
int*pType,
double handleOffset = 0);
1555 bool HitTest(DPoint point,
double margin,
int* pSegIndex = NULL);
1559 #ifndef CGMOBJECTS_NO_SAVE
1560 long Save(CGMLIB2_HANDLE hCGMLIB2,
int bwCompression,
int colorCompression,
bool unicode,
bool bRGBa,
int vdcPrecision);
1565 OutlineType m_outline;
1585 DPoint* TextPoints(
int baseCap = 0);
1660 long m_libraryIndex;
1661 DPoint m_orientation[2];
1662 long m_sizeIndicator;
1666 void AddPoint(DPoint point,
long index);
1689 std::wstring m_text;
1694 #endif // __DRAWOBJ_H__
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:6158
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:6891
PolyPolylineData * ConvertToPoints(double step=1)
convert this element to list of points
Definition: CgmObj.cpp:1088
unsigned char m_transparency
Transparency.
Definition: CgmObj.h:675
DPoint * arcToBeziers(DPoint center, double radius, double a1, double a2, long *cnt)
Definition: CgmObj.cpp:9531
ClipRectangle – Clipping rectangle data container class.
Definition: Clipping.h:44
unsigned char m_monoChromatic
Definition: CgmObj.h:989
long precision
color precision, 1 or 32
Definition: CgmObj.h:1042
unsigned char m_restrictedTextType
text precision
Definition: CgmObj.h:865
virtual DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:282
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:1711
double m_endValue
parameter start value
Definition: CgmObj.h:1454
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:5841
ClippingPath – ClippingPath data container class.
Definition: Clipping.h:19
virtual void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:619
virtual void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:425
CCgmCircle – Circle and CircularArc elements container class.
Definition: CgmObj.h:1258
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:5889
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:4146
CColor m_lineColor
line color, for filled element e.g. rectangle this is edge color
Definition: CgmObj.h:673
DPoint m_centerOrInter
centre, if 3 POINT arc this is intermediate point if 3 POINT arc
Definition: CgmObj.h:1291
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:3756
PolyPolylineData * ConvertToPoints(double step)
convert this element to list of points
Definition: CgmObj.cpp:8850
CColor biFgc
foreground color, when precision == 1 then this color is assigned to color specifiers with value == 1...
Definition: CgmObj.h:1046
double * m_knots
control points
Definition: CgmObj.h:1452
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:4663
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:3989
ArrowheadType m_endType
Ending Arrowhead Type, 0 = none.
Definition: CgmObj.h:1509
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:5811
int compressedLength
if precision == 32 and this is >0 this lenght of RLE compressed
Definition: CgmObj.h:1044
PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:5556
DRect GetClipRect()
get the clip rectangle of this element
Definition: CgmObj.cpp:269
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision=false)
save this element to CGM file
Definition: CgmObj.cpp:3550
DPoint m_tv_radius_end
centre point
Definition: CgmObj.h:1375
unsigned char m_interiorStyleSpecMode
interior style specfication mode
Definition: CgmObj.h:687
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
end point
Definition: CgmObj.cpp:6039
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:9773
CCgmCallout – Callout element container class, note- not a standard ISO CGM element.
Definition: CgmObj.h:1531
virtual void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:523
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:9245
float m_haloSize
add line halo 0= off, 1= on
Definition: CgmObj.h:1575
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:4387
CColor biBgc
background color; if precision == 1 then this color is assigned to color specifiers with value == 0 ...
Definition: CgmObj.h:1048
DRect m_bounds
retains element vdc bounds (now includes shape: line width for lines, marker size for markers...
Definition: CgmObj.h:667
CCgmHyperbolicArc – HyperbolicArc element container class.
Definition: CgmObj.h:1362
long m_precision
cell color precision, 1 or 32
Definition: CgmObj.h:982
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.h:1334
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:8935
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:9784
long m_nPts
number of point in point list
Definition: CgmObj.h:900
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:3394
double m_radius
radius unless this 3 POINT arc this is end point
Definition: CgmObj.h:1297
CCgmObjects * m_pOwner
pointer to owner of this element
Definition: CgmObj.h:711
virtual PolyPolylineData * ConvertToPoints(double step=1)
convert this element to list of points
Definition: CgmObj.cpp:2497
double m_characterSpacing
character up and base orientation vector
Definition: CgmObj.h:834
DRect GetBounds(bool locus=false)
Get Segment bounds.
DPoint * m_pts
poly point list
Definition: CgmObj.h:898
CMatrix m_transform
transform applied when copied
Definition: CgmObj.h:1609
bool IsFill()
true if this is a filled graphical element
Definition: CgmObj.cpp:1187
virtual ~CCgmBaseObj()
Destructor.
Definition: CgmObj.cpp:122
virtual bool IsText()
true if this is text element
Definition: CgmObj.cpp:420
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:2596
short m_lineType
line type
Definition: CgmObj.h:693
char m_lineTypeCont
line type continuation
Definition: CgmObj.h:689
virtual bool IsClosed()
true if this is a closed graphical element
Definition: CgmObj.cpp:390
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:6053
short m_ataLayerNumber
ATA Layer Number.
Definition: CgmObj.h:695
DPoint * m_pts
point list
Definition: CgmObj.h:1656
PolyPolylineData * ConvertToPoints(double step=1)
convert this element to list of points
Definition: CgmObj.cpp:3363
CInterpInteriorParams * m_interpInterior
pointer to interploated interior parameters, NULL if interiorStyle != interiorStyleInterp ...
Definition: CgmObj.h:703
DPoint m_end
start vector
Definition: CgmObj.h:1378
void RotatePts(DPoint center, double angle, DPoint *points, long nPoints)
rotate a list of point
Definition: CgmObj.cpp:711
DPoint * m_points
number of control porint
Definition: CgmObj.h:1451
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:6726
char m_halo
gap between number and line in mm
Definition: CgmObj.h:1574
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:4000
CCgmEllipse – Ellipse and EllipticalArc elements container class.
Definition: CgmObj.h:1309
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:1677
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:2196
long m_bytesPerLine
number of bytes per scan line
Definition: CgmObj.h:974
bool m_transpCellColorFlag
transparent cell color indicator
Definition: CgmObj.h:1023
DPoint m_end
end vector, if 3 POINT arc this is end point
Definition: CgmObj.h:1295
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:6777
ConnectType
Definition: CgmObj.h:1542
DPoint m_center
connecting line dogleg point
Definition: CgmObj.h:1569
CColor m_fillColor
fill color
Definition: CgmObj.h:671
CCgmNurb – Non-Uniform B-Spline & Rational B-Spline(Nurbs) element container class.
Definition: CgmObj.h:1440
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:7318
int m_action
Definition: CgmObj.h:1681
char m_closure
elliptical arc closure
Definition: CgmObj.h:1352
double m_characterHeight
character expansion factor
Definition: CgmObj.h:828
double m_lineWidth
line width
Definition: CgmObj.h:716
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:4454
DPoint m_Pt
tile starting position
Definition: CgmObj.h:1093
struct Larson::CCgmTileArray::@28 m_cellSize
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:1195
ConnectType m_connect
outline type 0= none, 1= circle, 2= rectangle
Definition: CgmObj.h:1566
DPoint m_cj_radius_end
endpoint of transverse radius
Definition: CgmObj.h:1376
CCgmCellArray – CellArray element container class.
Definition: CgmObj.h:933
float m_beginArrowheadWidth
Beginning arrowhead width and height expressed as a multiple of linewidth.
Definition: CgmObj.h:1512
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:6262
void CopyBase(CCgmBaseObj *p)
Copy attributes of object p to this object.
Definition: CgmObj.cpp:160
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:3159
DPoint m_Pts[3]
cell array corners, P, Q and R
Definition: CgmObj.h:980
unsigned char m_generalizedTextPathMode
restricted text type, see enum RestrTextType
Definition: CgmObj.h:867
long m_nPts
number of point in point list
Definition: CgmObj.h:1658
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:6763
void DeletePoint(long index)
delete specified point in points list.
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:8047
long SaveClipping(CGMLIB2_HANDLE hCGMLIB2)
save clipping during CGM save operation
Definition: CgmObj.cpp:907
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:9019
CCgmArrow::ArrowheadType m_arrowheadType
call center point, text, circle and rectangle will be centered on this point
Definition: CgmObj.h:1570
DRect IntersectClip(DRect rect)
tests for intersection of rect with bounds this element
Definition: CgmObj.cpp:356
virtual void ConvertColors(int monoEnhance, int colorConvert)
convert colors of this element as specified
Definition: CgmObj.cpp:205
DPoint m_cdp1
first conjugate diameter endpoint
Definition: CgmObj.h:1344
const CCgmCallout & operator=(const CCgmCallout &a)
halo line width expressed as multiple of line width
Definition: CgmObj.cpp:8733
virtual long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:340
DPoint m_start
elliptical arc start vector
Definition: CgmObj.h:1348
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:1900
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:8980
virtual void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:2662
enum Shape m_nShape
element shape, e.g. polyline, disjointPolyline ...
Definition: CgmObj.h:709
CPatternTables::PatternBundle * m_patternBundle
pointer to pattern table bundle, NULL if interiorStyle != interiorStylePattern
Definition: CgmObj.h:713
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:5488
virtual void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:2519
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:6088
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:1356
DPoint m_cdp2
second conjugate diameter endpoint
Definition: CgmObj.h:1346
virtual bool IsRaster()
true if this is a raster type element, e.g Cell Array
Definition: CgmObj.cpp:415
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:5306
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:9333
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:5545
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:1682
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:4081
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:8553
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:3402
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:8519
long GetNumberPolygons()
get number of sub polygons in polygon set, returns 1 if not a polygon set
Definition: CgmObj.cpp:1697
bool IsFill()
true if this is a filled graphical element
Definition: CgmObj.cpp:4443
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:4016
float m_mitreLimit
mitre limit
Definition: CgmObj.h:697
int m_compressedLength
if m_precision == 32 and this is >0 this m_CellColors are RLE compressed
Definition: CgmObj.h:972
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:1077
unsigned char m_characterSetIndex
generalized text path mode
Definition: CgmObj.h:869
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:200
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:5846
bool IsFill()
true if this is a filled graphical element
Definition: CgmObj.cpp:6711
std::wstring m_text
retricted text height
Definition: CgmObj.h:840
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:6682
unsigned char * m_cellColors
cell colors
Definition: CgmObj.h:970
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:1477
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:3670
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:9386
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:4069
void DrawPath(CDrawBase *pDB, Path *path, bool fill)
draw graphical path
Definition: CgmObj.cpp:259
virtual long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:2683
DPoint m_start
endpoint of conjugate radius
Definition: CgmObj.h:1377
unsigned char m_lineJoin
LineJoinIndicator.
Definition: CgmObj.h:681
virtual void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:255
double m_restrictedTextHeight
retricted text width
Definition: CgmObj.h:838
DPoint m_start
start vector, if 3 POINT arc this is start point
Definition: CgmObj.h:1293
struct Larson::CCgmTileArray::@30 m_imageCells
CCgmRect – Rectangle element container class.
Definition: CgmObj.h:751
void DeletePoint(long index)
delete specified point in points list.
Definition: CgmObj.cpp:1577
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:5240
long SaveFillAttr(CGMLIB2_HANDLE hCGMLIB2)
save fill attributes during CGM save operation
Definition: CgmObj.cpp:765
float m_arrowheadWidth
arrowhead type and end of connecting line
Definition: CgmObj.h:1571
char m_closure
closure type, pie or chord
Definition: CgmObj.h:1299
DPoint m_dogleg
connecting line anchor point
Definition: CgmObj.h:1568
virtual void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:993
CDrawBase – drawing base class from which all output specific draw classes are derived.
Definition: DrawBase.h:19
long m_transformationApplication
transformation application, if true transform is applied when copies
Definition: CgmObj.h:1612
virtual bool IsFill()
true if this is a filled graphical element
Definition: CgmObj.cpp:385
PolyPolylineData – poly-polyline data container class.
Definition: PolyPolylineData.h:6
long m_name
id of segment to be copied
Definition: CgmObj.h:1607
void AddPoint(DPoint point, long index)
add point to points list
Definition: CgmObj.cpp:9740
straight connecting line
Definition: CgmObj.h:1545
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:5298
PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:4157
long m_hatchPatternIndex
hatch index, NULL if interiorStyle != interiorStyleHatch
Definition: CgmObj.h:701
unsigned char m_lineDashCap
LineDashCapIndicator.
Definition: CgmObj.h:679
DPoint m_end_pt
start point
Definition: CgmObj.h:1416
unsigned char m_fillInteriorStyle
fill interior style
Definition: CgmObj.h:685
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:2064
virtual ~CCgmTileArray()
Destructor.
Definition: CgmObj.cpp:6810
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:1114
struct Larson::CCgmCellArray::@25 m_nCells
number cells in x and y
long SaveFirstText(CGMLIB2_HANDLE hCGMLIB2, CCgmText *pFirst, bool unicode)
alternate character set index
Definition: CgmObj.cpp:2781
virtual bool IsText()
true if this is text element
Definition: CgmObj.cpp:2657
virtual void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:1603
Path * m_path
used for AppendText to link to parent text
Definition: CgmObj.h:850
CCgmParabolicArc – ParabolicArc element container class.
Definition: CgmObj.h:1402
CCgmPolySymbol – PolySymbol element container class.
Definition: CgmObj.h:1641
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:4544
PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:1488
long m_contIndicator
polybezier continuation indicator, PolyBezier only
Definition: CgmObj.h:904
float m_gap
distance from the base of the arrow to its vertex expressed as multiple of line width ...
Definition: CgmObj.h:1573
long m_lineProgressionDir
line progression direction 0= 90 degrees, 1= 270 degrees
Definition: CgmObj.h:1091
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:5234
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.h:1281
unsigned char m_lineCap
LineCapIndicator.
Definition: CgmObj.h:677
virtual bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:345
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:1285
float m_arrowheadHeight
distance between the endpoints of the base of the arrow expressed as multiple of line width ...
Definition: CgmObj.h:1572
void AddPoint(DPoint point, long index)
add point to points list
Definition: CgmObj.cpp:1420
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:7305
DRect GetBounds(bool locus=false)
get geoemtric extents of this object, if locus = false this will be visible bounds including line or ...
Definition: CgmObj.cpp:528
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:9446
DPoint m_end
elliptical arc end vector
Definition: CgmObj.h:1350
long SaveLineAttr(CGMLIB2_HANDLE hCGMLIB2)
save line attributes during CGM save operation
Definition: CgmObj.cpp:887
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.h:772
ClipRectangle * m_clipRectangle
pointer to clip rectangle object: 0= no rectangular clipping, ohterwise poiner to object ...
Definition: CgmObj.h:707
Path – graphical path data container class.
Definition: Path.h:17
bool IsRaster()
true if this is a raster type element, e.g Cell Array
Definition: CgmObj.cpp:7286
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:5963
unsigned char m_textPrecision
text path
Definition: CgmObj.h:863
void ConvertColors(int monoEnhance, int colorConvert)
convert colors of this element as specified
Definition: CgmObj.cpp:6902
struct Larson::CCgmText::@24 m_textAlignment
text font index
long biTonal
Definition: CgmObj.h:1051
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:4493
struct Larson::CCgmText::@22 m_characterOrientation
character height
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:4571
long m_nWeights
parameter end value
Definition: CgmObj.h:1455
unsigned char * colors
color specifiers
Definition: CgmObj.h:1037
DPoint m_center
centre of ellipse or elliptical arc
Definition: CgmObj.h:1342
Definition: PatternTables.h:27
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.h:1390
double * m_weights
number of weights (Rational B-Spline only)
Definition: CgmObj.h:1456
void arcSmallToBeziers(double radius, double a1, double a2, DPoint *polyBez)
Definition: CgmObj.cpp:9586
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision=false)
save this element to CGM file
Definition: CgmObj.cpp:6961
virtual void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:3037
CCgmPoly – Poly elements container class(Polyline, PolyBezier, Polygon, Disjoint Polyline) ...
Definition: CgmObj.h:883
CCgmMessage – message or application data primitive element container class.
Definition: CgmObj.h:1674
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:6955
CCgmTileArray – TileArray element container class.
Definition: CgmObj.h:995
CCgmCopySegment – CopySegment element container class.
Definition: CgmObj.h:1590
bool IsFill()
true if this is a filled graphical element
Definition: CgmObj.cpp:1887
virtual long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression=BwRasterCompressionNone, int colorCompression=ColorRasterCompressionNone, bool unicode=false, bool bRGBa=false, int vdcPrecision=0)
save this element to CGM file
Definition: CgmObj.cpp:264
CCgmBaseObj – graphical element container base class.
Definition: CgmObj.h:121
float m_endArrowheadWidth
Ending arrowhead width and height expressed as a multiple of linewidth.
Definition: CgmObj.h:1516
ArrowheadType m_beginType
Beginning Arrowhead Type, 0 = none.
Definition: CgmObj.h:1507
DPoint m_anchor
connecting line type
Definition: CgmObj.h:1567
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:8990
unsigned char m_final
horizontal and vertical text alignment
Definition: CgmObj.h:859
CCgmTrace – Trace GDP element container class.
Definition: CgmObj.h:1148
long GetHandleCount()
return number of edit handles
Definition: CgmObj.h:812
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
list of weights (Rational B-Spline only)
Definition: CgmObj.cpp:6688
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:4006
void Draw(CDrawBase *pDB)
Draw Segment contents.
Definition: CgmObj.cpp:9465
unsigned char m_lineWidthSpecMode
line width specfication mode
Definition: CgmObj.h:683
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:6721
CCgmGdp – generalized drawing primitive element container class.
Definition: CgmObj.h:1616
bool m_transpCellColorFlag
transparent cell color indicator
Definition: CgmObj.h:984
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.h:1428
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:8565
void TransformBy(CMatrix *pXForm)
transform this element with specified matrix
Definition: CgmObj.cpp:5916
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:8036
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:5435
struct Larson::CCgmText::@23 m_textAlignmentCont
text extents
CCgmText – Text and RestrictedText elements container class.
Definition: CgmObj.h:794
virtual CCgmBaseObj * Clone()
return copy of this object, new memory is allocated for lists
Definition: CgmObj.cpp:8755
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:1143
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:4393
void MoveEditHandle(long nHandle, bool bAspect, DPoint point)
move position of specified edit handle
Definition: CgmObj.cpp:6131
CMatrix – transform matrix class.
Definition: Matrix.h:16
bool IsFill()
true if this is a filled graphical element
Definition: CgmObj.cpp:5361
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
end vector
Definition: CgmObj.cpp:5796
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:9368
struct Larson::CCgmTileArray::@27 m_nCells
long m_cellPathDir
cell path direction
Definition: CgmObj.h:1089
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:1120
CTextExtents – text extents container.
Definition: TextExtent.h:18
DPoint m_start
starting postion
Definition: CgmObj.h:1173
CTextExtent m_textExtent
text string
Definition: CgmObj.h:842
CColor m_auxColor
auxilary color, i.e. relevant when transparencyOn
Definition: CgmObj.h:669
ClippingPath * m_clippingPath
pointer to clipping path object i.e. protection regions
Definition: CgmObj.h:705
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:7291
long m_nControlPts
spline order
Definition: CgmObj.h:1450
PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:4802
void ConvertColors(int monoEnhance, int colorConvert)
convert colors of this element as specified
Definition: CgmObj.cpp:3170
bool IsRaster()
true if this is a raster type element, e.g Cell Array
Definition: CgmObj.cpp:3692
color data this tile
Definition: CgmObj.h:1035
CColor m_transpCellColor
transparent cell color
Definition: CgmObj.h:1025
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:1972
DRect BoundsFromPts(DPoint *pts, long nPts)
calculate the bound rectangle fron a list of points
Definition: CgmObj.cpp:46
PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:6273
virtual void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.h:817
float m_haloSize
halo line width expressed as multiple of line width
Definition: CgmObj.h:1522
CCgmArrow – Arrow element container class, note- not a standard ISO CGM element.
Definition: CgmObj.h:1481
bool HitTest(DPoint point, double margin, int *pSegIndex=NULL)
true if point touches this element within margin
Definition: CgmObj.cpp:5388
CInterpInteriorParams – Interpolated Interior Style parameters.
Definition: InterpInteriorParams.h:12
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:5790
double m_restrictedTextWidth
character spacing
Definition: CgmObj.h:836
PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:5974
CColor m_transpCellColor
transparent cell color
Definition: CgmObj.h:986
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:6083
long m_textFontIndex
text position, can be a compound text path
Definition: CgmObj.h:852
double m_startValue
list of knots
Definition: CgmObj.h:1453
void ReCalcBounds()
recalculates bounds of this element, e.g. after geometry is modified
Definition: CgmObj.cpp:3733
void Draw(CDrawBase *pDB)
draw this element to specfied drawing object
Definition: CgmObj.cpp:6033
DPoint m_start_pt
tangent intersect point
Definition: CgmObj.h:1415
char m_halo
add line halo 0= off, 1= on
Definition: CgmObj.h:1520
virtual PolyPolylineData * ConvertToPoints(double step=0)
convert this element to list of points
Definition: CgmObj.cpp:219
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:2524
long Save(CGMLIB2_HANDLE hCGMLIB2, int bwCompression, int colorCompression, bool unicode, bool bRGBa, int vdcPrecision)
save this element to CGM file
Definition: CgmObj.cpp:1609
DPoint GetHandle(long nHandle, int *pType, double handleOffset=0)
return position of specified edit handle
Definition: CgmObj.cpp:6716
void Restore(CCgmBaseObj *pObj)
restore the contents of this object from a copy
Definition: CgmObj.cpp:1961
CCgmObjects – CGM Picture container.
Definition: CgmObjects.h:472
struct Larson::CCgmTileArray::@26 m_nTiles
long GetHandleCount()
return number of edit handles
Definition: CgmObj.cpp:4484
no connecting line
Definition: CgmObj.h:1544
unsigned char * m_edges
edges list, PolyonsSet only
Definition: CgmObj.h:902
unsigned char m_altCharacterSetIndex
character set index
Definition: CgmObj.h:871
float m_lineTypeInitOff
element
Definition: CgmObj.h:699
char m_polygonType
polygon type, set by CgmIn
Definition: CgmObj.h:691