CFx SDK Documentation  2020SP3
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)
 
OdResult acisIn (OdStreamBuf *pStreamBuf, AfTypeVer *pTypeVer=0)
 
void brep (OdBrBrep &brep)
 
virtual OdDbObjectPtr decomposeForSave (OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
virtual OdResult subExplode (OdRxObjectPtrArray &entitySet) const
 
virtual OdResult subTransformBy (const OdGeMatrix3d &xfm)
 
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 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 OdDbSurfacePtr pSurface, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult booleanSubtract (const OdDbSurfacePtr pSurface, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult booleanSubtract (const OdDb3dSolidPtr pSolid, OdDbSurfacePtr &pNewSurface)
 
virtual OdResult booleanIntersect (const OdDbSurfacePtr pSurface2, OdDbEntityPtrArray &intersectionEntities)
 
virtual OdResult booleanIntersect (const OdDb3dSolidPtr 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 (OdDbNurbSurfaceArray &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
 
- 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 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)
 
void appendToOwner (OdDbIdPair &idPair, OdDbObject *pOwnerObject, OdDbIdMapping &ownerIdMap)
 
virtual OdResult dxfIn (OdDbDxfFiler *pFiler)
 
virtual void dxfOut (OdDbDxfFiler *pFiler) const
 
virtual OdResult dxfInFields_R12 (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields_R12 (OdDbDxfFiler *pFiler) const
 
virtual OdGiDrawabledrawable ()
 
virtual void subList () const
 
void subSwapIdWith (const OdDbObjectId &otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual OdResult subErase (bool erasing) 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)
 
void handOverTo (OdDbObject *pNewObject, bool keepXData=true, bool keepExtDict=true)
 
void swapIdWith (OdDbObjectId otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual void audit (OdDbAuditInfo *pAuditInfo)
 
void dwgIn (OdDbDwgFiler *pFiler)
 
void dwgOut (OdDbDwgFiler *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 ()
 
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 &ownerIdMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdDbObjectPtr wblockClone (OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
 
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)
 
bool hasSaveVersionOverride () const
 
void setHasSaveVersionOverride (bool hasSaveVersionOverride)
 
virtual OdDb::DwgVersion getObjectSaveVersion (const OdDbFiler *pFiler, OdDb::MaintReleaseVer *pMaintVer=0) const
 
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 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
 
ODRX_SEALED_VIRTUAL OdUInt32 viewportDrawLogicalFlags (OdGiViewportDraw *pVd) const ODRX_SEALED
 
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
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
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,
  kLastFlag = kDrawableNotPlottable
}
 
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 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 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 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 ()
 
- Protected Member Functions inherited from OdGiDrawable
 OdGiDrawable ()
 
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.

See also
TD_Db

<group OdDb_Classes>

Definition at line 75 of file DbSurface.h.

Constructor & Destructor Documentation

◆ OdDbSurface()

OdDbSurface::OdDbSurface ( )

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
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 
)

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
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 OdDb3dSolidPtr  pSolid,
OdDbEntityPtrArray intersectionEntities 
)
virtual

Performs a Boolean intersection operation between this surface and the specified solid object. Entities representing the intersections between the two entities are stored in an array.

Parameters
pSolid[in] Pointer to the solid object to be intersected with the surface.
intersectionEntities[out] A reference to an entity array for storing the results of the intersection operation between the solid and surface. The resulting array can contain the following types of entities: OdDbSurface, OdDbLine, OdDbCircle, OdDbArc, OdDbEllipse, and OdDbSpline.
Returns
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 result array's items.
This method is implemented only for Spatial modeler and returns eNotImplementedYet status
for other modelers.

◆ booleanIntersect() [2/2]

virtual OdResult OdDbSurface::booleanIntersect ( const OdDbSurfacePtr  pSurface2,
OdDbEntityPtrArray intersectionEntities 
)
virtual

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

Parameters
pSurface2[in] Pointer to the other surface to be intersected with the surface.
intersectionEntities[out] A reference to an entity array for storing the results of the intersection operation. The resulting array can contain the following entity types: OdDbSurface, OdDbLine, OdDbCircle, OdDbArc, OdDbEllipse, and OdDbSpline.
Returns
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 only for Spatial modeler and returns eNotImplementedYet status
for other modelers.

◆ booleanSubtract() [1/2]

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

Performs a Boolean subtraction operation with a specified solid object and the surface. Creates a new surface entity as a result of subtracting the specified solid from this surface.

Parameters
pSolid[in] Pointer to the specified solid to be subtracted from the surface.
pNewSurface[out] Pointer to a new surface that represents the subtraction operation result.
Returns
Returns eOk if the subtraction operation is successfully performed or an appropriate error code otherwise. If the subtraction operation fails, NULL is returned as a value of pNewSurface.
Remarks
Resulting surface is not included in the database, so caller is responsible for the correct handling of the memory pointed to with pNewSurface.

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

◆ booleanSubtract() [2/2]

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

Performs a Boolean subtraction operation with two surfaces: this one and another specified surface. Creates a new surface entity as a result of subtracting the specified surface from this 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
Returns eOk if the subtraction operation is successfully performed, or an appropriate error code otherwise. If the subtraction operation fails, NULL is returned as a value of pNewSurface.
Remarks
Resulting surface is not included in the database, so caller is responsible for the correct handling of the memory pointed to with pNewSurface.

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

◆ booleanUnion()

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

Performs a Boolean union operation with two surfaces: this one and another specified surface. Creates a new surface entity as a result.

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
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
Resulting surface is not included in the database, so caller is responsible for the correct handling of the memory pointed to with pNewSurface.

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

◆ 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
Returns eOk if creating the chamfer is successful or an appropriate error code otherwise.
Remarks
This method is implemented only for Spatial modeler and returns eNotImplementedYet status for other modelers.

◆ convertToNurbSurface()

virtual OdResult OdDbSurface::convertToNurbSurface ( OdDbNurbSurfaceArray nurbSurfaceArray)
virtual

Converts the surface to nurb surfaces.

Parameters
nurbSurfaceArray[in] Array of generated nurb surfaces.
Returns
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 only for Spatial modeler and returns 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
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 memory of the created OdDbRegion objects.

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

◆ 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
Returns eOk if an extruded surface was created successfully or an appropriate error code in the other case.
Remarks
This method is implemented only for Spatial modeler and returns 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 an 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
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 caller is responsible for the correct handling of them. This means that caller must include created entities in the database or delete them when they are no longer needed.

This method is implemented only for Spatial modeler and returns 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] A pointer to a surface to be offset.
dOffsetDistance[in] An offset distance.
bAssociativeEnabled[in] An associativity flag value. The associativity flag indicates whether the patch surface associativity is enabled (if true) or not (if false).
offsetSurfaceId[out] An offset surface identifier to return.
Returns
Returns eOk if the offset surface was successfully created or an appropriate error code in the other case.
Remarks
This method is implemented only for Spatial modeler and returns 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] A pointer to a surface to be offset.
dOffsetDistance[in] An offset distance.
offsetSurface[out] An offset surface to return.
Returns
Returns eOk if the offset surface was successfully created or an appropriate error code in the other case.
Remarks
This method is implemented only for Spatial modeler and returns 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 creates the intersection in a resulting array.

Parameters
sectionPlane[in] Pointer to a plane object used for the intersection (section cutting plane).
sectionObjects[out] A reference to an entity array for representing resulting sections.
Returns
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 result array's items.

This method is implemented only for Spatial modeler 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.
Remarks
This function 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. Teigha 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 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
Returns the filer status.

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 OdDbSweptSurface, OdDbRevolvedSurface, OdDbPlaneSurface, OdDbNurbSurface, OdDbLoftedSurface, and OdDbExtrudedSurface.

◆ 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 OdDbSweptSurface, OdDbRevolvedSurface, OdDbPlaneSurface, OdDbNurbSurface, OdDbLoftedSurface, and OdDbExtrudedSurface.

◆ 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
Returns the filer status.

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 OdDbSweptSurface, OdDbRevolvedSurface, OdDbPlaneSurface, OdDbNurbSurface, OdDbLoftedSurface, and OdDbExtrudedSurface.

◆ 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). 4) 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 OdDbSweptSurface, OdDbRevolvedSurface, OdDbPlaneSurface, OdDbNurbSurface, OdDbLoftedSurface, and OdDbExtrudedSurface.

◆ 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
Returns eOk if creating the fillet is successful or an appropriate error code otherwise.
Remarks
This method is implemented only for Spatial modeler and returns eNotImplementedYet status for other modelers.

◆ getArea()

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

Calculates the total surface area.

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

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

◆ getPerimeter()

OdResult OdDbSurface::getPerimeter ( double &  ) const

Returns the current perimeter value of the surface.

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

◆ getSubentColor()

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

◆ getSubentMaterial()

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

◆ getSubentMaterialMapper()

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

◆ 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 one of the following types: OdDbCurve, OdDb3dSolid, OdDbSurface, OdDbBody, OdDbRegion, OdDbTrace, OdDbSolid, or OdDbFace.
Returns
Returns eOk if the intersection operation is successfully performed or an appropriate error code otherwise.
Remarks
This method is implemented only for Spatial modeler and returns eNotImplementedYet status for other modelers.

◆ internalSubentId()

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

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

◆ internalSubentPtr()

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

This method is implemented only for Spatial modeler and returns 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.

◆ 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
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 only for Spatial modeler 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] A base point to start a ray from.
rayDir,[in]A ray direction.
rayRadius,[in]A ray radius. It defines the tolerance used for intersection checking.
subEntIds,[out]A reference to a subentities array to return. Returned subentities can be one of the following: faces, edges, or vertices.
parameters[out] An array of parameters to return. Parameters shows the intersection between a ray and subentities.
Returns
Returns eOk if a ray was successfully created or an appropriate error code in the other case.
Remarks
This method is implemented only for Spatial modeler and returns eNotImplementedYet status for other modelers.

◆ 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
Returns eOk if successful or an appropriate error code otherwise.

◆ setSubentColor()

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

◆ setSubentMaterial()

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

◆ setSubentMaterialMapper()

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

◆ 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] The number of isolines in the U direction of the surface, displayed in wireframe mode for visualization.

◆ 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] The number of isolines in the V direction of the surface, displayed in wireframe mode for visualization.

◆ 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 a 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
Returns eOk if the slicing operation is successfully performed or an appropriate error code otherwise.
Remarks
This method is implemented only for Spatial modeler and returns 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
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 only for Spatial modeler and returns eNotImplementedYet status for other modelers.

◆ subExplode()

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

Reimplemented from OdDbEntity.

Reimplemented in OdDbPlaneSurface.

◆ subGetClassID()

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

◆ subGetGeomExtents()

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

Reimplemented from OdDbEntity.

◆ subGetGsMarkersAtSubentPath()

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

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

Reimplemented from OdDbEntity.

◆ subGetTransformedCopy()

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

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.
Remarks
When overriding subSetAttributes(), you must OR (|) the return value of <base class>::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

Reimplemented from OdDbEntity.

◆ subTransformBy()

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

◆ subWorldDraw()

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

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
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 memory allocated for the solid. If thickness is less than zero, the surface will be thickened in the opposite direction.

This method is implemented only for Spatial modeler and returns 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 project direction needs to be provided.

Parameters
blankSurfaceId[in] Reference to a surface to be trimmed.
toolIds[in] Reference to an array of the cutting entity's IDs. Bodies of specified entities are used to trim the specified surface.
toolCurveIds[in] Reference to an array of the cutting curve's IDs. The specified surface will be trimmed by projecting curves to it.
projVectors[in] Reference to an array of projection direction 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
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.

◆ 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.


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