CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
OdDbSurface Class Reference

#include <DbSurface.h>

Inheritance diagram for OdDbSurface:
OdDbEntity OdDbObject OdGiDrawable OdRxObject OdDbExtrudedSurface OdDbLoftedSurface OdDbNurbSurface OdDbPlaneSurface OdDbRevolvedSurface OdDbSweptSurface

Public Member Functions

 OdDbSurface ()
 
 ODDB_DECLARE_MEMBERS (OdDbSurface)
 
virtual OdUInt16 uIsolineDensity () const
 
virtual void setUIsolineDensity (OdUInt16 numIsolines)
 
virtual OdUInt16 vIsolineDensity () const
 
virtual void setVIsolineDensity (OdUInt16 numIsolines)
 
virtual OdResult convertToRegion (OdDbEntityPtrArray &regions)
 
virtual OdResult thicken (double thickness, bool bBothSides, OdDb3dSolidPtr &pSolid) const
 
virtual OdResult getArea (double &area) const
 
bool isNull () const
 
OdResult acisOut (OdStreamBuf *pStreamBuf, AfTypeVer typeVer=kAfTypeVerAny) const
 
OdResult acisIn (OdStreamBuf *pStreamBuf, AfTypeVer *pTypeVer=0)
 
void brep (OdBrBrep &brep)
 
bool getFaceMesh (GeMesh::OdGeTrMesh &mesh, OdGsMarker iFace, const wrTriangulationParams &triangulationParams) const
 
virtual OdDbObjectPtr decomposeForSave (OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
virtual OdResult subExplode (OdRxObjectPtrArray &entitySet) const
 
virtual OdResult subTransformBy (const OdGeMatrix3d &xfm)
 
virtual void saveAs (OdGiWorldDraw *pWd, OdDb::DwgVersion ver) const
 
virtual OdResult setBody (const void *pGeometry)
 
virtual voidbody () const
 
virtual OdResult dwgInFields (OdDbDwgFiler *pFiler)
 
virtual void dwgOutFields (OdDbDwgFiler *pFiler) const
 
virtual OdResult dxfInFields (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields (OdDbDxfFiler *pFiler) const
 
virtual bool subWorldDraw (OdGiWorldDraw *pWd) const
 
virtual void subViewportDraw (OdGiViewportDraw *pVd) const
 
virtual OdResult subGetClassID (void *pClsid) const
 
virtual OdDbSubentId internalSubentId (void *ent) const
 
virtual voidinternalSubentPtr (const OdDbSubentId &id) const
 
virtual OdDbEntityPtr subSubentPtr (const OdDbFullSubentPath &id) const
 
virtual OdResult createInterferenceObjects (OdDbEntityPtrArray &interferenceObjects, OdDbEntityPtr pEntity, unsigned int flags) const
 
virtual OdResult booleanUnion (const OdDbSurface *pSurface, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult booleanSubtract (const OdDbSurface *pSurface, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult booleanSubtract (const OdDb3dSolid *pSolid, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult booleanIntersect (const OdDbSurface *pSurface, OdDbEntityPtrArray &intersectionEntities)
 
virtual OdResult booleanIntersect (const OdDb3dSolid *pSolid, OdDbEntityPtrArray &intersectionEntities)
 
virtual OdResult imprintEntity (const OdDbEntityPtr pEntity)
 
virtual OdResult createSectionObjects (const OdGePlane &sectionPlane, OdDbEntityPtrArray &sectionObjects) const
 
virtual OdResult sliceByPlane (const OdGePlane &slicePlane, OdDbSurfacePtr &pNegHalfSurface, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult sliceBySurface (const OdDbSurfacePtr pSlicingSurface, OdDbSurfacePtr &pNegHalfSurface, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult chamferEdges (const OdArray< OdDbSubentId * > &edgeSubentIds, const OdDbSubentId &baseFaceSubentId, double baseDist, double otherDist)
 
virtual OdResult filletEdges (const OdArray< OdDbSubentId * > &edgeSubentIds, const OdGeDoubleArray &radius, const OdGeDoubleArray &startSetback, const OdGeDoubleArray &endSetback)
 
virtual OdResult setSubentColor (const OdDbSubentId &subentId, const OdCmColor &color)
 
virtual OdResult getSubentColor (const OdDbSubentId &subentId, OdCmColor &color) const
 
virtual OdResult setSubentMaterial (const OdDbSubentId &subentId, const OdDbObjectId &matId)
 
virtual OdResult getSubentMaterial (const OdDbSubentId &subentId, OdDbObjectId &matId) const
 
virtual OdResult setSubentMaterialMapper (const OdDbSubentId &subentId, const OdGiMapper &mapper)
 
virtual OdResult getSubentMaterialMapper (const OdDbSubentId &subentId, OdGiMapper &mapper) const
 
virtual OdResult subGetGsMarkersAtSubentPath (const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
 
virtual OdResult subGetSubentPathsAtGsMarker (OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &viewXform, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const
 
virtual OdResult subGetTransformedCopy (const OdGeMatrix3d &mat, OdDbEntityPtr &pCopy) const
 
virtual OdResult convertToNurbSurface (OdDbNurbSurfacePtrArray &nurbSurfaceArray)
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *pTraits) const
 
OdResult projectOnToSurface (const OdDbEntity *pEntityToProject, const OdGeVector3d &projectionDirection, OdDbEntityPtrArray &projectedEntities) const
 
OdResult getPerimeter (double &) const
 
OdResult rayTest (const OdGePoint3d &rayBasePoint, const OdGeVector3d &rayDir, double rayRadius, OdArray< OdDbSubentId > &subEntIds, OdGeDoubleArray &parameters) const
 
OdResult extendEdges (OdDbFullSubentPathArray &edgesId, double dExtDist, EdgeExtensionType extOption, bool bAssociativeEnabled)
 
virtual OdResult subGetGeomExtents (OdGeExtents3d &extents) const
 
virtual void subHandOverTo (OdDbObject *pNewObject)
 
virtual void subClose ()
 
virtual OdUInt32 numChanges () const
 
virtual void copyFrom (const OdRxObject *pSource) ODRX_OVERRIDE
 
- Public Member Functions inherited from OdDbEntity
 ODDB_DECLARE_MEMBERS (OdDbEntity)
 
 OdDbEntity ()
 
OdDbObjectId blockId () const
 
OdCmColor color () const
 
virtual OdResult setColor (const OdCmColor &color, bool doSubents=true)
 
OdUInt16 colorIndex () const
 
virtual OdCmEntityColor entityColor () const
 
virtual OdResult setColorIndex (OdUInt16 colorIndex, bool doSubents=true)
 
OdDbObjectId colorId () const
 
virtual OdResult setColorId (OdDbObjectId colorId, bool doSubents=true)
 
OdCmTransparency transparency () const
 
virtual OdResult setTransparency (const OdCmTransparency &transparency, bool doSubents=true)
 
OdString plotStyleName () const
 
OdDb::PlotStyleNameType getPlotStyleNameId (OdDbObjectId &plotStyleNameId) const
 
virtual OdResult setPlotStyleName (const OdString &plotStyleName, bool doSubents=true)
 
virtual OdResult setPlotStyleName (OdDb::PlotStyleNameType plotStyleNameType, OdDbObjectId plotStyleNameId=OdDbObjectId::kNull, bool doSubents=true)
 
OdString layer () const
 
OdDbObjectId layerId () const
 
virtual OdResult setLayer (const OdString &layerName, bool doSubents=true, bool allowHiddenLayer=false)
 
virtual OdResult setLayer (OdDbObjectId layerId, bool doSubents=true, bool allowHiddenLayer=false)
 
OdString linetype () const
 
OdDbObjectId linetypeId () const
 
virtual OdResult setLinetype (const OdString &linetypeName, bool doSubents=true)
 
virtual OdResult setLinetype (OdDbObjectId linetypeID, bool doSubents=true)
 
OdString material () const
 
OdDbObjectId materialId () const
 
virtual OdResult setMaterial (const OdString &materialName, bool doSubents=true)
 
virtual OdResult setMaterial (OdDbObjectId materialID, bool doSubents=true)
 
OdDbObjectId visualStyleId (VisualStyleType vstype=kFullVisualStyle) const
 
virtual OdResult setVisualStyle (OdDbObjectId visualStyleId, VisualStyleType vstype=kFullVisualStyle, bool doSubents=true)
 
virtual const OdGiMappermaterialMapper () const
 
virtual void setMaterialMapper (const OdGiMapper *mapper, bool doSubents=true)
 
double linetypeScale () const
 
virtual OdResult setLinetypeScale (double linetypeScale, bool doSubents=true)
 
OdDb::Visibility visibility () const
 
ODRX_SEALED_VIRTUAL OdResult setVisibility (OdDb::Visibility visibility, bool doSubents=true) ODRX_SEALED
 
OdDb::Visibility tempVisibility () const
 
void setTempVisibility (OdDb::Visibility visibility)
 
OdDb::LineWeight lineWeight () const
 
virtual OdResult setLineWeight (OdDb::LineWeight lineWeight, bool doSubents=true)
 
virtual bool castShadows () const
 
virtual void setCastShadows (bool castShadows)
 
virtual bool receiveShadows () const
 
virtual void setReceiveShadows (bool receiveShadows)
 
virtual OdDb::CollisionType collisionType () const
 
void setPropertiesFrom (const OdDbEntity *pSource, bool doSubents=true)
 
virtual bool isPlanar () const
 
virtual OdResult getPlane (OdGePlane &plane, OdDb::Planarity &planarity) const
 
void subHandOverTo (OdDbObject *pNewObject)
 
ODRX_SEALED_VIRTUAL OdResult transformBy (const OdGeMatrix3d &xfm) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getTransformedCopy (const OdGeMatrix3d &xfm, OdDbEntityPtr &pCopy) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult explode (OdRxObjectPtrArray &entitySet) const ODRX_SEALED
 
virtual OdResult explodeToBlock (OdDbBlockTableRecord *pBlockRecord, OdDbObjectIdArray *ids=0)
 
virtual OdResult explodeGeometry (OdRxObjectPtrArray &entitySet) const
 
virtual OdResult explodeGeometryToBlock (OdDbBlockTableRecord *pBlockRecord, OdDbObjectIdArray *ids=0)
 
virtual bool subWorldDraw (OdGiWorldDraw *pWd) const
 
virtual void subViewportDraw (OdGiViewportDraw *pVd) const
 
void setDatabaseDefaults (OdDbDatabase *pDb=0, bool doSubents=false)
 
virtual void subSetDatabaseDefaults (OdDbDatabase *pDb, bool doSubents)
 
virtual void applyPartialUndo (OdDbDwgFiler *pUndoFiler, OdRxClass *pClassObj)
 
virtual OdResult dwgInFields (OdDbDwgFiler *pFiler)
 
virtual void dwgOutFields (OdDbDwgFiler *pFiler) const
 
void appendToOwner (OdDbIdPair &idPair, OdDbObject *pOwnerObject, OdDbIdMapping &ownerIdMap)
 
virtual OdResult dxfIn (OdDbDxfFiler *pFiler)
 
virtual void dxfOut (OdDbDxfFiler *pFiler) const
 
virtual OdResult dxfInFields (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields (OdDbDxfFiler *pFiler) const
 
virtual OdResult dxfInFields_R12 (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields_R12 (OdDbDxfFiler *pFiler) const
 
virtual OdGiDrawabledrawable ()
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *pTraits) const
 
virtual void subList () const
 
virtual OdResult subGetClassID (void *pClsid) const
 
void subSwapIdWith (const OdDbObjectId &otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual OdResult subErase (bool erasing) ODRX_OVERRIDE
 
virtual OdResult subOpen (OdDb::OpenMode mode) ODRX_OVERRIDE
 
void recordGraphicsModified (bool graphicsModified=true)
 
virtual void copyFrom (const OdRxObject *pSource)
 
ODRX_SEALED_VIRTUAL void list () const ODRX_SEALED
 
virtual OdResult getGeomExtents (OdGeExtents3d &extents) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL void highlight (bool bDoIt=true, const OdDbFullSubentPath *pSubId=0, bool highlightAll=false) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints, const OdGeMatrix3d &insertionMat) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool isContentSnappable () const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGripPoints (OdGePoint3dArray &gripPoints) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveGripPointsAt (const OdIntArray &indices, const OdGeVector3d &offset) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGripPoints (OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const int bitFlags) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveGripPointsAt (const OdDbVoidPtrArray &grips, const OdGeVector3d &offset, int bitFlags) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getStretchPoints (OdGePoint3dArray &stretchPoints) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveStretchPointsAt (const OdIntArray &indices, const OdGeVector3d &offset) ODRX_SEALED
 
virtual void dragStatus (const OdDb::DragStat status)
 
ODRX_SEALED_VIRTUAL void gripStatus (const OdDb::GripStat status) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool cloneMeForDragging () ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool hideMeForDragging () const ODRX_SEALED
 
virtual void saveAs (OdGiWorldDraw *pWd, OdDb::DwgVersion ver) const
 
ODRX_SEALED_VIRTUAL OdResult getCompoundObjectTransform (OdGeMatrix3d &xM) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult intersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult intersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const ODRX_SEALED
 
OdResult boundingBoxIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker, OdGsMarker otherGsMarker) const
 
OdResult boundingBoxIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker, OdGsMarker otherGsMarker) const
 
ODRX_SEALED_VIRTUAL OdResult getSubentPathsAtGsMarker (OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &xfm, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGsMarkersAtSubentPath (const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGripPointsAtSubentPath (const OdDbFullSubentPath &path, OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const OdUInt32 bitflags) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveGripPointsAtSubentPaths (const OdDbFullSubentPathArray &paths, const OdDbVoidPtrArray &gripAppData, const OdGeVector3d &offset, const OdUInt32 bitflags) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult deleteSubentPaths (const OdDbFullSubentPathArray &paths) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult addSubentPaths (const OdDbFullSubentPathArray &paths) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdDbEntityPtr subentPtr (const OdDbFullSubentPath &path) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult transformSubentPathsBy (const OdDbFullSubentPathArray &paths, const OdGeMatrix3d &xform) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getSubentClassId (const OdDbFullSubentPath &path, void *clsId) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getSubentPathGeomExtents (const OdDbFullSubentPath &path, OdGeExtents3d &extents) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL void subentGripStatus (OdDb::GripStat status, const OdDbFullSubentPath &subentity) ODRX_SEALED
 
virtual OdGeMatrix3d getEcs () const
 
- Public Member Functions inherited from OdDbObject
 ODDB_DECLARE_MEMBERS (OdDbObject)
 
 ~OdDbObject ()
 
void addRef ()
 
void release ()
 
long numRefs () const
 
OdDbObjectId objectId () const
 
OdDbHandle getDbHandle () const
 
OdDbHandle handle () const
 
OdDbObjectId ownerId () const
 
virtual void setOwnerId (OdDbObjectId ownerId)
 
OdDbDatabasedatabase () const
 
void createExtensionDictionary ()
 
OdDbObjectId extensionDictionary () const
 
bool releaseExtensionDictionary ()
 
OdDbXrecordPtr createXrecord (const OdString &xrecordName, OdDb::DuplicateRecordCloning style=OdDb::kDrcIgnore)
 
void upgradeOpen ()
 
void downgradeOpen ()
 
void cancel ()
 
virtual OdResult subOpen (OdDb::OpenMode mode)
 
virtual void subClose ()
 
OdResult erase (bool eraseIt=true)
 
virtual OdResult subErase (bool erasing)
 
void handOverTo (OdDbObject *pNewObject, bool keepXData=true, bool keepExtDict=true)
 
virtual void subHandOverTo (OdDbObject *pNewObject)
 
void swapIdWith (OdDbObjectId otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual void subSwapIdWith (const OdDbObjectId &otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual void audit (OdDbAuditInfo *pAuditInfo)
 
void dwgIn (OdDbDwgFiler *pFiler)
 
void dwgOut (OdDbDwgFiler *pFiler) const
 
virtual OdResult dxfIn (OdDbDxfFiler *pFiler)
 
virtual void dxfOut (OdDbDxfFiler *pFiler) const
 
virtual OdResult dwgInFields (OdDbDwgFiler *pFiler)
 
virtual void dwgOutFields (OdDbDwgFiler *pFiler) const
 
virtual OdResult dxfInFields (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields (OdDbDxfFiler *pFiler) const
 
virtual OdResult dxfInFields_R12 (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields_R12 (OdDbDxfFiler *pFiler) const
 
virtual OdDb::DuplicateRecordCloning mergeStyle () const
 
virtual OdResBufPtr xData (const OdString &regappName=OdString::kEmpty) const
 
virtual void setXData (const OdResBuf *pRb)
 
bool isEraseStatusToggled () const
 
bool isErased () const
 
bool isReadEnabled () const
 
bool isWriteEnabled () const
 
bool isNotifyEnabled () const
 
bool isModified () const
 
bool isModifiedXData () const
 
bool isModifiedGraphics () const
 
bool isNewObject () const
 
bool isNotifying () const
 
bool isUndoing () const
 
bool isReallyClosing () const
 
bool isDBRO () const
 
void assertReadEnabled () const
 
void assertWriteEnabled (bool autoUndo=true, bool recordModified=true)
 
void assertNotifyEnabled () const
 
void disableUndoRecording (bool disable)
 
bool isUndoRecordingDisabled () const
 
OdDbDwgFilerundoFiler ()
 
virtual void applyPartialUndo (OdDbDwgFiler *pUndoFiler, OdRxClass *pClassObj)
 
void addReactor (OdDbObjectReactor *pReactor) const
 
void removeReactor (OdDbObjectReactor *pReactor) const
 
virtual void addPersistentReactor (const OdDbObjectId &objId)
 
virtual void removePersistentReactor (const OdDbObjectId &objId)
 
bool hasPersistentReactor (const OdDbObjectId &objId) const
 
OdDbObjectIdArray getPersistentReactors () const
 
OdDbObjectReactorArray getTransientReactors () const
 
virtual void recvPropagateModify (const OdDbObject *pSubObj)
 
virtual void xmitPropagateModify () const
 
ODRX_SEALED_VIRTUAL OdDbObjectPtr deepClone (OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdDbObjectPtr wblockClone (OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
 
virtual void appendToOwner (OdDbIdPair &idPair, OdDbObject *pOwnerObject, OdDbIdMapping &idMap)
 
void setOdDbObjectIdsInFlux ()
 
bool isOdDbObjectIdsInFlux () const
 
virtual void copied (const OdDbObject *pObject, const OdDbObject *pNewObject)
 
virtual void erased (const OdDbObject *pObject, bool erasing=true)
 
virtual void goodbye (const OdDbObject *pObject)
 
virtual void openedForModify (const OdDbObject *pObject)
 
virtual void modified (const OdDbObject *pObject)
 
virtual void subObjModified (const OdDbObject *pObject, const OdDbObject *pSubObj)
 
virtual void modifyUndone (const OdDbObject *pObject)
 
virtual void modifiedXData (const OdDbObject *pObject)
 
virtual void unappended (const OdDbObject *pObject)
 
virtual void reappended (const OdDbObject *pObject)
 
bool isAProxy () const
 
virtual void objectClosed (const OdDbObjectId &objectId)
 
virtual void modifiedGraphics (const OdDbObject *pObject)
 
virtual void copyFrom (const OdRxObject *pSource)
 
bool hasSaveVersionOverride () const
 
void setHasSaveVersionOverride (bool hasSaveVersionOverride)
 
virtual OdDb::DwgVersion getObjectSaveVersion (const OdDbFiler *pFiler, OdDb::MaintReleaseVer *pMaintVer=0) const
 
virtual OdDbObjectPtr decomposeForSave (OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
virtual OdDbObjectPtr decomposeForSave (OdDb::SaveType format, OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
void convertForSave (OdDb::DwgVersion ver)
 
virtual void composeForLoad (OdDb::SaveType format, OdDb::DwgVersion version, OdDbAuditInfo *pAuditInfo)
 
virtual OdGiDrawabledrawable ()
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *pTraits) const
 
virtual bool subWorldDraw (OdGiWorldDraw *pWd) const
 
virtual void subViewportDraw (OdGiViewportDraw *pVd) const
 
virtual bool isPersistent () const
 
virtual OdDbStub * id () const
 
ODRX_SEALED_VIRTUAL OdResult getClassID (void *pClsid) const ODRX_SEALED
 
void setGsNode (OdGsCache *pNode)
 
OdGsCachegsNode () const
 
void xDataTransformBy (const OdGeMatrix3d &xfm)
 
bool hasFields () const
 
OdDbObjectId getField (const OdString &fieldName) const
 
OdDbObjectPtr getField (const OdString &fieldName, OdDb::OpenMode mode) const
 
virtual OdDbObjectId setField (const OdString &fieldName, OdDbField *pField)
 
virtual OdResult removeField (OdDbObjectId fieldId)
 
virtual OdDbObjectId removeField (const OdString &fieldName)
 
OdDbObjectId getFieldDictionary () const
 
OdDbObjectPtr getFieldDictionary (OdDb::OpenMode mode) const
 
virtual OdRxClasssaveAsClass (OdRxClass *pClass) const
 
- Public Member Functions inherited from OdGiDrawable
 ODRX_DECLARE_MEMBERS (OdGiDrawable)
 
virtual DrawableType drawableType () const
 
ODRX_SEALED_VIRTUAL OdUInt32 setAttributes (OdGiDrawableTraits *pTraits) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool worldDraw (OdGiWorldDraw *pWd) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL void viewportDraw (OdGiViewportDraw *pVd) const ODRX_SEALED
 
virtual bool isPersistent () const =0
 
virtual OdDbStub * id () const =0
 
virtual void setGsNode (OdGsCache *pGsNode)=0
 
virtual OdGsCachegsNode () const =0
 
ODRX_SEALED_VIRTUAL OdUInt32 viewportDrawLogicalFlags (OdGiViewportDraw *pVd) const ODRX_SEALED
 
virtual OdResult getGeomExtents (OdGeExtents3d &extents) const
 
ODRX_SEALED_VIRTUAL OdUInt32 regenSupportFlags () const ODRX_SEALED
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Static Public Member Functions

static OdResult createFrom (const OdDbEntity *pFromEntity, OdDbSurfacePtr &pNewSurface)
 
static OdResult trimSurface (const OdDbObjectId &blankSurfaceId, const OdDbObjectIdArray &toolIds, const OdDbObjectIdArray &toolCurveIds, const OdGeVector3dArray &projVectors, const OdGePoint3d &pickPoint, const OdGeVector3d &viewVector, bool bAutoExtend, bool bAssociativeEnabled)
 
static OdResult createOffsetSurface (OdDbEntity *pInputSurface, double dOffsetDistance, OdDbEntityPtr &offsetSurface)
 
static OdResult createOffsetSurface (OdDbEntity *pInputSurface, double dOffsetDistance, bool bAssociativeEnabled, OdDbObjectId &offsetSurfaceId)
 
static OdResult createFilletSurface (const OdDbObjectId &surfId1, const OdGePoint3d &pickPt1, const OdDbObjectId &surfId2, const OdGePoint3d &pickPt2, double dRadius, OdDb::FilletTrimMode trimMode, const OdGeVector3d &projDir, OdDbSurface *&filletSurface)
 
static OdResult createFilletSurface (const OdDbObjectId &surfId1, const OdGePoint3d &pickPt1, const OdDbObjectId &surfId2, const OdGePoint3d &pickPt2, double dRadius, OdDb::FilletTrimMode trimMode, const OdGeVector3d &projDir, bool bAssociativeEnabled, OdDbObjectId &filletSurfaceId)
 
static OdResult createExtendSurface (OdDbObjectId sourceSurface, const OdArray< OdDbSubentId > &edgesId, double dExtDist, EdgeExtensionType extOption, bool bAssociativeEnabled, OdDbObjectId &newExtendSurfaceId)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Additional Inherited Members

- Public Types inherited from OdDbEntity
enum  VisualStyleType { kFullVisualStyle , kFaceVisualStyle , kEdgeVisualStyle }
 
- Public Types inherited from OdGiDrawable
enum  SetAttributesFlags {
  kDrawableNone = 0 , kDrawableIsAnEntity = 1 , kDrawableUsesNesting = 2 , kDrawableIsCompoundObject = 4 ,
  kDrawableViewIndependentViewportDraw = 8 , kDrawableIsInvisible = 16 , kDrawableHasAttributes = 32 , kDrawableRegenTypeDependantGeometry = 64 ,
  kDrawableIsDimension = (kDrawableIsAnEntity + kDrawableIsCompoundObject + 128) , kDrawableRegenDraw = 256 , kDrawableStandardDisplaySingleLOD = 512 , kDrawableShadedDisplaySingleLOD = 1024 ,
  kDrawableViewDependentViewportDraw = 2048 , kDrawableBlockDependentViewportDraw = 4096 , kDrawableIsExternalReference = 8192 , kDrawableNotPlottable = 16384 ,
  kDrawableNotAllowLCS = 32768 , kDrawableMergeControlOff = 65536 , kLastFlag = kDrawableMergeControlOff
}
 
enum  DrawableType {
  kGeometry = 0 , kDistantLight = 1 , kPointLight = 2 , kSpotLight = 3 ,
  kAmbientLight , kSolidBackground , kGradientBackground , kImageBackground ,
  kGroundPlaneBackground , kViewport , kWebLight , kSkyBackground ,
  kImageBasedLightingBackground
}
 
- Protected Member Functions inherited from OdDbEntity
virtual OdDbObjectPtr subWblockClone (OdDbIdMapping &ownerIdMap, OdDbObject *, bool bPrimary) const ODRX_OVERRIDE
 
virtual OdDbObjectPtr subDeepClone (OdDbIdMapping &ownerIdMap, OdDbObject *, bool bPrimary) const ODRX_OVERRIDE
 
virtual OdResult subTransformBy (const OdGeMatrix3d &xfm)
 
virtual OdResult subGetTransformedCopy (const OdGeMatrix3d &xfm, OdDbEntityPtr &pCopy) const
 
virtual OdResult subExplode (OdRxObjectPtrArray &entitySet) const
 
virtual OdResult subGetCompoundObjectTransform (OdGeMatrix3d &xM) const
 
virtual bool subCloneMeForDragging ()
 
virtual bool subHideMeForDragging () const
 
virtual void subGripStatus (const OdDb::GripStat status)
 
virtual OdResult subGetOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints) const
 
virtual OdResult subGetOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints, const OdGeMatrix3d &insertionMat) const
 
virtual bool subIsContentSnappable () const
 
virtual OdResult subGetGripPoints (OdGePoint3dArray &gripPoints) const
 
virtual OdResult subMoveGripPointsAt (const OdIntArray &indices, const OdGeVector3d &offset)
 
virtual OdResult subGetGripPoints (OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const int bitFlags) const
 
virtual OdResult subMoveGripPointsAt (const OdDbVoidPtrArray &grips, const OdGeVector3d &offset, int bitFlags)
 
virtual OdResult subGetStretchPoints (OdGePoint3dArray &stretchPoints) const
 
virtual OdResult subMoveStretchPointsAt (const OdIntArray &indices, const OdGeVector3d &offset)
 
virtual OdResult subIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
 
virtual OdResult subIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
 
virtual void subHighlight (bool bDoIt=true, const OdDbFullSubentPath *pSubId=0, bool highlightAll=false) const
 
virtual OdDb::Visibility subVisibility () const
 
virtual OdResult subSetVisibility (OdDb::Visibility visibility, bool doSubents=true)
 
virtual OdResult subGetGeomExtents (OdGeExtents3d &extents) const
 
virtual OdResult subDeleteSubentPaths (const OdDbFullSubentPathArray &paths)
 
virtual OdResult subAddSubentPaths (const OdDbFullSubentPathArray &paths)
 
virtual OdResult subMoveGripPointsAtSubentPaths (const OdDbFullSubentPathArray &paths, const OdDbVoidPtrArray &gripAppData, const OdGeVector3d &offset, const OdUInt32 bitflags)
 
virtual OdResult subGetGripPointsAtSubentPath (const OdDbFullSubentPath &path, OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const OdUInt32 bitflags) const
 
virtual OdResult subGetSubentPathsAtGsMarker (OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &xfm, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const
 
virtual OdResult subGetGsMarkersAtSubentPath (const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
 
virtual OdDbEntityPtr subSubentPtr (const OdDbFullSubentPath &path) const
 
virtual OdResult subTransformSubentPathsBy (const OdDbFullSubentPathArray &paths, const OdGeMatrix3d &xform)
 
virtual OdResult subGetSubentClassId (const OdDbFullSubentPath &path, void *clsId) const
 
virtual OdResult subGetSubentPathGeomExtents (const OdDbFullSubentPath &path, OdGeExtents3d &extents) const
 
virtual void subSubentGripStatus (OdDb::GripStat status, const OdDbFullSubentPath &subentity)
 
- Protected Member Functions inherited from OdDbObject
 OdDbObject ()
 
virtual OdResult subGetClassID (void *pClsid) const
 
virtual OdDbObjectPtr subDeepClone (OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary) const
 
virtual OdDbObjectPtr subWblockClone (OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary) const
 
- Protected Member Functions inherited from OdGiDrawable
 OdGiDrawable ()
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *traits) const =0
 
virtual bool subWorldDraw (OdGiWorldDraw *wd) const =0
 
virtual void subViewportDraw (OdGiViewportDraw *vd) const =0
 
virtual OdUInt32 subViewportDrawLogicalFlags (OdGiViewportDraw *vd) const
 
virtual OdUInt32 subRegenSupportFlags () const
 
- Protected Attributes inherited from OdDbObject
OdDbObjectImplm_pImpl
 

Detailed Description

This class implements a three-dimensional surface entity.

<group OdDb_Classes>

Definition at line 74 of file DbSurface.h.

Constructor & Destructor Documentation

◆ OdDbSurface()

OdDbSurface::OdDbSurface ( )

Default constructor for objects of the OdDbSurface class.

Member Function Documentation

◆ acisIn()

OdResult OdDbSurface::acisIn ( OdStreamBuf pStreamBuf,
AfTypeVer pTypeVer = 0 
)

Reads the ACIS data for this entity from the specified StreamBuf object, or reads an array of ACIS solids from the specified file.

Parameters
pStreamBuf[in] Pointer to the StreamBuf object from which the data is to be read.
pTypeVer[in] Receives the type and version of the ACIS data read.
Returns
eOk if successful or an appropriate error code otherwise. If pTypeVer is not NULL, this function returns the version of the ACIS data of this 3D solid entity.

◆ acisOut()

OdResult OdDbSurface::acisOut ( OdStreamBuf pStreamBuf,
AfTypeVer  typeVer = kAfTypeVerAny 
) const

Writes the ACIS data of this entity to the specified StreamBuf object, or writes the specified ACIS solids to the specified file.

Parameters
pStreamBuf[in] Pointer to the StreamBuf object to which the data is to be written.
typeVer[in] Type and version of the ACIS data to write.
Returns
eOk if successful or an appropriate error code otherwise.

◆ body()

virtual void * OdDbSurface::body ( ) const
virtual

Returns the current modeler geometry.

◆ booleanIntersect() [1/2]

virtual OdResult OdDbSurface::booleanIntersect ( const OdDb3dSolid pSolid,
OdDbEntityPtrArray intersectionEntities 
)
virtual

Performs a Boolean intersection operation between this surface and the specified solid object. Entities representing the intersections between two surfaces are appended to an array.

Parameters
pSolid[in] Pointer to the solid object to be intersected with the surface.
intersectionEntities[out] Reference to the entity array for storing the results of the intersection operation. The resulting array can contain entities of the following types: one OdDbSurface or one or more OdDbLine, OdDbCircle, OdDbArc, OdDbEllipse, OdDbSpline and OdDbPoint.
Returns
eOk if the intersection operation is successfully performed, or an appropriate error code otherwise.
Remarks
Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler.

pSurface is not changed unlike booleanOper.

If the intersection of the surface and the solid is not a surface, all intersection curves and points are stored in the intersectionEntities array and this surface is not changed.

If the intersection of the surface and the solid is a surface, no intersection curves or points are retrieved. If this surface is not derived from OdDbSurface, the resulting surface is stored in this surface. Otherwise, this surface is not changed and the result is stored in intersectionEntities.

Resulting entities are not included in the database, so the caller is responsible for the correct handling of the memory pointed to with the resulting array's items.

If the surface and the solid don't intersect, then eNoIntersections is returned and this surface is not changed.

If the intersection operation fails, this surface is not changed.

◆ booleanIntersect() [2/2]

virtual OdResult OdDbSurface::booleanIntersect ( const OdDbSurface pSurface,
OdDbEntityPtrArray intersectionEntities 
)
virtual

Performs a Boolean intersection operation for two surfaces: this one and another specified surface. Entities representing the intersections between two surfaces are appended to an array.

Parameters
pSurface[in] Pointer to the other surface to be intersected with the surface.
intersectionEntities[out] Reference to the entity array for storing the results of the intersection operation. The resulting array can contain entities of the following types: one OdDbSurface or one or more OdDbLine, OdDbCircle, OdDbArc, OdDbEllipse, OdDbSpline and OdDbPoint.
Returns
eOk if the intersection operation is successfully performed or an appropriate error code otherwise.
Remarks
Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler.

pSurface is not changed unlike booleanOper.

If the intersection of the surfaces is not a surface, all intersection curves and points are stored in the intersectionEntities array, and this surface is not changed.

If the intersection of the surfaces is a surface, no intersection curves or points are retrieved. If this surface is not derived from OdDbSurface or surfaces are coplanar OdDbPlaneSurface-s, the resulting surface is stored in this surface. Otherwise, this surface is not changed and the result is stored in intersectionEntities.

Resulting entities are not included in the database, so the caller is responsible for the correct handling of the memory pointed to with the resulting array's items.

If the surfaces don't intersect then eNoIntersections is returned and this surface is not changed.

If the intersection operation fails, this surface is not changed.

◆ booleanSubtract() [1/2]

virtual OdResult OdDbSurface::booleanSubtract ( const OdDb3dSolid pSolid,
OdDbSurfacePtr pNewSurface 
)
virtual

Performs a Boolean subtraction operation with a specified solid object and the surface.

Parameters
pSolid[in] Pointer to the solid to be subtracted from this surface.
pNewSurface[out] Pointer to a new surface that represents the subtraction operation result.
Returns
eOk if the subtraction operation is successfully performed, or an appropriate error code otherwise.
Remarks
Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler.

pSolid is not changed unlike booleanOper.

If this surface is not derived from OdDbSurface, the result is stored in this surface. Otherwise, this surface is not changed and the resulting surface is stored in pNewSurface.

The resulting surface is not included in the database, so the caller is responsible for the correct handling of the memory pointed to with pNewSurface.

If the resulting surface is empty then eNoIntersections is returned, NULL is returned as a value of pNewSurface and this surface is not changed.

If the subtraction operation fails, NULL is returned as a value of pNewSurface and this surface is not changed.

◆ booleanSubtract() [2/2]

virtual OdResult OdDbSurface::booleanSubtract ( const OdDbSurface pSurface,
OdDbSurfacePtr pNewSurface 
)
virtual

Performs a Boolean subtraction operation with two surfaces: this one and another specified surface.

Parameters
pSurface[in] Pointer to the other surface to be subtracted from this surface.
pNewSurface[out] Pointer to a new surface that represents the subtraction operation result.
Returns
eOk if the subtraction operation is successfully performed, or an appropriate error code otherwise.
Remarks
Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler.

pSurface is not changed unlike booleanOper.

If this surface is not derived from OdDbSurface or surfaces are coplanar OdDbPlaneSurface-s, the resulting surface is stored in this surface. Otherwise, this surface is not changed and the result is stored in intersectionEntities.

The resulting surface is not included in the database, so the caller is responsible for the correct handling of the memory pointed to with pNewSurface.

If the resulting surface is empty then eNoIntersections is returned, NULL is returned as a value of pNewSurface and this surface is not changed.

If the subtraction operation fails, NULL is returned as a value of pNewSurface and this surface is not changed.

◆ booleanUnion()

virtual OdResult OdDbSurface::booleanUnion ( const OdDbSurface pSurface,
OdDbSurfacePtr pNewSurface 
)
virtual

Performs a Boolean union operation with two surfaces: this one and another specified surface.

Parameters
pSurface[in] Pointer to the other surface to be united with this surface.
pNewSurface[out] Pointer to a new surface that represents the union operation result.
Returns
eOk if the union operation is successfully performed or an appropriate error code otherwise. If the union operation fails, NULL is returned as a value of pNewSurface.
Remarks
Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler.

pSurface is not changed unlike booleanOper.

If this surface is not derived from OdDbSurface or surfaces are coplanar OdDbPlaneSurface-s, the resulting surface is stored in this surface. Otherwise, this surface is not changed and the result is stored in intersectionEntities.

The resulting surface is not included in the database, so the caller is responsible for the correct handling of the memory pointed to with pNewSurface.

If the resulting surface is empty, i.e., both surfaces are empty, then eNoIntersections is returned, NULL is returned as a value of pNewSurface and this surface is not changed.

If the union operation fails, NULL is returned as a value of pNewSurface and this surface is not changed.

◆ brep()

void OdDbSurface::brep ( OdBrBrep brep)

Returns the boundary representation of the 3D solid entity.

Parameters
brep[out] Receives the boundary representation.

◆ chamferEdges()

virtual OdResult OdDbSurface::chamferEdges ( const OdArray< OdDbSubentId * > &  edgeSubentIds,
const OdDbSubentId baseFaceSubentId,
double  baseDist,
double  otherDist 
)
virtual

Creates associative chamfers at the specified edges of the surface.

Parameters
edgeSubentIds[in] Object IDs of edges at which the chamfer will be applied.
baseFaceSubentId[in] Object ID of the base face where the chamfer will be applied.
baseDist[in] Chamfer distance on the base face.
otherDist[in] Chamfer distance on the other faces.
Returns
eOk if creating the chamfer is successful or an appropriate error code otherwise.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ convertToNurbSurface()

virtual OdResult OdDbSurface::convertToNurbSurface ( OdDbNurbSurfacePtrArray nurbSurfaceArray)
virtual

Converts the surface to nurb surfaces.

Parameters
nurbSurfaceArray[in] Array of generated nurb surfaces.
Returns
eOk if the converting operation was successfully finished or an appropriate error code otherwise.
Remarks
Created nurb surfaces are not included in the database, so the caller must manage the memory occupied by nurb surface objects.

This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ convertToRegion()

virtual OdResult OdDbSurface::convertToRegion ( OdDbEntityPtrArray regions)
virtual

Creates region (OdDbRegion class) entities for each face of the surface.

Parameters
regions[out] Reference to an array of the OdDbRegion entities created from the face of the surface.
Returns
eOk if successful, or an appropriate error code otherwise.
Remarks
The surface must be planar. Regions created by the method are not included in the database, so the caller is responsible for managing the memory of the created OdDbRegion objects.

This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

◆ copyFrom()

virtual void OdDbSurface::copyFrom ( const OdRxObject pSource)
virtual

Copies the contents of the specified object into this object when possible.

Parameters
pSource[in] Pointer to the source object.
Remarks
The source object and this object need not be of the same type.
This function is meaningful only when implemented by custom classes.

Throws:

Cause eNullObjectPointer pSource->isNull()

Reimplemented from OdDbEntity.

◆ createExtendSurface()

static OdResult OdDbSurface::createExtendSurface ( OdDbObjectId  sourceSurface,
const OdArray< OdDbSubentId > &  edgesId,
double  dExtDist,
EdgeExtensionType  extOption,
bool  bAssociativeEnabled,
OdDbObjectId newExtendSurfaceId 
)
static

This method is not implemented.

◆ createFilletSurface() [1/2]

static OdResult OdDbSurface::createFilletSurface ( const OdDbObjectId surfId1,
const OdGePoint3d pickPt1,
const OdDbObjectId surfId2,
const OdGePoint3d pickPt2,
double  dRadius,
OdDb::FilletTrimMode  trimMode,
const OdGeVector3d projDir,
bool  bAssociativeEnabled,
OdDbObjectId filletSurfaceId 
)
static

This method is not implemented.

◆ createFilletSurface() [2/2]

static OdResult OdDbSurface::createFilletSurface ( const OdDbObjectId surfId1,
const OdGePoint3d pickPt1,
const OdDbObjectId surfId2,
const OdGePoint3d pickPt2,
double  dRadius,
OdDb::FilletTrimMode  trimMode,
const OdGeVector3d projDir,
OdDbSurface *&  filletSurface 
)
static

This method is not implemented.

◆ createFrom()

static OdResult OdDbSurface::createFrom ( const OdDbEntity pFromEntity,
OdDbSurfacePtr pNewSurface 
)
static

Creates an extruded surface from a 2D entity with thickness or a planar surface from a closed curve or region.

Parameters
pFromEntity[in] Input surface.
pNewSurface[out] Resulting surface.
Returns
eOk if an extruded surface was created successfully or an appropriate error code otherwise.
Remarks
This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

◆ createInterferenceObjects()

virtual OdResult OdDbSurface::createInterferenceObjects ( OdDbEntityPtrArray interferenceObjects,
OdDbEntityPtr  pEntity,
unsigned int  flags 
) const
virtual

Creates new entities that represent the result of interference between the surface and specified entity. Created entities are appended to the specified array.

Parameters
interferenceObjects[out] Output array of interference entities, which can contain OdDbSurface or curve entities.
pEntity[in] Pointer to the entity the surface must be interfered with. pEntity can point to the following entity types: OdDbSurface, OdDb3dSolid, OdDbRegion, or OdDbBody.
flags[in] Interference flags; equal to kDefault (0x00).
Returns
eOk if interference entities are successfully created or an appropriate error code otherwise. For example, if interference entities are not created, eNoIntersection error code is returned. eInvalidInput is returned if an unsupported entity or NULL pointer is provided as a value of pEntity.
Remarks
Created entities are not included in the database, so the caller is responsible for the correct handling of them. This means that the caller must include created entities in the database or delete them when they are no longer needed.

This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ createOffsetSurface() [1/2]

static OdResult OdDbSurface::createOffsetSurface ( OdDbEntity pInputSurface,
double  dOffsetDistance,
bool  bAssociativeEnabled,
OdDbObjectId offsetSurfaceId 
)
static

Creates an offset surface and includes it in the current database.

Parameters
pInputSurface[in] Pointer to the surface to be offset.
dOffsetDistance[in] Offset distance.
bAssociativeEnabled[in] Associativity flag value. The associativity flag indicates whether the patch surface associativity is enabled (if true) or disabled (if false).
offsetSurfaceId[out] Offset surface identifier to return.
Returns
eOk if the offset surface was successfully created or an appropriate error code in the other case.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ createOffsetSurface() [2/2]

static OdResult OdDbSurface::createOffsetSurface ( OdDbEntity pInputSurface,
double  dOffsetDistance,
OdDbEntityPtr offsetSurface 
)
static

Creates an offset surface.

Parameters
pInputSurface[in] Pointer to the surface to be offset.
dOffsetDistance[in] Offset distance.
offsetSurface[out] Offset surface to return.
Returns
eOk if the offset surface was successfully created or an appropriate error code in the other case.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ createSectionObjects()

virtual OdResult OdDbSurface::createSectionObjects ( const OdGePlane sectionPlane,
OdDbEntityPtrArray sectionObjects 
) const
virtual

Intersects the specified plane with the surface and stores the result of the intersection in an array.

Parameters
sectionPlane[in] Pointer to a plane object used for the intersection (section cutting plane).
sectionObjects[out] Reference to the entity array for representing resulting sections.
Returns
eOk if the intersection operation is successfully performed or an appropriate error code otherwise.
Remarks
Resulting entities are not included in the database, so the caller is responsible for the correct handling of the memory pointed to with the resulting array's items.

This method is implemented for Spatial modeler only and returns eNotImplementedYet status for other modelers.

◆ decomposeForSave()

virtual OdDbObjectPtr OdDbSurface::decomposeForSave ( OdDb::DwgVersion  ver,
OdDbObjectId replaceId,
bool &  exchangeXData 
)
virtual

Determines the behavior for custom objects when saving to .dwg or .dxf file.

Parameters
ver[in] Drawing version to save as.
replaceId[out] Object ID of the object replacing this object.
exchangeXData[out] Set to true if and only if this function did not add XData to the replacement object.
Returns
OdDbObjectPtr for a non-database-resident (NDBRO) replacement object if replaceId is OdDbObjectId::kNull, or NULL otherwise.
Remarks
This method either: Returns an OdDbObjectPtr for a non-database-resident (NDBRO) replacement object, setting replaceId to OdDbObjectId::kNull. Returns NULL, setting replaceId for a database-resident (DBRO) replacement object.

Custom objects can decompose themselves into other objects, adding additional XData as required. The Drawings transfers XData from this object to the replacement object if and only if exchangeXData is true.

The default implementation returns NULL and sets replaceId to OdDbObjectId::kNull. This function can be overridden in custom classes.

The method is not intended to be called by client code. For processing owned objects use the convertForSave() method.

Reimplemented from OdDbObject.

◆ dwgInFields()

virtual OdResult OdDbSurface::dwgInFields ( OdDbDwgFiler pFiler)
virtual

Reads the .dwg file data of this object.

Parameters
pFiler[in] Filer object from which data are read.
Returns
Filer status.
Remarks
This function is called by dwgIn() to allow the object to read its data.

When overriding this function:

  1. Call assertWriteEnabled().
  2. Call the parent class's dwgInFields(pFiler).
  3. If it returns eOK, continue; otherwise return whatever the parent's dwgInFields(pFiler) returned.
  4. Call the OdDbDwgFiler(pFiler) methods to read each of the object's data items in the order they were written.
  5. Return pFiler->filerStatus().

Reimplemented from OdDbEntity.

Reimplemented in OdDbExtrudedSurface, OdDbLoftedSurface, OdDbNurbSurface, OdDbPlaneSurface, OdDbRevolvedSurface, and OdDbSweptSurface.

◆ dwgOutFields()

virtual void OdDbSurface::dwgOutFields ( OdDbDwgFiler pFiler) const
virtual

Writes the .dwg file data of this object.

Parameters
pFiler[in] Pointer to the filer to which data are written.
Remarks
This function is called by dwgIn() to allow the object to write its data.

When overriding this function:

  1. Call assertReadEnabled().
  2. Call the parent class's dwgOutFields(pFiler).
  3. Call the OdDbDwgFiler(pFiler) methods to write each of the object's data items in the order they were written.

Reimplemented from OdDbEntity.

Reimplemented in OdDbExtrudedSurface, OdDbLoftedSurface, OdDbNurbSurface, OdDbPlaneSurface, OdDbRevolvedSurface, and OdDbSweptSurface.

◆ dxfInFields()

virtual OdResult OdDbSurface::dxfInFields ( OdDbDxfFiler pFiler)
virtual

Reads the DXF data of this object.

Parameters
pFiler[in] Pointer to the filer from which data are read.
Returns
Filer status.
Remarks
This function is called by dxfIn() to allow the object to read its data.

When overriding this function:

  1. Call assertWriteEnabled().
  2. Call the parent class's dwgInFields(pFiler).
  3. If it returns eOK, continue; otherwise return whatever the parent's dxfInFields(pFiler) returned.
  4. Call the OdDbDxfFiler(pFiler) methods to read each of the object's data items in the order they were written.
  5. Return pFiler->filerStatus().

Reimplemented from OdDbEntity.

Reimplemented in OdDbExtrudedSurface, OdDbLoftedSurface, OdDbNurbSurface, OdDbPlaneSurface, OdDbRevolvedSurface, and OdDbSweptSurface.

◆ dxfOutFields()

virtual void OdDbSurface::dxfOutFields ( OdDbDxfFiler pFiler) const
virtual

Writes the DXF data of this object.

Parameters
pFiler[in] Pointer to the filer to which data are to be written.
Remarks
This function is called by dxfOut() to allow the object to write its data.

When overriding this function:

  1. Call assertReadEnabled().
  2. Call the parent class's dxfOutFields(pFiler).
  3. Use pFiler to call the OdDbDxfFiler methods to write each of the object's data items in the order they were written.

Reimplemented from OdDbEntity.

Reimplemented in OdDbExtrudedSurface, OdDbLoftedSurface, OdDbNurbSurface, OdDbPlaneSurface, OdDbRevolvedSurface, and OdDbSweptSurface.

◆ extendEdges()

OdResult OdDbSurface::extendEdges ( OdDbFullSubentPathArray edgesId,
double  dExtDist,
EdgeExtensionType  extOption,
bool  bAssociativeEnabled 
)

This method is not implemented.

◆ filletEdges()

virtual OdResult OdDbSurface::filletEdges ( const OdArray< OdDbSubentId * > &  edgeSubentIds,
const OdGeDoubleArray radius,
const OdGeDoubleArray startSetback,
const OdGeDoubleArray endSetback 
)
virtual

Creates rounded fillets along the specified edges of the surface.

Parameters
edgeSubentIds[in] Object IDs of the edges where the fillet will be applied.
radius[in] Array of radius values for the corresponding edges.
startSetback[in] Array of starting setback values for the corresponding edges.
endSetback[in] Array of ending setback values for the corresponding edge.
Returns
eOk if creating the fillet is successful or an appropriate error code otherwise.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ getArea()

virtual OdResult OdDbSurface::getArea ( double &  area) const
virtual

Calculates the total surface area.

Parameters
area[out] Reference for returning the calculated surface area value.
Returns
eOk if successful, or an appropriate error code otherwise.
Remarks
This method calculates the area of a single side of the surface.

This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

◆ getFaceMesh()

bool OdDbSurface::getFaceMesh ( GeMesh::OdGeTrMesh mesh,
OdGsMarker  iFace,
const wrTriangulationParams triangulationParams 
) const

Returns a mesh for a face.

Parameters
mesh[out] Output mesh of the face.
iFace[in] Face marker.
triangulationParams[in] ACIS triangulation (rendering) parameters.
Returns
eOk if successful or an appropriate error code otherwise.

◆ getPerimeter()

OdResult OdDbSurface::getPerimeter ( double &  ) const

Returns the current perimeter value of the surface.

Parameters
dRegionPerimeter[in] Reference to a double value to store the perimeter.
Returns
eOk if the perimeter was successfully returned to the calling subroutine or an appropriate error code otherwise.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ getSubentColor()

virtual OdResult OdDbSurface::getSubentColor ( const OdDbSubentId subentId,
OdCmColor color 
) const
virtual

Retrieves the color of a given subentity.

Parameters
subentId[in] ID of the subentity.
color[out] Color of the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

◆ getSubentMaterial()

virtual OdResult OdDbSurface::getSubentMaterial ( const OdDbSubentId subentId,
OdDbObjectId matId 
) const
virtual

Retrieves the material of a given subentity.

Parameters
subentId[in] ID of the subentity.
matId[out] Material of the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

◆ getSubentMaterialMapper()

virtual OdResult OdDbSurface::getSubentMaterialMapper ( const OdDbSubentId subentId,
OdGiMapper mapper 
) const
virtual

Retrieves the material mapper of a given subentity.

Parameters
subentId[in] ID of the subentity.
mapper[out] Material mapper of the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

◆ imprintEntity()

virtual OdResult OdDbSurface::imprintEntity ( const OdDbEntityPtr  pEntity)
virtual

Intersects the specified entity with the surface and imprints the intersection graph onto the surface. In the case of creating a closed loop of edges, a new face is created. In the case of creating an open loop of edges, it can be added as a spur to an existing loop on a face or as a slit in the face.

Parameters
pEntity[in] Pointer to the entity to be imprinted. The specified entity must be of one of the following types: OdDbCurve, OdDb3dSolid, OdDbSurface, OdDbBody, OdDbRegion, OdDbTrace, OdDbSolid or OdDbFace.
Returns
eOk if the intersection operation is successfully performed or an appropriate error code otherwise.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ internalSubentId()

virtual OdDbSubentId OdDbSurface::internalSubentId ( void ent) const
virtual

For internal use only.

Parameters
ent[in] ACIS object pointer.
Remarks
This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

◆ internalSubentPtr()

virtual void * OdDbSurface::internalSubentPtr ( const OdDbSubentId id) const
virtual

For internal use only.

Parameters
id[in] Subentity ID in the ACIS object.
Remarks
This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

◆ isNull()

bool OdDbSurface::isNull ( ) const

Returns true if and only if there is no ACIS model associated with this entity.

Returns
True if there is no ACIS model associated with this entity; false otherwise.

◆ numChanges()

virtual OdUInt32 OdDbSurface::numChanges ( ) const
virtual

Returns the number of changes occurred since the solid's creation.

Returns
Number of changes.

◆ ODDB_DECLARE_MEMBERS()

OdDbSurface::ODDB_DECLARE_MEMBERS ( OdDbSurface  )

◆ projectOnToSurface()

OdResult OdDbSurface::projectOnToSurface ( const OdDbEntity pEntityToProject,
const OdGeVector3d projectionDirection,
OdDbEntityPtrArray projectedEntities 
) const

Creates entities by projecting the specified entity along the projection direction to the surface.

Parameters
pEntityToProject[in] Pointer to the entity to be projected. If the entity to project is represented by an OdDbPoint object, an OdDbPoint object representing the nearest point on the surface is returned.
projectionDirection[in] Vector specifying the direction of the projection.
projectedEntities[out] Array of pointers to entities created by the projection.
Returns
eOk if projecting operation was successfully finished or an appropriate error code otherwise.
Remarks
All entities created as a result of projection are not included in the database, so the caller is responsible for managing the memory occupied with these entities.

This method is implemented for Spatial modeler only and returns eNotImplementedYet status for other modelers.

◆ rayTest()

OdResult OdDbSurface::rayTest ( const OdGePoint3d rayBasePoint,
const OdGeVector3d rayDir,
double  rayRadius,
OdArray< OdDbSubentId > &  subEntIds,
OdGeDoubleArray parameters 
) const

Creates a ray which starts from a specified point and has a specified direction.

Parameters
rayBasePoint[in] Base point to start a ray from.
rayDir[in] Ray direction.
rayRadius[in] Ray radius. It defines the tolerance used for intersection checking.
subEntIds[out] Reference to the subentities array to return. Returned subentities can be one of the following: faces, edges or vertices.
parameters[out] Array of parameters to return. Parameters show the intersection between a ray and subentities.
Returns
eOk if a ray was successfully created or an appropriate error code in the other case.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ saveAs()

virtual void OdDbSurface::saveAs ( OdGiWorldDraw pWd,
OdDb::DwgVersion  ver 
) const
virtual

Creates a geometric representation of the entity for saving proxy graphics or converting to previous formats.

Parameters
pWd[in] Pointer to the OdGiWorldDraw object.
ver[in] Specifies the reason why the method is called.
Remarks
This method can be overridden in custom classes.

Reimplemented from OdDbEntity.

◆ setBody()

virtual OdResult OdDbSurface::setBody ( const void pGeometry)
virtual

Directly sets the contained modeler geometry of this entity.

Parameters
pGeometry[in] Pointer to the modeler geometry.
Returns
eOk if successful or an appropriate error code otherwise.

◆ setSubentColor()

virtual OdResult OdDbSurface::setSubentColor ( const OdDbSubentId subentId,
const OdCmColor color 
)
virtual

Sets the color of a given subentity.

Parameters
subentId[in] ID of the subentity.
color[in] Color to be set to the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

◆ setSubentMaterial()

virtual OdResult OdDbSurface::setSubentMaterial ( const OdDbSubentId subentId,
const OdDbObjectId matId 
)
virtual

Sets the material of a given subentity.

Parameters
subentId[in] ID of the subentity.
matId[in] Material to be set to the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

◆ setSubentMaterialMapper()

virtual OdResult OdDbSurface::setSubentMaterialMapper ( const OdDbSubentId subentId,
const OdGiMapper mapper 
)
virtual

Sets the material mapper of a given subentity.

Parameters
subentId[in] ID of the subentity.
mapper[in] Material mapper to be set to the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

◆ setUIsolineDensity()

virtual void OdDbSurface::setUIsolineDensity ( OdUInt16  numIsolines)
virtual

Sets the number of isolines in the U direction of the surface, displayed in wireframe mode for visualization.

Parameters
numIsolines[in] Number of isolines.

◆ setVIsolineDensity()

virtual void OdDbSurface::setVIsolineDensity ( OdUInt16  numIsolines)
virtual

Sets the number of isolines in the V direction of the surface, displayed in wireframe mode for visualization.

Parameters
numIsolines[in] Number of isolines.

◆ sliceByPlane()

virtual OdResult OdDbSurface::sliceByPlane ( const OdGePlane slicePlane,
OdDbSurfacePtr pNegHalfSurface,
OdDbSurfacePtr pNewSurface 
)
virtual

Slices the surface with the specified plane and sets the surface to be the portion on the positive normal side plane.

Parameters
slicePlane[in] Reference to the plane object to be used for slicing the surface.
pNegHalfSurface[out] Pointer to a new surface representing the negative side of the surface that is sliced by the specified plane.
pNewSurface[out] Pointer to a new surface representing the positive half of the surface that is sliced by the specified plane.
Returns
eOk if the slicing operation is successfully performed or an appropriate error code otherwise.
Remarks
This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ sliceBySurface()

virtual OdResult OdDbSurface::sliceBySurface ( const OdDbSurfacePtr  pSlicingSurface,
OdDbSurfacePtr pNegHalfSurface,
OdDbSurfacePtr pNewSurface 
)
virtual

Slices the surface with the specified surface.

Parameters
pSlicingSurface[in] Pointer to the surface to be used to slice this surface.
pNegHalfSurface[out] Pointer to a new surface object representing the other (negative) side of the sliced surface.
pNewSurface[out] Pointer to a new surface object representing the positive side of the sliced surface.
Returns
eOk if the slicing operation is successfully performed or an appropriate error code otherwise.
Remarks
If the specified surface does not intersect this surface and this surface is left unchanged, pNegHalfSurface is set to NULL.

This method is implemented for Spatial modeler only and returns the eNotImplementedYet status for other modelers.

◆ subClose()

virtual void OdDbSurface::subClose ( )
virtual

Called as the first operation as this object is being closed, for database -resident objects only.

Reimplemented from OdDbObject.

◆ subExplode()

virtual OdResult OdDbSurface::subExplode ( OdRxObjectPtrArray entitySet) const
virtual

Explodes this entity into a set of simpler entities. Entities resulting from the explosion are appended to the specified array.

Parameters
entitySet[in/out] Receives an array of pointers to the new entities.
Returns
eOk if successful or an appropriate error code otherwise.
Remarks
The newly created entities are not database residents.

Reimplemented from OdDbEntity.

Reimplemented in OdDbPlaneSurface.

◆ subGetClassID()

virtual OdResult OdDbSurface::subGetClassID ( void pClsid) const
virtual

Retrieves the class information.

Parameters
pClsid[out] Raw-pointer to the class information.
Returns
eOk if successful or an appropriate error code otherwise.

Reimplemented from OdDbEntity.

Reimplemented in OdDbExtrudedSurface, OdDbLoftedSurface, OdDbPlaneSurface, OdDbRevolvedSurface, and OdDbSweptSurface.

◆ subGetGeomExtents()

virtual OdResult OdDbSurface::subGetGeomExtents ( OdGeExtents3d extents) const
virtual

Calculates geometrical extents of this surface.

Parameters
extents[out] Geometrical extents.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

Reimplemented from OdDbEntity.

◆ subGetGsMarkersAtSubentPath()

virtual OdResult OdDbSurface::subGetGsMarkersAtSubentPath ( const OdDbFullSubentPath subPath,
OdGsMarkerArray gsMarkers 
) const
virtual

Gets all graphic system markers by subentity paths.

Parameters
subPath[in] Full path to the subentity.
gsMarkers[out] Array of integer identifiers (GS markers).
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

Reimplemented from OdDbEntity.

◆ subGetSubentPathsAtGsMarker()

virtual OdResult OdDbSurface::subGetSubentPathsAtGsMarker ( OdDb::SubentType  type,
OdGsMarker  gsMark,
const OdGePoint3d pickPoint,
const OdGeMatrix3d viewXform,
OdDbFullSubentPathArray subentPaths,
const OdDbObjectIdArray pEntAndInsertStack = 0 
) const
virtual

Gets all subentity paths by a graphic system marker.

Parameters
type[in] Subentity type being queried.
gsMark[in] GS marker of the subentity being queried.
pickPoint[in] WCS point picked during selection of the entity.
viewXform[in] Transformation matrix from WCS to DCS.
subentPaths[out] Array of OdDbFullSubentPath objects.
pEntAndInsertStack[in] Array of objectIds of the objects that are the nested containers of the subentity.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.

Reimplemented from OdDbEntity.

◆ subGetTransformedCopy()

virtual OdResult OdDbSurface::subGetTransformedCopy ( const OdGeMatrix3d mat,
OdDbEntityPtr pCopy 
) const
virtual

Retrieves the copied version of this surface transformed by the specified transformation matrix.

Parameters
mat[in] Transformation matrix to apply to the copied object.
pCopy[out] Receives the transformed copy of this surface.
Returns
eOk if the operation completed successfully or an appropriate error code otherwise.
Remarks
If the operation is unsuccessful the value of pCopy will be NULL.

Reimplemented from OdDbEntity.

◆ subHandOverTo()

virtual void OdDbSurface::subHandOverTo ( OdDbObject pNewObject)
virtual

Called as the first operation of the handOverTo function.

Parameters
pNewObject[in] Pointer to the object with which to replace this object in the database.
Remarks
This function allows custom classes to populate the new object. For surfces (this custom class) this function restores previously lost attributes.
Overriding this function in a child class allows a child instance to be notified each time an object is handed over.

This function is notified just before an object is to be handed over; giving this function the ability to cancel the handover.

When overriding this function:

  1. If the OdDbObject's state is incorrect, throw exception.
  2. Call parent class's subHandover().
  3. If other actions are required before handover, do them.

The default implementation of this function does nothing. This function can be overridden in custom classes.

Reimplemented from OdDbEntity.

◆ subSetAttributes()

virtual OdUInt32 OdDbSurface::subSetAttributes ( OdGiDrawableTraits pTraits) const
virtual

Sets the values of this object's subentity traits, and returns with the calling object's subentity traits.

Parameters
pTraits[in] Pointer to the OdGiDrawableTraits object to be set.
Returns
kDrawableNone.
Remarks
When overriding subSetAttributes(), you must OR (|) the return value of ::subSetAttributes(pTraits) with any flags you add.

A derived class may not remove flags for any reason.

The default implementation does nothing but returns kDrawableNone. This function can be overridden in custom classes.

Reimplemented from OdDbEntity.

◆ subSubentPtr()

virtual OdDbEntityPtr OdDbSurface::subSubentPtr ( const OdDbFullSubentPath id) const
virtual

Creates a copy of a subentity.

Parameters
id[in] Full path to the subentity that should be copied.
Returns
If successful, returns a pointer to the resulting copy. Otherwise returns NULL.

Reimplemented from OdDbEntity.

◆ subTransformBy()

virtual OdResult OdDbSurface::subTransformBy ( const OdGeMatrix3d xfm)
virtual

Applies the specified 3D transformation matrix to this entity. Only available if transformation is uniform.

Parameters
xfm[in] 3D transformation matrix.
Returns
eOk if successful or an appropriate error code otherwise.

Reimplemented from OdDbEntity.

Reimplemented in OdDbExtrudedSurface, OdDbLoftedSurface, OdDbRevolvedSurface, and OdDbSweptSurface.

◆ subViewportDraw()

virtual void OdDbSurface::subViewportDraw ( OdGiViewportDraw pVd) const
virtual

Takes a pointer to an OdGiViewportDraw object and builds the view — a specific representation of an entity.

Parameters
pVd[in] Pointer to an OdGiViewportDraw.

Reimplemented from OdDbEntity.

◆ subWorldDraw()

virtual bool OdDbSurface::subWorldDraw ( OdGiWorldDraw pWd) const
virtual

Creates a viewport-independent geometric representation of this object.

Parameters
pWd[in] Pointer to the OdGiWorldDraw interface.
Returns
True if and only if the geometric representation can be generated in a viewport-independent manner.

Reimplemented from OdDbEntity.

◆ thicken()

virtual OdResult OdDbSurface::thicken ( double  thickness,
bool  bBothSides,
OdDb3dSolidPtr pSolid 
) const
virtual

Creates a 3D solid object by thickening the surface by a specified amount.

Parameters
thickness[in] Amount to thicken the surface.
bBothSides[in] Flag indicating whether the thickening should be applied to both sides of the surface.
pSolid[out] Reference to an OdDb3dSolid object pointer created during the thickening. If thickening fails, this parameter is NULL.
Returns
eOk if successful, or an appropriate error code otherwise.
Remarks
A solid created by this method is not included in the database, so the caller is responsible for managing the memory allocated for the solid. If the thickness is less than zero, the surface will be thickened in the opposite direction.

This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

◆ trimSurface()

static OdResult OdDbSurface::trimSurface ( const OdDbObjectId blankSurfaceId,
const OdDbObjectIdArray toolIds,
const OdDbObjectIdArray toolCurveIds,
const OdGeVector3dArray projVectors,
const OdGePoint3d pickPoint,
const OdGeVector3d viewVector,
bool  bAutoExtend,
bool  bAssociativeEnabled 
)
static

Trims a surface with specified cutting surfaces (curves). A surface can be trimmed by other surfaces or curves. When curves are used, the actual trimming boundary is formed by projecting the curves onto the surface, so the additional information of projection directions needs to be provided.

Parameters
blankSurfaceId[in] Reference to the surface to be trimmed.
toolIds[in] Reference to the array of the cutting entity's IDs. Bodies of specified entities are used to trim the specified surface.
toolCurveIds[in] Reference to the array of the cutting curve's IDs. The specified surface will be trimmed by projecting curves to it.
projVectors[in] Reference to the array of projection directions for each cutting curve.
pickPoint[in] Pick point that specifies which area of the specified surface must be trimmed.
viewVector[in] Vector representing the view direction for creating a ray starting from the pick point.
bAutoExtend[in] If this option is set, then when a tool body consists of a single face with analytic geometry, the underlying geometry will be extended as much as possible to make sure the surface is trimmed. The tool body supplied will not be modified.
bAssociativeEnabled[in] Specifies whether the surface trimming operation should be associative.
Returns
eOk if the trimming operation was successfully finished or an appropriate error code otherwise.
Remarks
This method is not implemented.

◆ uIsolineDensity()

virtual OdUInt16 OdDbSurface::uIsolineDensity ( ) const
virtual

Returns the number of isolines in the U direction of the surface, displayed in wireframe mode for visualization.

Returns
Number of isolines.

◆ vIsolineDensity()

virtual OdUInt16 OdDbSurface::vIsolineDensity ( ) const
virtual

Returns the number of isolines in the V direction of the surface, displayed in wireframe mode for visualization.

Returns
Number of isolines.

The documentation for this class was generated from the following file: