CFx SDK Documentation  2020SP3
GiConveyorGeometry.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef __ODGICONVEYORGEOMETRY_H__
25 #define __ODGICONVEYORGEOMETRY_H__
26 
27 #include "Gi/GiGeometry.h"
28 #include "Gi/GiCommonDraw.h"
29 #include "Gs/GsSelectionReactor.h"
31 
32 class OdGiRasterImage;
33 class OdGiMetafile;
34 class OdGiViewport;
35 class OdGsView;
36 class OdGiCommonDraw;
37 class OdGiDeviation;
38 class OdGeExtents3d;
39 class OdGeBoundBlock3d;
40 
54 {
55 public:
56  virtual ~OdGiConveyorContext() {}
57 
61  virtual OdGiContext& giContext() const = 0;
62 
70  virtual OdGiSubEntityTraits& subEntityTraits() const = 0;
71 
75  virtual const OdGiSubEntityTraitsData& effectiveTraits() const = 0;
76 
82  virtual void setEffectiveTraits(const OdGiSubEntityTraitsData& traits,
83  const OdGeVector3d* fillNormal = NULL) = 0;
84 
88  virtual bool effectivelyVisible() const { return effectiveTraits().visibility(); }
89 
96  virtual const OdGiDrawableDesc* currentDrawableDesc() const = 0;
97 
104  virtual const OdGiDrawable* currentDrawable() const = 0;
105 
109  virtual const OdGiViewport* giViewport() const = 0;
110 
114  virtual const OdGsView* gsView() const = 0;
115 
126  virtual void onTraitsModified() = 0;
127 
135  virtual void onTextProcessing(const OdGePoint3d& /*position*/,
136  const OdGeVector3d& /*direction*/,
137  const OdGeVector3d& /*upVector*/) { }
138 
142  virtual bool regenAbort() const = 0;
143 
147  virtual const OdGiPathNode* currentGiPath() const = 0;
148 
152  virtual const OdGiDeviation& worldDeviation() const = 0;
156  virtual const OdGiDeviation& modelDeviation() const = 0;
160  virtual const OdGiDeviation& eyeDeviation() const = 0;
161 
172 
180 
184  virtual const OdGiLineweightOverride *currentLineweightOverride() const { return NULL; }
185 
187  {
188  // Spatial filter as simplifier
189  kSpatialFilterSimplPline = 1, // Simplify plineProc() by spatial filter
190  kSpatialFilterSimplNurbs = 2, // Simplify nurbsProc() by spatial filter
191  kSpatialFilterSimplText = 4, // Simplify textProc () by spatial filter
192  kSpatialFilterSimplShape = 8, // Simplify shapeProc() by spatial filter
194  kSpatialFilterSimplText | kSpatialFilterSimplShape), // All spatial filter options
195  // Conveyor embranchment as simplifier
196  kEmbranchmentSimplText = 16, // Simplify textProc () by conveyor embranchment
197  kEmbranchmentSimplNurbs = 32, // Simplify nurbsProc() by conveyor embranchment
198  kEmbranchmentSimplAll = (kEmbranchmentSimplText | kEmbranchmentSimplNurbs), // All conveyor embranchment options
200  // Pline subentity markers
201  kPlineMarkers = 64, // Enable subentity markers set per pline() call
202  kForceMarkersOnModified = 128, // Force onTraitsModified call for each subentity marker change
203  // Polyline subentity markers
204  kPolylineMarkers = 256, // Enable subentity markers set per polyline() call
205  // Pline geometry
206  kPlineAllowArcProc = 512, // Vectorizer will draw arc segments of polyline as arcs (otherwise as sample points)
207  // Enable test-specific functionality
208  kTestMode = 1024, // Enable test mode
209  // Specific vectorization mode
210  kLineTyperAfterMetafile = 2048 // Specific mode (for example in GDI device) when the Line type node are follows by the metafile
211  };
215  virtual OdUInt32 drawContextFlags() const { return 0; }
216 
220  virtual double annotationScale() const { return 1.0; }
221 };
222 
230 {
231 protected:
233 public:
237 
238  OdGiContext& giContext() const { return m_pCtx->giContext(); }
242  const OdGeVector3d* fillNormal = NULL) { m_pCtx->setEffectiveTraits(traits, fillNormal); }
243  bool effectivelyVisible() const { return m_pCtx->effectivelyVisible(); }
245  const OdGiDrawable* currentDrawable() const { return m_pCtx->currentDrawable(); }
246  const OdGiViewport* giViewport() const { return m_pCtx->giViewport(); }
247  const OdGsView* gsView() const { return m_pCtx->gsView(); }
249  void onTextProcessing(const OdGePoint3d& position, const OdGeVector3d& direction, const OdGeVector3d& upVector)
250  { m_pCtx->onTextProcessing(position, direction, upVector); }
251  bool regenAbort() const { return m_pCtx->regenAbort(); }
252  const OdGiPathNode* currentGiPath() const { return m_pCtx->currentGiPath(); }
253  const OdGiDeviation& worldDeviation() const { return m_pCtx->worldDeviation(); }
254  const OdGiDeviation& modelDeviation() const { return m_pCtx->modelDeviation(); }
255  const OdGiDeviation& eyeDeviation() const { return m_pCtx->eyeDeviation(); }
260 };
261 
270 {
271 public:
273 
285  virtual void plineProc(const OdGiPolyline& polyline,
286  const OdGeMatrix3d* pXfm = 0,
287  OdUInt32 fromIndex = 0,
288  OdUInt32 numSegs = 0) = 0;
289 
301  virtual void polylineProc(
302  OdInt32 numPoints, const OdGePoint3d* vertexList,
303  const OdGeVector3d* pNormal = 0,
304  const OdGeVector3d* pExtrusion = 0,
305  OdGsMarker baseSubEntMarker = -1) = 0;
306 
307 
308 #if defined(_MSC_VER) && (_MSC_VER >= 1400)
309 #pragma warning (push)
310 #pragma warning (disable: 4481) // Non-standard extension used
311 
312 // The right function prototype was changed (see above). Old one left to cause compilation error
313  virtual void polylineProc(
314  OdInt32 /*numPoints*/, const OdGePoint3d* /*vertexList*/,
315  const OdGeVector3d* /*pNormal*/,
316  const OdGeVector3d* /*pExtrusion*/,
317  OdInt32 /*baseSubEntMarker*/) sealed {ODA_FAIL();}
318 #pragma warning (pop)
319 #endif
320 
332  virtual void polygonProc(
333  OdInt32 numPoints, const OdGePoint3d* vertexList,
334  const OdGeVector3d* pNormal = 0,
335  const OdGeVector3d* pExtrusion = 0) = 0;
336 
345  virtual void xlineProc(
346  const OdGePoint3d& firstPoint, const OdGePoint3d& secondPoint) = 0;
347 
358  virtual void rayProc(
359  const OdGePoint3d& basePoint, const OdGePoint3d& throughPoint) = 0;
360 
377  virtual void meshProc(
378  OdInt32 numRows,
379  OdInt32 numColumns,
380  const OdGePoint3d* vertexList,
381  const OdGiEdgeData* pEdgeData = 0,
382  const OdGiFaceData* pFaceData = 0,
383  const OdGiVertexData* pVertexData = 0) = 0;
384 
399  virtual void shellProc(
400  OdInt32 numVertices, const OdGePoint3d* vertexList,
401  OdInt32 faceListSize, const OdInt32* faceList,
402  const OdGiEdgeData* pEdgeData = 0,
403  const OdGiFaceData* pFaceData = 0,
404  const OdGiVertexData* pVertexData = 0) = 0;
405 
416  virtual void circleProc(
417  const OdGePoint3d& center,
418  double radius,
419  const OdGeVector3d& normal,
420  const OdGeVector3d* pExtrusion = 0) = 0;
421 
433  virtual void circleProc(
434  const OdGePoint3d& firstPoint,
435  const OdGePoint3d& secondPoint,
436  const OdGePoint3d& thirdPoint,
437  const OdGeVector3d* pExtrusion = 0) = 0;
438 
465  virtual void circularArcProc(
466  const OdGePoint3d& center,
467  double radius,
468  const OdGeVector3d& normal,
469  const OdGeVector3d& startVector,
470  double sweepAngle,
471  OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0) = 0;
472 
486  virtual void circularArcProc(
487  const OdGePoint3d& firstPoint,
488  const OdGePoint3d& secondPoint,
489  const OdGePoint3d& thirdPoint,
490  OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0) = 0;
491 
513  virtual void ellipArcProc(
514  const OdGeEllipArc3d& ellipArc,
515  const OdGePoint3d* endPointOverrides = 0,
516  OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0) = 0;
517 
522  virtual void nurbsProc(
523  const OdGeNurbCurve3d& nurbsCurve) = 0;
524 
540  virtual void textProc(
541  const OdGePoint3d& position,
542  const OdGeVector3d& direction,
543  const OdGeVector3d& upVector,
544  const OdChar* msg,
545  OdInt32 numBytes,
546  bool raw,
547  const OdGiTextStyle* pTextStyle,
548  const OdGeVector3d* pExtrusion = 0) = 0;
549 
550  virtual void textProc2(
551  const OdGePoint3d& position,
552  const OdGeVector3d& direction,
553  const OdGeVector3d& upVector,
554  const OdChar* msg,
555  OdInt32 numBytes,
556  bool raw,
557  const OdGiTextStyle* pTextStyle,
558  const OdGeVector3d* pExtrusion = 0,
559  const OdGeExtents3d* /*extentsBox*/ = 0)
560  {
561  textProc(position, direction, upVector, msg, numBytes, raw, pTextStyle, pExtrusion);
562  }
563 
577  virtual void shapeProc(
578  const OdGePoint3d& position,
579  const OdGeVector3d& direction,
580  const OdGeVector3d& upVector,
581  int shapeNumber,
582  const OdGiTextStyle* pTextStyle,
583  const OdGeVector3d* pExtrusion = 0) = 0;
584 
599  virtual void rasterImageProc(
600  const OdGePoint3d& origin,
601  const OdGeVector3d& u,
602  const OdGeVector3d& v,
603  const OdGiRasterImage* pImage,
604  const OdGePoint2d* uvBoundary,
605  OdUInt32 numBoundPts,
606  bool transparency = false,
607  double brightness = 50.0,
608  double contrast = 50.0,
609  double fade = 0.0) = 0;
610 
621  virtual void metafileProc(
622  const OdGePoint3d& origin,
623  const OdGeVector3d& u,
624  const OdGeVector3d& v,
625  const OdGiMetafile* pMetafile,
626  bool dcAligned = true,
627  bool allowClipping = false) = 0;
628 
629  virtual void xlineProc2(const OdGePoint3d& basePoint, const OdGeVector3d& direction)
630  {
631  xlineProc(basePoint, basePoint + direction);
632  }
633  virtual void rayProc2(const OdGePoint3d& basePoint, const OdGeVector3d& direction)
634  {
635  rayProc(basePoint, basePoint + direction);
636  }
637 
638  virtual void setExtentsProc(const OdGePoint3d * /*pPoints*/, bool /*bTransform*/ = true) { }
639 
641  {
644  };
645  virtual int ttfCharProcFlags() const { return 0; }
646  virtual bool ttfCharProc(OdChar /*character*/, const OdGePoint3d& /*position*/,
647  const OdGeBoundBlock3d* /*pBoundBlock*/) { return false; }
648 
649  virtual void ttfPolyDrawProc(
650  OdInt32 numVertices, const OdGePoint3d* vertexList,
651  OdInt32 faceListSize, const OdInt32* faceList,
652  const OdUInt8* /*pBezierTypes*/, const OdGiFaceData* pFaceData = 0)
653  {
654  shellProc(numVertices, vertexList, faceListSize, faceList, 0, pFaceData);
655  }
656 
658  {
659  kBoundaryProcXform = 1, // Non-identity Xform available at least once
660  kBoundaryProcXformNonUni = 2, // Non-uni-scale Xform available at least once
661  kBoundaryProcProjection = 4, // Projective Xform available at least once
662  kBoundaryProcClip = 8, // Boundary clipped partially or completely at least once
663  kBoundaryProcClipFull = 16 // Boundary completely clipped at least once
664  };
666  const OdGeBoundBlock3d & /*boundBlock*/, // {I} represent block for apply check
667  OdUInt32 & /*outputFlags*/) // {O} will represent set of EConveyorBoundaryInfoFlags flags on out
668  {
669  }
670 
671  void polypointProc2(OdGiConveyorContext* pContext,
672  OdInt32 numPoints, const OdGePoint3d* vertexList, const OdCmEntityColor* pColors = 0,
673  const OdCmTransparency *pTransparency = 0, const OdGeVector3d* pNormals = 0, const OdGeVector3d* pExtrusions = 0,
674  const OdGsMarker* pSubEntMarkers = 0, OdInt32 nPointSize = 0);
675  void rowOfDotsProc2(OdInt32 numPoints, const OdGePoint3d& startPoint, const OdGeVector3d& dirToNextPoint);
676 
688  virtual void polypointProc(
689  OdInt32 numPoints, const OdGePoint3d* vertexList, const OdCmEntityColor* pColors,
690  const OdCmTransparency* pTransparency = 0, const OdGeVector3d* pNormals = 0, const OdGeVector3d* pExtrusions = 0,
691  const OdGsMarker* pSubEntMarkers = 0, OdInt32 nPointSize = 0) = 0;
692 
700  virtual void rowOfDotsProc(
701  OdInt32 numPoints, const OdGePoint3d& startPoint, const OdGeVector3d& dirToNextPoint) = 0;
702 
709  virtual void edgeProc(
710  const OdGiEdge2dArray& edges, const OdGeMatrix3d* pXform = 0) = 0;
711 };
712 
713 inline
715  OdInt32 numPoints, const OdGePoint3d* vertexList, const OdCmEntityColor* pColors,
716  const OdCmTransparency* pTransparency, const OdGeVector3d* pNormals, const OdGeVector3d* pExtrusions,
717  const OdGsMarker* pSubEntMarkers, OdInt32 /*nPointSize*/)
718 {
719  OdGePoint3d tmpVerts[2];
720  for (OdInt32 nPoint = 0; nPoint < numPoints; nPoint++)
721  {
722  OdGsMarker baseSubEntMarker = -1;
723  if ((pColors || pTransparency || pSubEntMarkers) && pContext)
724  {
725  if (pColors)
726  pContext->subEntityTraits().setTrueColor(pColors[nPoint]);
727  if (pTransparency)
728  pContext->subEntityTraits().setTransparency(pTransparency[nPoint]);
729  if (pSubEntMarkers)
730  pContext->subEntityTraits().setSelectionMarker(pSubEntMarkers[nPoint]);
731  pContext->onTraitsModified();
732  }
733  else if (pSubEntMarkers)
734  baseSubEntMarker = pSubEntMarkers[nPoint];
735  const OdGeVector3d *pNormal = (pNormals) ? (pNormals + nPoint) : NULL;
736  const OdGeVector3d *pExtrusion = (pExtrusions) ? (pExtrusions + nPoint) : NULL;
737  tmpVerts[1] = tmpVerts[0] = vertexList[nPoint];
738  polylineProc(2, tmpVerts, pNormal, pExtrusion, baseSubEntMarker);
739  }
740 }
741 
742 inline
743 void OdGiConveyorGeometry::rowOfDotsProc2(OdInt32 numPoints, const OdGePoint3d& startPoint, const OdGeVector3d& dirToNextPoint)
744 {
745  OdGePoint3d tmpVerts[2];
746  for (OdInt32 nPoint = 0; nPoint < numPoints; nPoint++)
747  {
748  tmpVerts[1] = tmpVerts[0] = startPoint + dirToNextPoint * double(nPoint);
749  polylineProc(2, tmpVerts);
750  }
751 }
752 
753 #endif //#ifndef __ODGICONVEYORGEOMETRY_H__
OdGiConveyorGeometry::polylineProc
virtual void polylineProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)=0
OdGiConveyorGeometry::circleProc
virtual void circleProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, const OdGeVector3d *pExtrusion=0)=0
OdGiConveyorGeometry::kBoundaryProcClip
@ kBoundaryProcClip
Definition: GiConveyorGeometry.h:662
OdGiSubEntityTraits::setTrueColor
virtual void setTrueColor(const OdCmEntityColor &color)=0
OdGiConveyorGeometry::setExtentsProc
virtual void setExtentsProc(const OdGePoint3d *, bool=true)
Definition: GiConveyorGeometry.h:638
OdGiDeviation
Definition: GiDeviation.h:44
OdCmEntityColor
Definition: CmColorBase.h:68
OdGiConveyorGeometry::ttfCharProc
virtual bool ttfCharProc(OdChar, const OdGePoint3d &, const OdGeBoundBlock3d *)
Definition: GiConveyorGeometry.h:646
OdGiSubEntityTraitsData::visibility
bool visibility() const
Definition: GiSubEntityTraitsData.h:154
OdGiContext
Definition: GiCommonDraw.h:108
OdGiConveyorGeometry::meshProc
virtual void meshProc(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)=0
OdGiConveyorContext::kSpatialFilterSimplNurbs
@ kSpatialFilterSimplNurbs
Definition: GiConveyorGeometry.h:190
OdGeVector3d
Definition: GeVector3d.h:54
kOdGiArcSimple
@ kOdGiArcSimple
Definition: GiGeometry.h:684
NULL
#define NULL
Definition: GsProperties.h:177
OdGiConveyorGeometry::metafileProc
virtual void metafileProc(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiMetafile *pMetafile, bool dcAligned=true, bool allowClipping=false)=0
OdGiConveyorContextWrapper::giViewport
const OdGiViewport * giViewport() const
Definition: GiConveyorGeometry.h:246
OdGiConveyorContext::drawContextFlags
virtual OdUInt32 drawContextFlags() const
Definition: GiConveyorGeometry.h:215
OdGiConveyorContext::effectiveTraits
virtual const OdGiSubEntityTraitsData & effectiveTraits() const =0
OdGiConveyorContext::getWorldToModelTransform
virtual OdGeMatrix3d getWorldToModelTransform() const =0
OdGiConveyorGeometry::shapeProc
virtual void shapeProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)=0
OdUInt8
unsigned char OdUInt8
Definition: OdPlatformSettings.h:759
OdGiSubEntityTraits::setSelectionMarker
virtual void setSelectionMarker(OdGsMarker selectionMarker)=0
OdGiConveyorContextWrapper::eyeDeviation
const OdGiDeviation & eyeDeviation() const
Definition: GiConveyorGeometry.h:255
OdGiConveyorGeometry::plineProc
virtual void plineProc(const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)=0
OdGiConveyorContextWrapper::gsView
const OdGsView * gsView() const
Definition: GiConveyorGeometry.h:247
OdGsView
Definition: Gs.h:133
OdGiConveyorGeometry::circularArcProc
virtual void circularArcProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)=0
OdGiConveyorContext::worldDeviation
virtual const OdGiDeviation & worldDeviation() const =0
OdGiConveyorGeometry::edgeProc
virtual void edgeProc(const OdGiEdge2dArray &edges, const OdGeMatrix3d *pXform=0)=0
OdCmTransparency
Definition: CmColorBase.h:1617
OdGiConveyorContext::kEmbranchmentSimplAll
@ kEmbranchmentSimplAll
Definition: GiConveyorGeometry.h:198
OdGiViewport
Definition: GiViewport.h:51
OdGiConveyorContextWrapper::effectiveTraits
const OdGiSubEntityTraitsData & effectiveTraits() const
Definition: GiConveyorGeometry.h:240
OdGiDrawableDesc
Definition: GsSelectionReactor.h:43
OdGiConveyorGeometry::conveyorBoundaryInfoProc
virtual void conveyorBoundaryInfoProc(const OdGeBoundBlock3d &, OdUInt32 &)
Definition: GiConveyorGeometry.h:665
OdGiVertexData
Definition: GiGeometry.h:549
OdGiConveyorContext::getModelToWorldTransform
virtual OdGeMatrix3d getModelToWorldTransform() const =0
OdGiConveyorContextWrapper::setOriginalContext
void setOriginalContext(OdGiConveyorContext *pCtx)
Definition: GiConveyorGeometry.h:235
OdGiConveyorContextWrapper::currentDrawable
const OdGiDrawable * currentDrawable() const
Definition: GiConveyorGeometry.h:245
OdGiPolyline
Definition: GiPolyline.h:49
OdArray
Definition: OdArray.h:591
OdGiSubEntityTraits::setTransparency
virtual void setTransparency(const OdCmTransparency &transparency)
OdGsMarker
ptrdiff_t OdGsMarker
Definition: OdPlatformSettings.h:889
GsSelectionReactor.h
OdGiConveyorGeometry::kBoundaryProcProjection
@ kBoundaryProcProjection
Definition: GiConveyorGeometry.h:661
OdGiConveyorContextWrapper::currentGiPath
const OdGiPathNode * currentGiPath() const
Definition: GiConveyorGeometry.h:252
OdGiConveyorGeometry::rayProc2
virtual void rayProc2(const OdGePoint3d &basePoint, const OdGeVector3d &direction)
Definition: GiConveyorGeometry.h:633
OdGiConveyorGeometry::rasterImageProc
virtual void rasterImageProc(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiRasterImage *pImage, const OdGePoint2d *uvBoundary, OdUInt32 numBoundPts, bool transparency=false, double brightness=50.0, double contrast=50.0, double fade=0.0)=0
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdGiConveyorContext::kForceMarkersOnModified
@ kForceMarkersOnModified
Definition: GiConveyorGeometry.h:202
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdGiConveyorGeometry::ttfPolyDrawProc
virtual void ttfPolyDrawProc(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdUInt8 *, const OdGiFaceData *pFaceData=0)
Definition: GiConveyorGeometry.h:649
ODA_FAIL
#define ODA_FAIL()
Definition: DebugStuff.h:65
OdGiConveyorContext::annotationScale
virtual double annotationScale() const
Definition: GiConveyorGeometry.h:220
OdGiCommonDraw
Definition: GiCommonDraw.h:572
OdGiConveyorGeometry::nurbsProc
virtual void nurbsProc(const OdGeNurbCurve3d &nurbsCurve)=0
OdGiConveyorContext::kPlineMarkers
@ kPlineMarkers
Definition: GiConveyorGeometry.h:201
OdGiConveyorContextWrapper::getModelToWorldTransform
OdGeMatrix3d getModelToWorldTransform() const
Definition: GiConveyorGeometry.h:256
OdGiConveyorContextWrapper::worldDeviation
const OdGiDeviation & worldDeviation() const
Definition: GiConveyorGeometry.h:253
OdGiConveyorContext::giContext
virtual OdGiContext & giContext() const =0
OdGiConveyorGeometry::circleProc
virtual void circleProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)=0
OdGiConveyorGeometry
Definition: GiConveyorGeometry.h:270
OdGiConveyorContextWrapper::getOriginalContext
OdGiConveyorContext * getOriginalContext() const
Definition: GiConveyorGeometry.h:234
OdGiConveyorContext::onTraitsModified
virtual void onTraitsModified()=0
OdGiFaceData
Definition: GiGeometry.h:245
OdGiTextStyle
Definition: GiTextStyle.h:52
OdGiConveyorGeometry::rowOfDotsProc2
void rowOfDotsProc2(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
Definition: GiConveyorGeometry.h:743
OdGiConveyorContextWrapper::onTraitsModified
void onTraitsModified()
Definition: GiConveyorGeometry.h:248
OdGiConveyorGeometry::xlineProc2
virtual void xlineProc2(const OdGePoint3d &basePoint, const OdGeVector3d &direction)
Definition: GiConveyorGeometry.h:629
OdGeEllipArc3d
Definition: GeEllipArc3d.h:60
OdGePoint3d
Definition: GePoint3d.h:55
OdGiConveyorContext::giViewport
virtual const OdGiViewport * giViewport() const =0
OdGiConveyorContext::eyeDeviation
virtual const OdGiDeviation & eyeDeviation() const =0
OdGiPathNode
Definition: GiPathNode.h:36
OdInt32
int OdInt32
Definition: OdPlatformSettings.h:782
OdGiConveyorContext::onTextProcessing
virtual void onTextProcessing(const OdGePoint3d &, const OdGeVector3d &, const OdGeVector3d &)
Definition: GiConveyorGeometry.h:135
OdGiConveyorContextWrapper::m_pCtx
OdGiConveyorContext * m_pCtx
Definition: GiConveyorGeometry.h:232
OdGiConveyorContext::currentDrawable
virtual const OdGiDrawable * currentDrawable() const =0
OdGiArcType
OdGiArcType
Definition: GiGeometry.h:683
OdGiConveyorContext::kConveyorSimplAll
@ kConveyorSimplAll
Definition: GiConveyorGeometry.h:199
GiGeometry.h
OdGiConveyorContextWrapper::subEntityTraits
OdGiSubEntityTraits & subEntityTraits() const
Definition: GiConveyorGeometry.h:239
OdGiConveyorGeometry::textProc
virtual void textProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, const OdChar *msg, OdInt32 numBytes, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)=0
OdGiSubEntityTraitsData
Definition: GiSubEntityTraitsData.h:73
OdGiConveyorGeometry::ETtfCharProcFlags
ETtfCharProcFlags
Definition: GiConveyorGeometry.h:641
OdGiDrawable
Definition: GiDrawable.h:49
OdGiConveyorContext::subEntityTraits
virtual OdGiSubEntityTraits & subEntityTraits() const =0
OdGiConveyorGeometry::shellProc
virtual void shellProc(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)=0
OdGiConveyorContextWrapper::setEffectiveTraits
void setEffectiveTraits(const OdGiSubEntityTraitsData &traits, const OdGeVector3d *fillNormal=NULL)
Definition: GiConveyorGeometry.h:241
OdGiConveyorContext::currentLineweightOverride
virtual const OdGiLineweightOverride * currentLineweightOverride() const
Definition: GiConveyorGeometry.h:184
OdGiConveyorContext::kSpatialFilterSimplShape
@ kSpatialFilterSimplShape
Definition: GiConveyorGeometry.h:192
OdGiConveyorContextWrapper
Definition: GiConveyorGeometry.h:230
OdChar
wchar_t OdChar
Definition: OdPlatformSettings.h:745
OdGiConveyorGeometry::rayProc
virtual void rayProc(const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)=0
OdGiConveyorContext::effectivelyVisible
virtual bool effectivelyVisible() const
Definition: GiConveyorGeometry.h:88
v
const GLfloat * v
Definition: gles2_ext.h:315
OdGiEdgeData
Definition: GiGeometry.h:67
OdGiConveyorContextWrapper::getWorldToModelTransform
OdGeMatrix3d getWorldToModelTransform() const
Definition: GiConveyorGeometry.h:257
GiCommonDraw.h
OdGiConveyorGeometry::kBoundaryProcXformNonUni
@ kBoundaryProcXformNonUni
Definition: GiConveyorGeometry.h:660
OdGiConveyorGeometry::polygonProc
virtual void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)=0
OdGiSubEntityTraits
Definition: Gi.h:94
OdGeNurbCurve3d
Definition: GeNurbCurve3d.h:49
OdGiConveyorContextWrapper::onTextProcessing
void onTextProcessing(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector)
Definition: GiConveyorGeometry.h:249
OdGiConveyorGeometry::rowOfDotsProc
virtual void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)=0
OdGiConveyorContext::kPolylineMarkers
@ kPolylineMarkers
Definition: GiConveyorGeometry.h:204
GiSubEntityTraitsData.h
OdGiConveyorGeometry::kBoundaryProcXform
@ kBoundaryProcXform
Definition: GiConveyorGeometry.h:659
OdGiConveyorContext::currentDrawableDesc
virtual const OdGiDrawableDesc * currentDrawableDesc() const =0
OdGiConveyorContext::kSpatialFilterSimplText
@ kSpatialFilterSimplText
Definition: GiConveyorGeometry.h:191
OdGiConveyorContext::kSpatialFilterSimplAll
@ kSpatialFilterSimplAll
Definition: GiConveyorGeometry.h:193
OdGiConveyorGeometry::kBoundaryProcClipFull
@ kBoundaryProcClipFull
Definition: GiConveyorGeometry.h:663
OdGeBoundBlock3d
Definition: GeBoundBlock3d.h:43
OdGiMetafile
Definition: GiMetafile.h:40
OdGiConveyorGeometry::xlineProc
virtual void xlineProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)=0
OdGiConveyorContextWrapper::giContext
OdGiContext & giContext() const
Definition: GiConveyorGeometry.h:238
OdGiConveyorGeometry::polypointProc2
void polypointProc2(OdGiConveyorContext *pContext, OdInt32 numPoints, const OdGePoint3d *vertexList, const OdCmEntityColor *pColors=0, const OdCmTransparency *pTransparency=0, const OdGeVector3d *pNormals=0, const OdGeVector3d *pExtrusions=0, const OdGsMarker *pSubEntMarkers=0, OdInt32 nPointSize=0)
Definition: GiConveyorGeometry.h:714
OdGiConveyorContext::kLineTyperAfterMetafile
@ kLineTyperAfterMetafile
Definition: GiConveyorGeometry.h:210
OdGiConveyorContext::kPlineAllowArcProc
@ kPlineAllowArcProc
Definition: GiConveyorGeometry.h:206
OdGiConveyorContext::currentGiPath
virtual const OdGiPathNode * currentGiPath() const =0
OdGiConveyorGeometry::kTtfCharProcEnable
@ kTtfCharProcEnable
Definition: GiConveyorGeometry.h:642
OdGiConveyorContext::setEffectiveTraits
virtual void setEffectiveTraits(const OdGiSubEntityTraitsData &traits, const OdGeVector3d *fillNormal=NULL)=0
OdGiConveyorContext
Definition: GiConveyorGeometry.h:54
OdGiConveyorContext::gsView
virtual const OdGsView * gsView() const =0
OdGiConveyorContext::kTestMode
@ kTestMode
Definition: GiConveyorGeometry.h:208
OdGiConveyorContext::regenAbort
virtual bool regenAbort() const =0
OdGiLineweightOverride
Definition: GiLineweightOverride.h:41
OdGiConveyorContextWrapper::modelDeviation
const OdGiDeviation & modelDeviation() const
Definition: GiConveyorGeometry.h:254
OdGeExtents3d
Definition: GeExtents3d.h:45
OdGiConveyorGeometry::~OdGiConveyorGeometry
virtual ~OdGiConveyorGeometry()
Definition: GiConveyorGeometry.h:272
OdGiConveyorContextWrapper::currentLineweightOverride
const OdGiLineweightOverride * currentLineweightOverride() const
Definition: GiConveyorGeometry.h:258
OdGiConveyorContext::modelDeviation
virtual const OdGiDeviation & modelDeviation() const =0
OdGiConveyorContextWrapper::currentDrawableDesc
const OdGiDrawableDesc * currentDrawableDesc() const
Definition: GiConveyorGeometry.h:244
OdGiConveyorContextWrapper::drawContextFlags
OdUInt32 drawContextFlags() const
Definition: GiConveyorGeometry.h:259
OdGiConveyorContext::ConveyorContextFlags
ConveyorContextFlags
Definition: GiConveyorGeometry.h:187
OdGiConveyorContext::~OdGiConveyorContext
virtual ~OdGiConveyorContext()
Definition: GiConveyorGeometry.h:56
OdGiConveyorContext::kEmbranchmentSimplNurbs
@ kEmbranchmentSimplNurbs
Definition: GiConveyorGeometry.h:197
OdGiConveyorGeometry::circularArcProc
virtual void circularArcProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)=0
OdGiConveyorGeometry::EConveyorBoundaryInfoFlags
EConveyorBoundaryInfoFlags
Definition: GiConveyorGeometry.h:658
OdGiConveyorGeometry::ellipArcProc
virtual void ellipArcProc(const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)=0
OdGiConveyorGeometry::polypointProc
virtual void polypointProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdCmEntityColor *pColors, const OdCmTransparency *pTransparency=0, const OdGeVector3d *pNormals=0, const OdGeVector3d *pExtrusions=0, const OdGsMarker *pSubEntMarkers=0, OdInt32 nPointSize=0)=0
OdGiConveyorContextWrapper::OdGiConveyorContextWrapper
OdGiConveyorContextWrapper(OdGiConveyorContext *pCtx=NULL)
Definition: GiConveyorGeometry.h:236
OdGiConveyorGeometry::textProc2
virtual void textProc2(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, const OdChar *msg, OdInt32 numBytes, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0, const OdGeExtents3d *=0)
Definition: GiConveyorGeometry.h:550
OdGiConveyorContextWrapper::regenAbort
bool regenAbort() const
Definition: GiConveyorGeometry.h:251
OdGiRasterImage
Definition: GiRasterImage.h:37
OdGiConveyorContextWrapper::effectivelyVisible
bool effectivelyVisible() const
Definition: GiConveyorGeometry.h:243
OdGiConveyorGeometry::kTtfCharProcBoundBlock
@ kTtfCharProcBoundBlock
Definition: GiConveyorGeometry.h:643
OdGiConveyorGeometry::ttfCharProcFlags
virtual int ttfCharProcFlags() const
Definition: GiConveyorGeometry.h:645
OdGiConveyorContext::kEmbranchmentSimplText
@ kEmbranchmentSimplText
Definition: GiConveyorGeometry.h:196
OdGiConveyorContext::kSpatialFilterSimplPline
@ kSpatialFilterSimplPline
Definition: GiConveyorGeometry.h:189
OdGePoint2d
Definition: GePoint2d.h:60