CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GiConveyorPassingImpl.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 license
16// 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 __ODGICONVEYORPASSINGIMPL__
25#define __ODGICONVEYORPASSINGIMPL__
26
27#include "Gi/GiEmptyGeometry.h"
28
29
30template<class TThisClass, class TBase = OdGiConveyorGeometry>
31class OdGiConveyorPassingImpl : public TBase {
32 OdGiConveyorGeometry& destGeom() {
33 return static_cast<TThisClass*>(this)->destGeometry();
34 }
35public:
36 void plineProc(const OdGiPolyline& polyline,
37 const OdGeMatrix3d* pXfm = 0,
38 OdUInt32 fromIndex = 0,
39 OdUInt32 numSegs = 0)
40 {
41 destGeom().plineProc(polyline, pXfm, fromIndex, numSegs);
42 }
43
44 void polylineProc(OdInt32 numPoints,
45 const OdGePoint3d* vertexList,
46 const OdGeVector3d* pNormal = 0,
47 const OdGeVector3d* pExtrusion = 0,
48 OdGsMarker baseSubEntMarker = -1)
49 {
50 destGeom().polylineProc(numPoints, vertexList, pNormal, pExtrusion, baseSubEntMarker);
51 }
52
53 void polygonProc(OdInt32 numPoints,
54 const OdGePoint3d* vertexList,
55 const OdGeVector3d* pNormal = 0,
56 const OdGeVector3d* pExtrusion = 0)
57 {
58 destGeom().polygonProc(numPoints, vertexList, pNormal, pExtrusion);
59 }
60
61 void xlineProc(const OdGePoint3d& firstPoint, const OdGePoint3d& secondPoint) {
62 destGeom().xlineProc(firstPoint, secondPoint);
63 }
64
65 void rayProc(const OdGePoint3d& basePoint, const OdGePoint3d& throughPoint) {
66 destGeom().rayProc(basePoint, throughPoint);
67 }
68
69 void meshProc(OdInt32 numRows,
70 OdInt32 numColumns,
71 const OdGePoint3d* vertexList,
72 const OdGiEdgeData* pEdgeData = 0,
73 const OdGiFaceData* pFaceData = 0,
74 const OdGiVertexData* pVertexData = 0)
75 {
76 destGeom().meshProc(numRows, numColumns, vertexList, pEdgeData, pFaceData, pVertexData);
77 }
78
79 void shellProc(OdInt32 numVertices,
80 const OdGePoint3d* vertexList,
81 OdInt32 faceListSize,
82 const OdInt32* faceList,
83 const OdGiEdgeData* pEdgeData = 0,
84 const OdGiFaceData* pFaceData = 0,
85 const OdGiVertexData* pVertexData = 0)
86 {
87 destGeom().shellProc(numVertices, vertexList, faceListSize, faceList, pEdgeData, pFaceData, pVertexData);
88 }
89
90 void circleProc(const OdGePoint3d& center, double radius, const OdGeVector3d& normal, const OdGeVector3d* pExtrusion = 0) {
91 destGeom().circleProc(center, radius, normal, pExtrusion);
92 }
93
94 void circleProc2(const OdGePoint3d& center, double radius, const OdGeVector3d& normal, const OdGeVector3d& startVector, const OdGeVector3d* pExtrusion = 0) {
95 destGeom().circleProc2(center, radius, normal, startVector, pExtrusion);
96 }
97
98 void circleProc(const OdGePoint3d& firstPoint,
99 const OdGePoint3d& secondPoint,
100 const OdGePoint3d& thirdPoint,
101 const OdGeVector3d* pExtrusion = 0)
102 {
103 destGeom().circleProc(firstPoint, secondPoint, thirdPoint, pExtrusion);
104 }
105
106 void circularArcProc(const OdGePoint3d& center,
107 double radius,
108 const OdGeVector3d& normal,
109 const OdGeVector3d& startVector,
110 double sweepAngle,
111 OdGiArcType arcType = kOdGiArcSimple,
112 const OdGeVector3d* pExtrusion = 0)
113 {
114 destGeom().circularArcProc(center, radius, normal, startVector, sweepAngle, arcType, pExtrusion);
115 }
116
117 void circularArcProc(const OdGePoint3d& firstPoint,
118 const OdGePoint3d& secondPoint,
119 const OdGePoint3d& thirdPoint,
120 OdGiArcType arcType = kOdGiArcSimple,
121 const OdGeVector3d* pExtrusion = 0)
122 {
123 destGeom().circularArcProc(firstPoint, secondPoint, thirdPoint, arcType, pExtrusion);
124 }
125
126 void ellipArcProc(const OdGeEllipArc3d& ellipArc,
127 const OdGePoint3d* endPointOverrides = 0,
128 OdGiArcType arcType = kOdGiArcSimple,
129 const OdGeVector3d* pExtrusion = 0)
130 {
131 destGeom().ellipArcProc(ellipArc, endPointOverrides, arcType, pExtrusion);
132 }
133
134 void nurbsProc(const OdGeNurbCurve3d& nurbsCurve) {
135 destGeom().nurbsProc(nurbsCurve);
136 }
137
138 void textProc(const OdGePoint3d& position,
139 const OdGeVector3d& direction,
140 const OdGeVector3d& upVector,
141 const OdChar* msg,
142 OdInt32 numBytes,
143 bool raw,
144 const OdGiTextStyle* pTextStyle,
145 const OdGeVector3d* pExtrusion = 0)
146 {
147 destGeom().textProc(position, direction, upVector, msg, numBytes, raw, pTextStyle, pExtrusion);
148 }
149
150 void textProc2(const OdGePoint3d& position,
151 const OdGeVector3d& direction,
152 const OdGeVector3d& upVector,
153 const OdChar* msg,
154 OdInt32 numBytes,
155 bool raw,
156 const OdGiTextStyle* pTextStyle,
157 const OdGeVector3d* pExtrusion = 0,
158 const OdGeExtents3d* extentsBox = 0)
159 {
160 destGeom().textProc2(position, direction, upVector, msg, numBytes, raw, pTextStyle, pExtrusion, extentsBox);
161 }
162
163 void shapeProc(const OdGePoint3d& position,
164 const OdGeVector3d& direction,
165 const OdGeVector3d& upVector,
166 int shapeNumber,
167 const OdGiTextStyle* pTextStyle,
168 const OdGeVector3d* pExtrusion = 0)
169 {
170 destGeom().shapeProc(position, direction, upVector, shapeNumber, pTextStyle, pExtrusion);
171 }
172
173 void rasterImageProc(const OdGePoint3d& origin,
174 const OdGeVector3d& u,
175 const OdGeVector3d& v,
176 const OdGiRasterImage* pImage,
177 const OdGePoint2d* uvBoundary,
178 OdUInt32 numBoundPts,
179 bool transparency = false,
180 double brightness = 50.0,
181 double contrast = 50.0,
182 double fade = 0.0)
183 {
184 destGeom().rasterImageProc(origin, u, v, pImage, uvBoundary, numBoundPts, transparency, brightness, contrast, fade);
185 }
186
187 void metafileProc(const OdGePoint3d& origin,
188 const OdGeVector3d& u,
189 const OdGeVector3d& v,
190 const OdGiMetafile* pMetafile,
191 bool dcAligned = true,
192 bool allowClipping = false)
193 {
194 destGeom().metafileProc(origin, u, v, pMetafile, dcAligned, allowClipping);
195 }
196
197 void xlineProc2(const OdGePoint3d& basePoint, const OdGeVector3d& direction) {
198 destGeom().xlineProc2(basePoint, direction);
199 }
200
201 void rayProc2(const OdGePoint3d& basePoint, const OdGeVector3d& direction) {
202 destGeom().rayProc2(basePoint, direction);
203 }
204
205 void ttfPolyDrawProc(OdInt32 numVertices,
206 const OdGePoint3d* vertexList,
207 OdInt32 faceListSize,
208 const OdInt32* faceList,
209 const OdUInt8* pBezierTypes,
210 const OdGiFaceData* pFaceData = 0)
211 {
212 destGeom().ttfPolyDrawProc(numVertices, vertexList, faceListSize, faceList, pBezierTypes, pFaceData);
213 }
214
215 void polypointProc(OdInt32 numPoints,
216 const OdGePoint3d* vertexList,
217 const OdCmEntityColor* pColors,
218 const OdCmTransparency* pTransparency = 0,
219 const OdGeVector3d* pNormals = 0,
220 const OdGeVector3d* pExtrusions = 0,
221 const OdGsMarker* pSubEntMarkers = 0,
222 OdInt32 nPointSize = 0)
223 {
224 destGeom().polypointProc(numPoints, vertexList, pColors, pTransparency, pNormals, pExtrusions, pSubEntMarkers, nPointSize);
225 }
226
227 void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d& startPoint, const OdGeVector3d& dirToNextPoint)
228 {
229 destGeom().rowOfDotsProc(numPoints, startPoint, dirToNextPoint);
230 }
231
232 void pointCloudProc(const OdGiPointCloud &pCloud, const OdGiPointCloudFilter *pFilter = NULL)
233 {
234 destGeom().pointCloudProc(pCloud, pFilter);
235 }
236
237 void edgeProc(const OdGiEdge2dArray& edges, const OdGeMatrix3d* pXform = 0)
238 {
239 destGeom().edgeProc(edges, pXform);
240 }
241
243 const OdGeBoundBlock3d & boundBlock, // {I} represent block for apply check
244 OdUInt32 & outputFlags) // {O} will represent set of EConveyorBoundaryInfoFlags flags on out
245 {
246 destGeom().conveyorBoundaryInfoProc( boundBlock, outputFlags );
247 }
248};
249
250
251#endif // __ODGICONVEYORPASSINGIMPL__
OdGiArcType
Definition: GiGeometry.h:787
@ kOdGiArcSimple
Definition: GiGeometry.h:788
ptrdiff_t OdGsMarker
unsigned int OdUInt32
int OdInt32
unsigned char OdUInt8
wchar_t OdChar
virtual void plineProc(const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)=0
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
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
virtual void edgeProc(const OdGiEdge2dArray &edges, const OdGeMatrix3d *pXform=0)=0
virtual void xlineProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)=0
virtual void ellipArcProc(const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)=0
virtual void polylineProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)=0
virtual void shapeProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)=0
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
virtual void rayProc(const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)=0
virtual void xlineProc2(const OdGePoint3d &basePoint, const OdGeVector3d &direction)
virtual void ttfPolyDrawProc(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdUInt8 *, const OdGiFaceData *pFaceData=0)
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)
virtual void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)=0
virtual void circularArcProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)=0
virtual void conveyorBoundaryInfoProc(const OdGeBoundBlock3d &, OdUInt32 &)
virtual void circleProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)=0
virtual void circleProc2(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &, const OdGeVector3d *pExtrusion=0)
virtual void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)=0
virtual void nurbsProc(const OdGeNurbCurve3d &nurbsCurve)=0
virtual void metafileProc(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiMetafile *pMetafile, bool dcAligned=true, bool allowClipping=false)=0
virtual void rayProc2(const OdGePoint3d &basePoint, const OdGeVector3d &direction)
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
virtual void meshProc(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)=0
virtual void pointCloudProc(const OdGiPointCloud &pCloud, const OdGiPointCloudFilter *pFilter=NULL)=0
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)
void shapeProc(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion=0)
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)
void circleProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, const OdGeVector3d *pExtrusion=0)
void plineProc(const OdGiPolyline &polyline, const OdGeMatrix3d *pXfm=0, OdUInt32 fromIndex=0, OdUInt32 numSegs=0)
void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)
void ellipArcProc(const OdGeEllipArc3d &ellipArc, const OdGePoint3d *endPointOverrides=0, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
void circularArcProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
virtual void conveyorBoundaryInfoProc(const OdGeBoundBlock3d &boundBlock, OdUInt32 &outputFlags)
void nurbsProc(const OdGeNurbCurve3d &nurbsCurve)
void polylineProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0, OdGsMarker baseSubEntMarker=-1)
void edgeProc(const OdGiEdge2dArray &edges, const OdGeMatrix3d *pXform=0)
void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
void shellProc(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
void meshProc(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
void circleProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)
void pointCloudProc(const OdGiPointCloud &pCloud, const OdGiPointCloudFilter *pFilter=NULL)
void rayProc2(const OdGePoint3d &basePoint, const OdGeVector3d &direction)
void metafileProc(const OdGePoint3d &origin, const OdGeVector3d &u, const OdGeVector3d &v, const OdGiMetafile *pMetafile, bool dcAligned=true, bool allowClipping=false)
void circleProc2(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, const OdGeVector3d *pExtrusion=0)
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)
void ttfPolyDrawProc(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdUInt8 *pBezierTypes, const OdGiFaceData *pFaceData=0)
void rayProc(const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)
void xlineProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)
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 *extentsBox=0)
void xlineProc2(const OdGePoint3d &basePoint, const OdGeVector3d &direction)
void circularArcProc(const OdGePoint3d &center, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)
const GLfloat * v
Definition: gles2_ext.h:315