CFx SDK Documentation  2020SP3
GiGeometrySimplifier.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 __ODGIGEOMETRYSIMPLIFIER_H__
25 #define __ODGIGEOMETRYSIMPLIFIER_H__
26 
27 #include "Gi/GiFill.h"
28 #include "Gi/GiMapperItem.h"
29 #include "Gi/GiExport.h"
30 #include "Gi/GiConveyorGeometry.h"
31 #include "Ge/GeDoubleArray.h"
32 #include "Ge/GePoint2dArray.h"
33 #include "Ge/GePoint3dArray.h"
34 #include "Ge/GeVector3dArray.h"
35 #include "Gs/Gs.h"
36 
37 class OdGiDeviation;
38 
39 class OdGeLineSeg2d;
40 class OdGeLine2d;
41 class OdGeCircArc2d;
42 class OdGeCircArc3d;
43 class OdGeEllipArc3d;
44 
45 #include "TD_PackPush.h"
46 
59 {
60  // Old version do not override !!!
61  // Overide shellFaceOut() or triangleOut() instead
62  virtual int polygonWithHolesOut(OdUInt32, const OdGePoint3d*, OdUInt32 , OdUInt32*);
63 protected:
72  void drawTypedArc(OdGiArcType arcType, const OdGePoint3d& center,
73  OdGePoint3dArray& points, const OdGeVector3d* pNormal, const OdGeVector3d* pExtrusion);
74 protected:
78 
80  {
81  kSimplProcessingText = (1 << 0), // True if simplifier is inside TrueType text processing.
82  kSimplFillModeDisabled = (1 << 1), // True if shell/mesh primitives must be filled during vectorization.
83  kSimplEyeSpaceSilhs = (1 << 2), // Enables silhouettes processing in ECS (Eye Space).
84  kSimplLastFlag = kSimplEyeSpaceSilhs
85  ,kZInverted = (1 << 30) //FELIX_CHANGE
86  ,kDiscardBackFaces = (1 << 31) //FELIX_CHANGE
87  };
89 private:
90  OdInt32 m_nVertexCount;
91  const OdGePoint3d* m_pVertexList;
92  const OdGiVertexData* m_pVertexData;
93  OdGePoint2dArray m_loopsPnts;
94  OdGePoint3dArray m_points3d1; // for shellProc/plineProc level
95  OdGePoint3dArray m_points3d2; // for triangleOut/polylineOut level
96 protected:
100 
107  double deviation(const OdGiDeviationType deviationType, const OdGePoint3d& pointOnCurve) const;
108 
115  bool fillMode();
116  bool fillMode(bool& drawEdges);
117  bool fillMode(bool& drawEdges, bool& secColor);
119  bool shmFillMode(bool& drawEdges);
120  bool shmFillMode(bool& drawEdges, bool& secColor);
121 
125  bool processingText() const { return GETBIT(m_simplFlags, kSimplProcessingText); }
126 
130  bool silhouettesProcessingInEyeSpace() const { return GETBIT(m_simplFlags, kSimplEyeSpaceSilhs); }
134  void enableSilhouettesProcessingInEyeSpace(bool bEnable) { SETBIT(m_simplFlags, kSimplEyeSpaceSilhs, bEnable); }
135 
139  OdGiContext& giCtx() const { return const_cast<OdGiContext&>(m_pDrawCtx->giContext()); }
140 
148  virtual bool plineArcSegmentsAsArcProc(OdUInt32 drawContextFlags) const;
149 public:
152 
167  void setDeviation(const OdGeDoubleArray& deviations);
168 
175  void setDeviation(const OdGiDeviation* pDeviation);
176 
195  OdGsView::RenderMode renderMode() { return m_renderMode; }
196 
205 
209  OdGiConveyorContext* drawContext( ) { return m_pDrawCtx; }
210  const OdGiConveyorContext* drawContext( ) const { return m_pDrawCtx; }
211 
225  virtual void polylineOut(OdInt32 numPoints, const OdGePoint3d* vertexList);
226 
238  virtual void polygonOut(OdInt32 numPoints,
239  const OdGePoint3d* vertexList,
240  const OdGeVector3d* pNormal = 0);
241 
255  void setVertexData(OdInt32 numVertices,
256  const OdGePoint3d* vertexList,
257  const OdGiVertexData* pVertexData = 0);
258 
263  {
264  return m_nVertexCount;
265  }
266 
271  {
272  return m_pVertexList;
273  }
274 
278  const OdGiVertexData* vertexData() const
279  {
280  return m_pVertexData;
281  }
282 
287  {
288  return m_baseSubEntMarker;
289  }
290 
311  virtual void plineProc(const OdGiPolyline& polyline,
312  const OdGeMatrix3d* pXfm = 0,
313  OdUInt32 fromIndex = 0,
314  OdUInt32 numSegs = 0);
315 
325  virtual void polylineProc(OdInt32 numPoints,
326  const OdGePoint3d* vertexList,
327  const OdGeVector3d* pNormal = 0,
328  const OdGeVector3d* pExtrusion = 0,
329  OdGsMarker baseSubEntMarker = -1);
330 
337  virtual void polygonProc(OdInt32 numPoints,
338  const OdGePoint3d* vertexList,
339  const OdGeVector3d* pNormal = 0,
340  const OdGeVector3d* pExtrusion = 0);
341 
345  virtual void xlineProc(const OdGePoint3d& firstPoint, const OdGePoint3d& secondPoint);
346 
350  virtual void rayProc(const OdGePoint3d& basePoint, const OdGePoint3d& throughPoint);
351 
359  virtual void meshProc(OdInt32 numRows,
360  OdInt32 numColumns,
361  const OdGePoint3d* vertexList,
362  const OdGiEdgeData* pEdgeData = 0,
363  const OdGiFaceData* pFaceData = 0,
364  const OdGiVertexData* pVertexData = 0);
365 
387  virtual void generateMeshWires(OdInt32 numRows,
388  OdInt32 numColumns,
389  const OdGiEdgeData* pEdgeData,
390  const OdGiFaceData* pFaceData);
391 
412  virtual void generateMeshFaces(OdInt32 numRows, OdInt32 numColumns,
413  const OdGiFaceData* pFaceData);
414 
422  virtual void meshFaceOut(const OdInt32* faceList, const OdGeVector3d* pNormal);
423 
431  virtual void shellProc(OdInt32 numVertices,
432  const OdGePoint3d* vertexList,
433  OdInt32 faceListSize,
434  const OdInt32* faceList,
435  const OdGiEdgeData* pEdgeData = 0,
436  const OdGiFaceData* pFaceData = 0,
437  const OdGiVertexData* pVertexData = 0);
438 
460  virtual void generateShellWires(OdInt32 faceListSize,
461  const OdInt32* faceList,
462  const OdGiEdgeData* pEdgeData = 0,
463  const OdGiFaceData* pFaceData = 0);
464 
486  virtual void generateShellFaces(OdInt32 faceListSize,
487  const OdInt32* faceList,
488  const OdGiEdgeData* pEdgeData = 0,
489  const OdGiFaceData* pFaceData = 0);
490 
511  virtual void shellFaceOut(OdInt32 faceListSize,
512  const OdInt32* faceList,
513  const OdGeVector3d* pNormal);
514 
531  virtual void triangleOut(const OdInt32* vertices,
532  const OdGeVector3d* pNormal);
533 
554  virtual void generateShellFacets(OdInt32 faceListSize,
555  const OdInt32* faceList,
556  const OdGiFaceData* pFaceData = 0,
557  OdInt32 maxFacetSize = 3);
558 
576  virtual void facetOut(const OdInt32* faceList,
577  const OdInt32* edgeIndices,
578  const OdGeVector3d* pNormal);
579 
586  virtual void circleProc(const OdGePoint3d& center,
587  double radius,
588  const OdGeVector3d& normal,
589  const OdGeVector3d* pExtrusion = 0);
590 
591  virtual void circleProc(const OdGePoint3d& firstPoint,
592  const OdGePoint3d& secondPoint,
593  const OdGePoint3d& thirdPoint,
594  const OdGeVector3d* pExtrusion = 0);
595 
603  virtual void circularArcProc(const OdGePoint3d& center,
604  double radius,
605  const OdGeVector3d& normal,
606  const OdGeVector3d& startVector,
607  double sweepAngle,
608  OdGiArcType arcType = kOdGiArcSimple,
609  const OdGeVector3d* pExtrusion = 0);
610 
611  virtual void circularArcProc(const OdGePoint3d& firstPoint,
612  const OdGePoint3d& secondPoint,
613  const OdGePoint3d& thirdPoint,
614  OdGiArcType arcType = kOdGiArcSimple,
615  const OdGeVector3d* pExtrusion = 0);
616 
624  virtual void textProc(const OdGePoint3d& position,
625  const OdGeVector3d& u,
626  const OdGeVector3d& v,
627  const OdChar* msg,
628  OdInt32 length,
629  bool raw,
630  const OdGiTextStyle* pTextStyle,
631  const OdGeVector3d* pExtrusion = 0);
632  virtual void textProc2(const OdGePoint3d& position,
633  const OdGeVector3d& u, const OdGeVector3d& v,
634  const OdChar* msg, OdInt32 length, bool raw, const OdGiTextStyle* pTextStyle,
635  const OdGeVector3d* pExtrusion = 0, const OdGeExtents3d* extentsBox = 0);
636 
644  virtual void shapeProc(const OdGePoint3d& position,
645  const OdGeVector3d& direction,
646  const OdGeVector3d& upVector,
647  int shapeNumber,
648  const OdGiTextStyle* pTextStyle,
649  const OdGeVector3d* pExtrusion = 0);
650 
657  virtual void nurbsProc(const OdGeNurbCurve3d& nurbsCurve);
658 
665  virtual void ellipArcProc(
666  const OdGeEllipArc3d& ellipArc,
667  const OdGePoint3d* endPointOverrides = 0,
668  OdGiArcType arcType = kOdGiArcSimple,
669  const OdGeVector3d* pExtrusion = 0);
670 
677  virtual bool ellipArcProc(const OdGeEllipArc3d& ellipArc, double width);
678 
682  virtual void rasterImageProc(const OdGePoint3d& origin,
683  const OdGeVector3d& u,
684  const OdGeVector3d& v,
685  const OdGiRasterImage* pImage,
686  const OdGePoint2d* uvBoundary,
687  OdUInt32 numBoundPts,
688  bool transparency = false,
689  double brightness = 50.0,
690  double contrast = 50.0,
691  double fade = 0.0);
692 
705  virtual void initTexture(const OdGePoint3d& origin,
706  const OdGeVector3d& u,
707  const OdGeVector3d& v,
708  const OdGiRasterImage* pImage,
709  bool transparency,
710  double brightness,
711  double contrast,
712  double fade);
713 
717  virtual void uninitTexture();
718 
722  virtual void metafileProc(const OdGePoint3d& origin,
723  const OdGeVector3d& u,
724  const OdGeVector3d& v,
725  const OdGiMetafile* pMetafile,
726  bool dcAligned = true,
727  bool allowClipping = false);
728 
734  virtual void polypointProc(OdInt32 numPoints,
735  const OdGePoint3d* vertexList,
736  const OdCmEntityColor* pColors,
737  const OdCmTransparency* pTransparency = 0,
738  const OdGeVector3d* pNormals = 0,
739  const OdGeVector3d* pExtrusions = 0,
740  const OdGsMarker* pSubEntMarkers = 0,
741  OdInt32 nPointSize = 0);
742 
748  virtual void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d& startPoint, const OdGeVector3d& dirToNextPoint);
749 
756  virtual void edgeProc(const OdGiEdge2dArray& edges, const OdGeMatrix3d* pXform = 0);
757 
771  virtual void polylineOut(OdInt32 numPoints, const OdInt32* vertexIndexList);
772 
778  OdInt32 rows, OdInt32 columns,
779  const OdGePoint3d* pVertexList,
780  const OdGiEdgeData* pEdgeData,
781  const OdGiFaceData* pFaceData,
782  const OdGiVertexData* pVertexData);
783 
790  virtual void ttfPolyDrawProc(
791  OdInt32 numVertices, const OdGePoint3d* vertexList,
792  OdInt32 faceListSize, const OdInt32* faceList,
793  const OdUInt8* pBezierTypes, const OdGiFaceData* pFaceData = 0);
794 
799  void subdivideShellByVertexLimit(OdInt32 numVertices, const OdGePoint3d* vertexList,
800  OdInt32 faceListSize, const OdInt32* faceList,
801  const OdGiEdgeData* pEdgeData, const OdGiFaceData* pFaceData,
802  const OdGiVertexData* pVertexData, OdUInt32 nLimit);
803 
804 
809  const OdGePoint3d* pVertexList,
810  OdInt32 faceListSize,
811  const OdInt32* pFaceList,
812  const OdGiFaceData* pFaceData = 0,
813  OdGiMapperItemEntry* pMapper = 0
814  );
815 
816 protected:
817  // Pline primitive generation helpers
818  bool jointLineWithArc(const OdGiPolyline& lwBuf, OdInt32 LineSegNo, OdInt32 ArcSegNo, OdGePoint3dArray& points);
819  bool jointLineWithLine(const OdGiPolyline& lwBuf, OdInt32 LineSegNo1, OdInt32 LineSegNo2, OdGePoint3dArray& points);
820  bool jointArcWithLine(const OdGiPolyline& lwBuf, OdGeCircArc2d& arc, OdInt32 arcSegNo, OdInt32 lineSegNo,
821  OdGePoint3d& point1, OdGePoint3d& point2);
822  // Mesh primitive generation helpers
823  bool isMeshRequireVertexNormals(const OdGiVertexData *pVertexData);
824  void generateMeshVertexNormals(OdInt32 numRows, OdInt32 numCols, const OdGePoint3d *pVertexList, const OdGiVertexData *pVertexData,
825  OdGiVertexData &vertexData, OdGeVector3dArray &normals);
826  // Block of internal optimizations
828  OdGeLineSeg2d *m_pLineSeg2dEx[2]; OdGeLineSeg2d &tmpLineSeg2dEx(int n);
829  OdGeLine2d *m_pLine2dEx[4]; OdGeLine2d &tmpLine2dEx(int n);
833  OdGePoint3dArray &tmpPoints3d(int nLevel) { return (!nLevel) ? m_points3d1 : m_points3d2; }
834 };
835 
843 {
846  OdGiFillType fillType = kOdGiFillNever);
847  void set(OdDb::LineWeight lweight, OdGiFillType fillType, const OdGeVector3d* fillNormal);
849 
856 };
857 
858 #include "TD_PackPop.h"
859 
860 #endif //#ifndef __ODGIGEOMETRYSIMPLIFIER_H__
OdGiGeometrySimplifier::jointLineWithLine
bool jointLineWithLine(const OdGiPolyline &lwBuf, OdInt32 LineSegNo1, OdInt32 LineSegNo2, OdGePoint3dArray &points)
GETBIT
#define GETBIT(flags, bit)
Definition: OdaDefs.h:498
OdGiGeometrySimplifier::metafileProc
virtual void metafileProc(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiMetafile *pMetafile, bool dcAligned=true, bool allowClipping=false)
OdGiDeviation
Definition: GiDeviation.h:44
OdCmEntityColor
Definition: CmColorBase.h:68
OdGiGeometrySimplifier::setDeviation
void setDeviation(const OdGeDoubleArray &deviations)
OdGiContext
Definition: GiCommonDraw.h:108
OdGeVector3d
Definition: GeVector3d.h:54
kOdGiArcSimple
@ kOdGiArcSimple
Definition: GiGeometry.h:684
OdGiGeometrySimplifier::shmFillMode
bool shmFillMode(bool &drawEdges, bool &secColor)
OdGiGeometrySimplifier::generateShellFill
virtual void generateShellFill(OdGiHatchPatternPtr pHatch, const OdGePoint3d *pVertexList, OdInt32 faceListSize, const OdInt32 *pFaceList, const OdGiFaceData *pFaceData=0, OdGiMapperItemEntry *pMapper=0)
OdGiGeometrySimplifier::m_deviations
OdGeDoubleArray m_deviations
Definition: GiGeometrySimplifier.h:98
OdGsView::RenderMode
RenderMode
Definition: Gs.h:138
OdGiGeometrySimplifier::shellFaceOut
virtual void shellFaceOut(OdInt32 faceListSize, const OdInt32 *faceList, const OdGeVector3d *pNormal)
OdGiGeometrySimplifier
Definition: GiGeometrySimplifier.h:59
OdGiGeometrySimplifier::fillMode
bool fillMode(bool &drawEdges)
OdGiGeometrySimplifier::OdGiGeometrySimplifier
OdGiGeometrySimplifier()
OdUInt8
unsigned char OdUInt8
Definition: OdPlatformSettings.h:759
OdGiGeometrySimplifier::xlineProc
virtual void xlineProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)
OdGiGeometrySimplifier::fillMode
bool fillMode()
OdCmTransparency
Definition: CmColorBase.h:1617
OdGiGeometrySimplifier::generateShellWires
virtual void generateShellWires(OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0)
OdGiGeometrySimplifier::convertMeshToShell
void convertMeshToShell(OdInt32 rows, OdInt32 columns, const OdGePoint3d *pVertexList, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData, const OdGiVertexData *pVertexData)
OdGiFillData::m_pDrawCtx
OdGiConveyorContext * m_pDrawCtx
Definition: GiGeometrySimplifier.h:855
OdGiGeometrySimplifier::m_simplFlags
OdUInt32 m_simplFlags
Definition: GiGeometrySimplifier.h:88
OdGiFillData
Definition: GiGeometrySimplifier.h:843
OdGiGeometrySimplifier::tmpCircArc2d
OdGeCircArc2d & tmpCircArc2d()
OdGiFillType
OdGiFillType
Definition: Gi.h:40
OdGiGeometrySimplifier::drawContext
OdGiConveyorContext * drawContext()
Definition: GiGeometrySimplifier.h:209
SETBIT
#define SETBIT(flags, bit, value)
Definition: OdaDefs.h:497
OdGiGeometrySimplifier::shmFillMode
bool shmFillMode(bool &drawEdges)
OdGiGeometrySimplifier::rayProc
virtual void rayProc(const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)
OdGiGeometrySimplifier::giCtx
OdGiContext & giCtx() const
Definition: GiGeometrySimplifier.h:139
OdGiFillData::~OdGiFillData
~OdGiFillData()
OdGiGeometrySimplifier::m_pDrawCtx
OdGiConveyorContext * m_pDrawCtx
Definition: GiGeometrySimplifier.h:75
OdGiFillData::m_lweight
OdDb::LineWeight m_lweight
Definition: GiGeometrySimplifier.h:850
OdGiVertexData
Definition: GiGeometry.h:549
OdGiGeometrySimplifier::~OdGiGeometrySimplifier
~OdGiGeometrySimplifier()
GePoint3dArray.h
OdGiGeometrySimplifier::jointLineWithArc
bool jointLineWithArc(const OdGiPolyline &lwBuf, OdInt32 LineSegNo, OdInt32 ArcSegNo, OdGePoint3dArray &points)
OdGiPolyline
Definition: GiPolyline.h:49
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > >
TD_PackPop.h
OdGsMarker
ptrdiff_t OdGsMarker
Definition: OdPlatformSettings.h:889
OdGiGeometrySimplifier::deviation
double deviation(const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve) const
OdGiGeometrySimplifier::tmpLine2dEx
OdGeLine2d & tmpLine2dEx(int n)
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdGiGeometrySimplifier::subdivideShellByVertexLimit
void subdivideShellByVertexLimit(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData, const OdGiVertexData *pVertexData, OdUInt32 nLimit)
OdGeMatrix3d
Definition: GeMatrix3d.h:73
ODGI_EXPORT
#define ODGI_EXPORT
Definition: GiExport.h:35
OdGeLineSeg2d
Definition: GeLineSeg2d.h:42
OdGiGeometrySimplifier::m_renderMode
OdGsView::RenderMode m_renderMode
Definition: GiGeometrySimplifier.h:99
OdGiGeometrySimplifier::generateShellFacets
virtual void generateShellFacets(OdInt32 faceListSize, const OdInt32 *faceList, const OdGiFaceData *pFaceData=0, OdInt32 maxFacetSize=3)
OdGiGeometrySimplifier::plineProc
virtual void plineProc(const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)
OdGiGeometrySimplifier::tmpLineSeg2dEx
OdGeLineSeg2d & tmpLineSeg2dEx(int n)
OdGiGeometrySimplifier::plineArcSegmentsAsArcProc
virtual bool plineArcSegmentsAsArcProc(OdUInt32 drawContextFlags) const
OdGiGeometrySimplifier::initTexture
virtual void initTexture(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiRasterImage *pImage, bool transparency, double brightness, double contrast, double fade)
OdGiGeometrySimplifier::polylineOut
virtual void polylineOut(OdInt32 numPoints, const OdInt32 *vertexIndexList)
OdGiGeometrySimplifier::tmpLineSeg2d
OdGeLineSeg2d & tmpLineSeg2d()
OdGiConveyorContext::giContext
virtual OdGiContext & giContext() const =0
OdGiConveyorGeometry
Definition: GiConveyorGeometry.h:270
OdGiGeometrySimplifier::jointArcWithLine
bool jointArcWithLine(const OdGiPolyline &lwBuf, OdGeCircArc2d &arc, OdInt32 arcSegNo, OdInt32 lineSegNo, OdGePoint3d &point1, OdGePoint3d &point2)
OdGiGeometrySimplifier::setDeviation
void setDeviation(const OdGiDeviation *pDeviation)
OdGiGeometrySimplifier::generateMeshFaces
virtual void generateMeshFaces(OdInt32 numRows, OdInt32 numColumns, const OdGiFaceData *pFaceData)
OdGiFillData::m_pFillNormal
OdGeVector3d * m_pFillNormal
Definition: GiGeometrySimplifier.h:853
OdGeCircArc2d
Definition: GeCircArc2d.h:47
OdGiGeometrySimplifier::setDrawContext
void setDrawContext(OdGiConveyorContext *pDrawCtx)
OdGiFaceData
Definition: GiGeometry.h:245
OdGiFillData::m_fillNormal
OdGeVector3d m_fillNormal
Definition: GiGeometrySimplifier.h:852
OdGiGeometrySimplifier::meshProc
virtual void meshProc(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
OdGiGeometrySimplifier::edgeProc
virtual void edgeProc(const OdGiEdge2dArray &edges, const OdGeMatrix3d *pXform=0)
OdGiTextStyle
Definition: GiTextStyle.h:52
OdGiMapperItemEntry
Definition: GiMapperItem.h:52
OdSmartPtr
Definition: SmartPtr.h:58
OdGeEllipArc3d
Definition: GeEllipArc3d.h:60
OdGiGeometrySimplifier::circularArcProc
virtual void circularArcProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
OdGePoint3d
Definition: GePoint3d.h:55
OdGeLine2d
Definition: GeLine2d.h:43
OdGiGeometrySimplifier::generateShellFaces
virtual void generateShellFaces(OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0)
kOdGiFillNever
@ kOdGiFillNever
Definition: Gi.h:42
OdInt32
int OdInt32
Definition: OdPlatformSettings.h:782
OdGiFillData::m_pTraits
OdGiSubEntityTraits * m_pTraits
Definition: GiGeometrySimplifier.h:854
OdGiGeometrySimplifier::circularArcProc
virtual void circularArcProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
GiConveyorGeometry.h
OdGiArcType
OdGiArcType
Definition: GiGeometry.h:683
OdGiGeometrySimplifier::tmpPoints3d
OdGePoint3dArray & tmpPoints3d(int nLevel)
Definition: GiGeometrySimplifier.h:833
OdGiGeometrySimplifier::meshFaceOut
virtual void meshFaceOut(const OdInt32 *faceList, const OdGeVector3d *pNormal)
OdGiGeometrySimplifier::setVertexData
void setVertexData(OdInt32 numVertices, const OdGePoint3d *vertexList, const OdGiVertexData *pVertexData=0)
Gs.h
OdGiGeometrySimplifier::silhouettesProcessingInEyeSpace
bool silhouettesProcessingInEyeSpace() const
Definition: GiGeometrySimplifier.h:130
OdChar
wchar_t OdChar
Definition: OdPlatformSettings.h:745
OdGiGeometrySimplifier::textProc
virtual void textProc(const OdGePoint3d &position, const OdGeVector3d &u, const OdGeVector3d &v, const OdChar *msg, OdInt32 length, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
v
const GLfloat * v
Definition: gles2_ext.h:315
width
GLint GLenum GLsizei width
Definition: gles2_ext.h:110
length
GLuint GLsizei GLsizei * length
Definition: gles2_ext.h:274
OdGiEdgeData
Definition: GiGeometry.h:67
OdGiFillData::OdGiFillData
OdGiFillData(OdGiConveyorContext *pDrawCtx, OdGiSubEntityTraits *pTraits, OdDb::LineWeight lweight=OdDb::kLnWt000, OdGiFillType fillType=kOdGiFillNever)
OdGiGeometrySimplifier::circleProc
virtual void circleProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)
OdGiGeometrySimplifier::drawContext
const OdGiConveyorContext * drawContext() const
Definition: GiGeometrySimplifier.h:210
TD_PackPush.h
OdGiSubEntityTraits
Definition: Gi.h:94
OdGeNurbCurve3d
Definition: GeNurbCurve3d.h:49
OdGiFillData::m_fillType
OdGiFillType m_fillType
Definition: GiGeometrySimplifier.h:851
OdGiGeometrySimplifier::ellipArcProc
virtual bool ellipArcProc(const OdGeEllipArc3d &ellipArc, double width)
OdGiGeometrySimplifier::m_pDeviation
const OdGiDeviation * m_pDeviation
Definition: GiGeometrySimplifier.h:97
GePoint2dArray.h
OdDb::kLnWt000
@ kLnWt000
Definition: OdaDefs.h:383
OdGiGeometrySimplifier::shapeProc
virtual void shapeProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
OdGiDeviationType
OdGiDeviationType
Definition: GiCommonDraw.h:64
GiMapperItem.h
OdGiGeometrySimplifier::polylineOut
virtual void polylineOut(OdInt32 numPoints, const OdGePoint3d *vertexList)
OdGiMetafile
Definition: GiMetafile.h:40
OdGiGeometrySimplifier::polygonProc
virtual void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)
OdGiGeometrySimplifier::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)
OdGiConveyorContext
Definition: GiConveyorGeometry.h:54
GiExport.h
OdGiGeometrySimplifier::m_baseSubEntMarker
OdGsMarker m_baseSubEntMarker
Definition: GiGeometrySimplifier.h:77
OdGeExtents3d
Definition: GeExtents3d.h:45
OdGiGeometrySimplifier::SimplifierFlags
SimplifierFlags
Definition: GiGeometrySimplifier.h:80
OdDb::LineWeight
LineWeight
Definition: OdaDefs.h:382
OdGiGeometrySimplifier::triangleOut
virtual void triangleOut(const OdInt32 *vertices, const OdGeVector3d *pNormal)
OdGiGeometrySimplifier::isMeshRequireVertexNormals
bool isMeshRequireVertexNormals(const OdGiVertexData *pVertexData)
OdGiGeometrySimplifier::drawTypedArc
void drawTypedArc(OdGiArcType arcType, const OdGePoint3d &center, OdGePoint3dArray &points, const OdGeVector3d *pNormal, const OdGeVector3d *pExtrusion)
OdGiGeometrySimplifier::facetOut
virtual void facetOut(const OdInt32 *faceList, const OdInt32 *edgeIndices, const OdGeVector3d *pNormal)
OdGiGeometrySimplifier::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)
OdGiGeometrySimplifier::generateMeshWires
virtual void generateMeshWires(OdInt32 numRows, OdInt32 numColumns, const OdGiEdgeData *pEdgeData, const OdGiFaceData *pFaceData)
OdGiGeometrySimplifier::nurbsProc
virtual void nurbsProc(const OdGeNurbCurve3d &nurbsCurve)
OdGiFillData::set
void set(OdDb::LineWeight lweight, OdGiFillType fillType, const OdGeVector3d *fillNormal)
OdGiGeometrySimplifier::vertexDataCount
OdInt32 vertexDataCount() const
Definition: GiGeometrySimplifier.h:262
OdGiGeometrySimplifier::baseSubEntMarker
OdGsMarker baseSubEntMarker() const
Definition: GiGeometrySimplifier.h:286
OdGiGeometrySimplifier::uninitTexture
virtual void uninitTexture()
OdGiGeometrySimplifier::renderMode
OdGsView::RenderMode renderMode()
Definition: GiGeometrySimplifier.h:195
OdGiGeometrySimplifier::ellipArcProc
virtual void ellipArcProc(const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
OdGiGeometrySimplifier::polygonOut
virtual void polygonOut(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0)
OdGiGeometrySimplifier::circleProc
virtual void circleProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, const OdGeVector3d *pExtrusion=0)
OdGiGeometrySimplifier::generateMeshVertexNormals
void generateMeshVertexNormals(OdInt32 numRows, OdInt32 numCols, const OdGePoint3d *pVertexList, const OdGiVertexData *pVertexData, OdGiVertexData &vertexData, OdGeVector3dArray &normals)
OdGiGeometrySimplifier::rowOfDotsProc
virtual void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
OdGiGeometrySimplifier::ttfPolyDrawProc
virtual void ttfPolyDrawProc(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdUInt8 *pBezierTypes, const OdGiFaceData *pFaceData=0)
OdGiGeometrySimplifier::fillMode
bool fillMode(bool &drawEdges, bool &secColor)
OdGiGeometrySimplifier::m_pTraits
OdGiSubEntityTraits * m_pTraits
Definition: GiGeometrySimplifier.h:76
OdGeCircArc3d
Definition: GeCircArc3d.h:48
OdGiGeometrySimplifier::textProc2
virtual void textProc2(const OdGePoint3d &position, const OdGeVector3d &u, const OdGeVector3d &v, const OdChar *msg, OdInt32 length, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0, const OdGeExtents3d *extentsBox=0)
OdGiGeometrySimplifier::polylineProc
virtual void polylineProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)
OdGiGeometrySimplifier::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)
OdGiRasterImage
Definition: GiRasterImage.h:37
GeVector3dArray.h
OdGiGeometrySimplifier::tmpEllipArc3d
OdGeEllipArc3d & tmpEllipArc3d()
OdGiGeometrySimplifier::enableSilhouettesProcessingInEyeSpace
void enableSilhouettesProcessingInEyeSpace(bool bEnable)
Definition: GiGeometrySimplifier.h:134
GiFill.h
OdGiGeometrySimplifier::vertexDataList
const OdGePoint3d * vertexDataList() const
Definition: GiGeometrySimplifier.h:270
OdGiGeometrySimplifier::circleArcFillMode
bool circleArcFillMode()
OdGiGeometrySimplifier::vertexData
const OdGiVertexData * vertexData() const
Definition: GiGeometrySimplifier.h:278
GeDoubleArray.h
OdGePoint2d
Definition: GePoint2d.h:60
OdGiGeometrySimplifier::tmpCircArc3d
OdGeCircArc3d & tmpCircArc3d()
OdGiGeometrySimplifier::processingText
bool processingText() const
Definition: GiGeometrySimplifier.h:125