24 #ifndef __ODGICONVEYORGEOMETRY_H__
25 #define __ODGICONVEYORGEOMETRY_H__
308 #if defined(_MSC_VER) && (_MSC_VER >= 1400)
309 #pragma warning (push)
310 #pragma warning (disable: 4481)
318 #pragma warning (pop)
561 textProc(position, direction, upVector, msg, numBytes, raw, pTextStyle, pExtrusion);
606 bool transparency =
false,
607 double brightness = 50.0,
608 double contrast = 50.0,
609 double fade = 0.0) = 0;
626 bool dcAligned =
true,
627 bool allowClipping =
false) = 0;
631 xlineProc(basePoint, basePoint + direction);
635 rayProc(basePoint, basePoint + direction);
654 shellProc(numVertices, vertexList, faceListSize, faceList, 0, pFaceData);
720 for (
OdInt32 nPoint = 0; nPoint < numPoints; nPoint++)
723 if ((pColors || pTransparency || pSubEntMarkers) && pContext)
733 else if (pSubEntMarkers)
734 baseSubEntMarker = pSubEntMarkers[nPoint];
736 const OdGeVector3d *pExtrusion = (pExtrusions) ? (pExtrusions + nPoint) :
NULL;
737 tmpVerts[1] = tmpVerts[0] = vertexList[nPoint];
738 polylineProc(2, tmpVerts, pNormal, pExtrusion, baseSubEntMarker);
746 for (
OdInt32 nPoint = 0; nPoint < numPoints; nPoint++)
748 tmpVerts[1] = tmpVerts[0] = startPoint + dirToNextPoint * double(nPoint);
virtual const OdGiViewport * giViewport() const =0
virtual const OdGiLineweightOverride * currentLineweightOverride() const
virtual const OdGiDrawable * currentDrawable() const =0
virtual void onTextProcessing(const OdGePoint3d &, const OdGeVector3d &, const OdGeVector3d &)
virtual OdUInt32 drawContextFlags() const
virtual OdGeMatrix3d getWorldToModelTransform() const =0
virtual const OdGiSubEntityTraitsData & effectiveTraits() const =0
virtual const OdGiDeviation & modelDeviation() const =0
virtual const OdGiDeviation & eyeDeviation() const =0
@ kSpatialFilterSimplNurbs
@ kLineTyperAfterMetafile
@ kSpatialFilterSimplPline
@ kSpatialFilterSimplShape
@ kSpatialFilterSimplText
@ kForceMarkersOnModified
@ kEmbranchmentSimplNurbs
virtual const OdGiDeviation & worldDeviation() const =0
virtual OdGiContext & giContext() const =0
virtual void setEffectiveTraits(const OdGiSubEntityTraitsData &traits, const OdGeVector3d *fillNormal=NULL)=0
virtual bool effectivelyVisible() const
virtual bool regenAbort() const =0
virtual const OdGsView * gsView() const =0
virtual OdGiSubEntityTraits & subEntityTraits() const =0
virtual ~OdGiConveyorContext()
virtual const OdGiDrawableDesc * currentDrawableDesc() const =0
virtual void onTraitsModified()=0
virtual OdGeMatrix3d getModelToWorldTransform() const =0
virtual const OdGiPathNode * currentGiPath() const =0
virtual double annotationScale() const
const OdGiDrawable * currentDrawable() const
void onTextProcessing(const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector)
void setEffectiveTraits(const OdGiSubEntityTraitsData &traits, const OdGeVector3d *fillNormal=NULL)
const OdGiLineweightOverride * currentLineweightOverride() const
OdGeMatrix3d getModelToWorldTransform() const
OdGiConveyorContext * getOriginalContext() const
OdGeMatrix3d getWorldToModelTransform() const
OdGiContext & giContext() const
void setOriginalContext(OdGiConveyorContext *pCtx)
const OdGiPathNode * currentGiPath() const
const OdGiDeviation & eyeDeviation() const
const OdGiViewport * giViewport() const
OdUInt32 drawContextFlags() const
const OdGiSubEntityTraitsData & effectiveTraits() const
const OdGiDeviation & modelDeviation() const
OdGiConveyorContextWrapper(OdGiConveyorContext *pCtx=NULL)
OdGiSubEntityTraits & subEntityTraits() const
const OdGiDrawableDesc * currentDrawableDesc() const
bool effectivelyVisible() const
const OdGiDeviation & worldDeviation() const
const OdGsView * gsView() const
OdGiConveyorContext * m_pCtx
virtual void circularArcProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, OdGiArcType arcType=kOdGiArcSimple, const OdGeVector3d *pExtrusion=0)=0
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 circleProc(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &thirdPoint, const OdGeVector3d *pExtrusion=0)=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 bool ttfCharProc(OdChar, const OdGePoint3d &, const OdGeBoundBlock3d *)
virtual void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)=0
virtual void circularArcProc(const OdGePoint3d ¢er, 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 ¢er, double radius, const OdGeVector3d &normal, const OdGeVector3d *pExtrusion=0)=0
virtual void polygonProc(OdInt32 numPoints, const OdGePoint3d *vertexList, const OdGeVector3d *pNormal=0, const OdGeVector3d *pExtrusion=0)=0
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)
virtual int ttfCharProcFlags() const
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
EConveyorBoundaryInfoFlags
@ kBoundaryProcXformNonUni
@ kBoundaryProcProjection
virtual ~OdGiConveyorGeometry()
virtual void setExtentsProc(const OdGePoint3d *, bool=true)
void rowOfDotsProc2(OdInt32 numPoints, const OdGePoint3d &startPoint, const OdGeVector3d &dirToNextPoint)
virtual void setSelectionMarker(OdGsMarker selectionMarker)=0
virtual void setTrueColor(const OdCmEntityColor &color)=0
virtual void setTransparency(const OdCmTransparency &transparency)