24#ifndef __ODGICONVEYORPASSINGIMPL__
25#define __ODGICONVEYORPASSINGIMPL__
30template<
class TThisClass,
class TBase = OdGiConveyorGeometry>
33 return static_cast<TThisClass*
>(
this)->destGeometry();
41 destGeom().plineProc(polyline, pXfm, fromIndex, numSegs);
50 destGeom().polylineProc(numPoints, vertexList, pNormal, pExtrusion, baseSubEntMarker);
58 destGeom().polygonProc(numPoints, vertexList, pNormal, pExtrusion);
62 destGeom().xlineProc(firstPoint, secondPoint);
66 destGeom().rayProc(basePoint, throughPoint);
76 destGeom().meshProc(numRows, numColumns, vertexList, pEdgeData, pFaceData, pVertexData);
87 destGeom().shellProc(numVertices, vertexList, faceListSize, faceList, pEdgeData, pFaceData, pVertexData);
91 destGeom().circleProc(center, radius, normal, pExtrusion);
95 destGeom().circleProc2(center, radius, normal, startVector, pExtrusion);
103 destGeom().circleProc(firstPoint, secondPoint, thirdPoint, pExtrusion);
114 destGeom().circularArcProc(center, radius, normal, startVector, sweepAngle, arcType, pExtrusion);
123 destGeom().circularArcProc(firstPoint, secondPoint, thirdPoint, arcType, pExtrusion);
131 destGeom().ellipArcProc(ellipArc, endPointOverrides, arcType, pExtrusion);
135 destGeom().nurbsProc(nurbsCurve);
147 destGeom().textProc(position, direction, upVector, msg, numBytes, raw, pTextStyle, pExtrusion);
160 destGeom().textProc2(position, direction, upVector, msg, numBytes, raw, pTextStyle, pExtrusion, extentsBox);
170 destGeom().shapeProc(position, direction, upVector, shapeNumber, pTextStyle, pExtrusion);
179 bool transparency =
false,
180 double brightness = 50.0,
181 double contrast = 50.0,
184 destGeom().rasterImageProc(origin, u,
v, pImage, uvBoundary, numBoundPts, transparency, brightness, contrast, fade);
191 bool dcAligned =
true,
192 bool allowClipping =
false)
194 destGeom().metafileProc(origin, u,
v, pMetafile, dcAligned, allowClipping);
198 destGeom().xlineProc2(basePoint, direction);
202 destGeom().rayProc2(basePoint, direction);
212 destGeom().ttfPolyDrawProc(numVertices, vertexList, faceListSize, faceList, pBezierTypes, pFaceData);
224 destGeom().polypointProc(numPoints, vertexList, pColors, pTransparency, pNormals, pExtrusions, pSubEntMarkers, nPointSize);
229 destGeom().rowOfDotsProc(numPoints, startPoint, dirToNextPoint);
234 destGeom().pointCloudProc(pCloud, pFilter);
239 destGeom().edgeProc(edges, pXform);
246 destGeom().conveyorBoundaryInfoProc( boundBlock, outputFlags );
OdArray< OdGeCurve2d *, OdMemoryAllocator< OdGeCurve2d * > > OdGiEdge2dArray
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 ¢er, 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 ¢er, 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 ¢er, double radius, const OdGeVector3d &normal, const OdGeVector3d &startVector, double sweepAngle, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)