CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
AECHarvester.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a
16// license agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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 __AECHARVESTER_H__
25#define __AECHARVESTER_H__
26
27#include "FMProfile2D.h"
29#include <Gi/GiBaseVectorizer.h>
32
36namespace AECGe
37{
38
39 using namespace FacetModeler;
40
44class AECGEOMETRY_API Harvester : public OdGiBaseVectorizer,
46{
47 public:
51 Harvester( OdDbDatabase* pDb, const OdGeMatrix3d& mUCS );
52
56 virtual ~Harvester();
57
61 const OdGeTol& tol() const;
62
66 void setTol( const OdGeTol& tTol );
67
71 bool isProjectOnUCS() const;
72
76 void setIsProjectOnUCS( bool bProject );
77
78 public:
82 virtual void processGeometry( Segment2D& rGeometry ) const = 0;
83
87 virtual void processGeometry( Contour2D& rGeometry ) const = 0;
88
92 virtual void processGeometry( Profile2D& rGeometry ) const = 0;
93
94 public:
98 virtual OdGiRegenType regenType() const;
99
103 virtual void polylineOut( OdInt32 numPoints, const OdGePoint3d* vertexList );
104
108 virtual void polygonOut( OdInt32 numPoints,
109 const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0 );
110
114 virtual void plineProc( const OdGiPolyline& polyline,
115 const OdGeMatrix3d* pXfm = 0, OdUInt32 fromIndex = 0, OdUInt32 numSegs = 0 );
116
120 virtual void polylineProc( OdInt32 numPoints,
121 const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0, const OdGeVector3d* pExtrusion = 0, OdGsMarker baseSubEntMarker = -1);
122
126 virtual void polygonProc( OdInt32 numPoints,
127 const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0, const OdGeVector3d* pExtrusion = 0 );
128
132 virtual void meshProc( OdInt32 numRows,
133 OdInt32 numColumns, const OdGePoint3d* vertexList, const OdGiEdgeData* pEdgeData = 0,
134 const OdGiFaceData* pFaceData = 0, const OdGiVertexData* pVertexData = 0 );
135
139 virtual void circleProc( const OdGePoint3d& center,
140 double radius, const OdGeVector3d& normal, const OdGeVector3d* pExtrusion = 0 );
141
145 virtual void circleProc( const OdGePoint3d& firstPoint,
146 const OdGePoint3d& secondPoint, const OdGePoint3d& thirdPoint,
147 const OdGeVector3d* pExtrusion = 0 );
148
152 virtual void circularArcProc( const OdGePoint3d& center,
153 double radius, const OdGeVector3d& normal, const OdGeVector3d& startVector,
154 double sweepAngle, OdGiArcType arcType = kOdGiArcSimple,
155 const OdGeVector3d* pExtrusion = 0 );
156
160 virtual void circularArcProc( const OdGePoint3d& firstPoint,
161 const OdGePoint3d& secondPoint, const OdGePoint3d& thirdPoint,
162 OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0 );
163
167 virtual void textProc( const OdGePoint3d& position,
168 const OdGeVector3d& u, const OdGeVector3d& v, const OdChar* msg,
169 OdInt32 length, bool raw, const OdGiTextStyle* pTextStyle, const OdGeVector3d* pExtrusion = 0 );
170
174 virtual void shapeProc( const OdGePoint3d& position,
175 const OdGeVector3d& direction, const OdGeVector3d& upVector,
176 int shapeNumber, const OdGiTextStyle* pTextStyle, const OdGeVector3d* pExtrusion = 0 );
177
181 virtual void nurbsProc( const OdGeNurbCurve3d& nurbsCurve );
182
186 virtual void ellipArcProc( const OdGeEllipArc3d& ellipArc, const OdGePoint3d* endPointOverrides = 0,
187 OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0 );
188
192 virtual void rasterImageProc( const OdGePoint3d& origin,
193 const OdGeVector3d& u, const OdGeVector3d& v,
194 const OdGiRasterImage* pImage, const OdGePoint2d* uvBoundary,
195 OdUInt32 numBoundPts, bool transparency = false, double brightness = 50.0,
196 double contrast = 50.0, double fade = 0.0 );
197
201 virtual void metafileProc( const OdGePoint3d& origin,
202 const OdGeVector3d& u, const OdGeVector3d& v,
203 const OdGiMetafile* pMetafile, bool dcAligned = true,
204 bool allowClipping = false );
205
209 virtual void addRef();
210
214 virtual void release();
215
216 protected:
218
219 protected:
224};
225
226class AECGEOMETRY_API HarvesterOverall : public Harvester
227{
228 public:
233
234 public:
238 virtual void polylineOut( OdInt32 numPoints, const OdGePoint3d* vertexList );
239
243 virtual void polygonOut( OdInt32 numPoints,
244 const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0 );
245
249 virtual void plineProc( const OdGiPolyline& polyline,
250 const OdGeMatrix3d* pXfm = 0, OdUInt32 fromIndex = 0, OdUInt32 numSegs = 0 );
251
255 virtual void polylineProc( OdInt32 numPoints,
256 const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0, const OdGeVector3d* pExtrusion = 0, OdGsMarker baseSubEntMarker = -1);
257
261 virtual void polygonProc( OdInt32 numPoints,
262 const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0, const OdGeVector3d* pExtrusion = 0 );
263
267 virtual void meshProc( OdInt32 numRows,
268 OdInt32 numColumns, const OdGePoint3d* vertexList, const OdGiEdgeData* pEdgeData = 0,
269 const OdGiFaceData* pFaceData = 0, const OdGiVertexData* pVertexData = 0 );
270
274 virtual void circleProc( const OdGePoint3d& center,
275 double radius, const OdGeVector3d& normal, const OdGeVector3d* pExtrusion = 0 );
276
280 virtual void circleProc( const OdGePoint3d& firstPoint,
281 const OdGePoint3d& secondPoint, const OdGePoint3d& thirdPoint,
282 const OdGeVector3d* pExtrusion = 0 );
283
287 virtual void circularArcProc( const OdGePoint3d& center,
288 double radius, const OdGeVector3d& normal, const OdGeVector3d& startVector,
289 double sweepAngle, OdGiArcType arcType = kOdGiArcSimple,
290 const OdGeVector3d* pExtrusion = 0 );
291
295 virtual void circularArcProc( const OdGePoint3d& firstPoint,
296 const OdGePoint3d& secondPoint, const OdGePoint3d& thirdPoint,
297 OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0 );
298
302 virtual void textProc( const OdGePoint3d& position,
303 const OdGeVector3d& u, const OdGeVector3d& v, const OdChar* msg,
304 OdInt32 length, bool raw, const OdGiTextStyle* pTextStyle, const OdGeVector3d* pExtrusion = 0 );
305
309 virtual void shapeProc( const OdGePoint3d& position,
310 const OdGeVector3d& direction, const OdGeVector3d& upVector,
311 int shapeNumber, const OdGiTextStyle* pTextStyle, const OdGeVector3d* pExtrusion = 0 );
312
316 virtual void nurbsProc( const OdGeNurbCurve3d& nurbsCurve );
317
321 virtual void ellipArcProc( const OdGeEllipArc3d& ellipArc, const OdGePoint3d* endPointOverrides = 0,
322 OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0 );
323};
324
325}
326
327#endif // __AECHARVESTER_H__
OdGiRegenType
Definition: GiCommonDraw.h:51
OdGiArcType
Definition: GiGeometry.h:787
@ kOdGiArcSimple
Definition: GiGeometry.h:788
ptrdiff_t OdGsMarker
unsigned int OdUInt32
int OdInt32
wchar_t OdChar
virtual void processGeometry(Profile2D &rGeometry) const =0
virtual void plineProc(const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)
virtual OdGiRegenType regenType() const
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)
virtual void ellipArcProc(const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
Harvester(OdDbDatabase *pDb, const OdGeMatrix3d &mUCS)
virtual void nurbsProc(const OdGeNurbCurve3d &nurbsCurve)
OdGeMatrix3d m_mUCS
Definition: AECHarvester.h:220
virtual void circleProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)
ODRX_USING_HEAP_OPERATORS(OdGiBaseVectorizer)
virtual void circularArcProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
virtual void metafileProc(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiMetafile *pMetafile, bool dcAligned=true, bool allowClipping=false)
virtual void processGeometry(Segment2D &rGeometry) const =0
void setTol(const OdGeTol &tTol)
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)
bool isProjectOnUCS() const
virtual void addRef()
virtual void meshProc(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
virtual void processGeometry(Contour2D &rGeometry) const =0
virtual void polylineProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)
virtual void circleProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, const OdGeVector3d *pExtrusion=0)
const OdGeTol & tol() const
void setIsProjectOnUCS(bool bProject)
virtual void shapeProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
virtual ~Harvester()
OdGeMatrix3d m_mUCSInverted
Definition: AECHarvester.h:221
virtual void release()
virtual void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)
virtual void polylineOut(OdInt32 numPoints, const OdGePoint3d *vertexList)
virtual void circularArcProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
virtual void polygonOut(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0)
virtual void shapeProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
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)
virtual void circleProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, const OdGeVector3d *pExtrusion=0)
virtual void ellipArcProc(const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
HarvesterOverall(OdDbDatabase *pDb, const OdGeMatrix3d &mUCS)
virtual void circularArcProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
virtual void meshProc(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
virtual void circularArcProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
virtual void nurbsProc(const OdGeNurbCurve3d &nurbsCurve)
virtual void polygonOut(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0)
virtual void polylineOut(OdInt32 numPoints, const OdGePoint3d *vertexList)
virtual void polylineProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)
virtual void circleProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)
virtual void plineProc(const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)
virtual void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)
Definition: GeTol.h:49
const GLfloat * v
Definition: gles2_ext.h:315
GLuint GLsizei GLsizei * length
Definition: gles2_ext.h:274