/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2016, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Teigha(R) software pursuant to a license // agreement with Open Design Alliance. // Teigha(R) Copyright (C) 2002-2016 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef __ODGIEMPTYGEOMETRY_H__ #define __ODGIEMPTYGEOMETRY_H__ #include "Gi/GiExport.h" #include "Gi/GiConveyorGeometry.h" #include "TD_PackPush.h" /** \details This class is an implementation of OdGiConveyorGeometry that provides no-ops for the all functions therein. */ class ODGI_EXPORT OdGiEmptyGeometry : public OdGiConveyorGeometry { public: ODGI_EXPORT_STATIC static OdGiConveyorGeometry& kVoid; /** \note The default implementation of this function does nothing but return. */ void plineProc(const OdGiPolyline& polyline, const OdGeMatrix3d* xfm = 0, OdUInt32 fromIndex = 0, OdUInt32 numSegs = 0); /** \note The default implementation of this function does nothing but return. */ void circleProc( const OdGePoint3d& center, double radius, const OdGeVector3d& normal, const OdGeVector3d* pExtrusion = 0); void circleProc( const OdGePoint3d& firstPoint, const OdGePoint3d& secondPoint, const OdGePoint3d& thirdPoint, const OdGeVector3d* pExtrusion = 0); /** \note The default implementation of this function does nothing but return. */ void circularArcProc( const OdGePoint3d& center, double radius, const OdGeVector3d& normal, const OdGeVector3d& startVector, double sweepAngle, 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); /** \note The default implementation of this function does nothing but return. */ void polylineProc( OdInt32 numPoints, const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0, const OdGeVector3d* pExtrusion = 0, OdGsMarker baseSubEntMarker = -1); /** \note The default implementation of this function does nothing but return. */ void polygonProc( OdInt32 numPoints, const OdGePoint3d* vertexList, const OdGeVector3d* pNormal = 0, const OdGeVector3d* pExtrusion = 0); /** \note The default implementation of this function does nothing but return. */ void meshProc( OdInt32 rows, OdInt32 columns, const OdGePoint3d* vertexList, const OdGiEdgeData* pEdgeData = 0, const OdGiFaceData* pFaceData = 0, const OdGiVertexData* pVertexData = 0); /** \note The default implementation of this function does nothing but return. */ void shellProc( OdInt32 numVertices, const OdGePoint3d* vertexList, OdInt32 faceListSize, const OdInt32* faceList, const OdGiEdgeData* pEdgeData = 0, const OdGiFaceData* pFaceData = 0, const OdGiVertexData* pVertexData = 0); /** \note The default implementation of this function does nothing but return. */ void textProc( const OdGePoint3d& position, const OdGeVector3d& direction, const OdGeVector3d& upVector, const OdChar* msg, OdInt32 numChars, bool raw, const OdGiTextStyle* pTextStyle, const OdGeVector3d* pExtrusion = 0); /** \note The default implementation of this function does nothing but return. */ void shapeProc( const OdGePoint3d& position, const OdGeVector3d& direction, const OdGeVector3d& upVector, int shapeNumber, const OdGiTextStyle* pTextStyle, const OdGeVector3d* pExtrusion = 0); /** \note The default implementation of this function does nothing but return. */ void xlineProc( const OdGePoint3d& firstPoint, const OdGePoint3d& secondPoint); /** \note The default implementation of this function does nothing but return. */ void rayProc( const OdGePoint3d& basePoint, const OdGePoint3d& throughPoint); /** \note The default implementation of this function does nothing but return. */ void nurbsProc( const OdGeNurbCurve3d& nurbsCurve); /** \note The default implementation of this function does nothing but return. */ void ellipArcProc( const OdGeEllipArc3d& ellipArc, const OdGePoint3d* endPointsOverrides = 0, OdGiArcType arcType = kOdGiArcSimple, const OdGeVector3d* pExtrusion = 0); /** \note The default implementation of this function does nothing but return. */ 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); /** \note The default implementation of this function does nothing but return. */ void metafileProc( const OdGePoint3d& origin, const OdGeVector3d& u, const OdGeVector3d& v, const OdGiMetafile* pMetafile, bool dcAligned = true, bool allowClipping = false); /** \note The default implementation of this function does nothing but return. */ 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); /** \note The default implementation of this function does nothing but return. */ void rowOfDotsProc(OdInt32 numPoints, const OdGePoint3d& startPoint, const OdGeVector3d& dirToNextPoint); /** \note The default implementation of this function does nothing but return. */ void edgeProc(const OdGiEdge2dArray& edges, const OdGeMatrix3d* pXform = 0); }; #include "TD_PackPop.h" #endif //#ifndef __ODGIEMPTYGEOMETRY_H__