CFx SDK Documentation  2023 SP0
Public Member Functions | Static Public Member Functions | List of all members
OdDbCurve Class Referenceabstract

#include <DbCurve.h>

Inheritance diagram for OdDbCurve:
OdDbEntity OdDbObject OdGiDrawable OdRxObject AECDbEntity OdDb2dPolyline OdDb3dPolyline OdDbArc OdDbCircle OdDbEllipse OdDbLeader OdDbLine OdDbPolyline OdDbRay OdDbSpline OdDbXline

Public Member Functions

 ODDB_DECLARE_MEMBERS (OdDbCurve)
 
 OdDbCurve ()
 
virtual bool isClosed () const
 
virtual bool isPeriodic () const
 
virtual OdResult getStartParam (double &startParam) const =0
 
virtual OdResult getEndParam (double &endParam) const =0
 
virtual OdResult getStartPoint (OdGePoint3d &startPoint) const =0
 
virtual OdResult getEndPoint (OdGePoint3d &endPoint) const =0
 
virtual OdResult getPointAtParam (double param, OdGePoint3d &pointOnCurve) const =0
 
virtual OdResult getParamAtPoint (const OdGePoint3d &pointOnCurve, double &param) const =0
 
virtual OdResult getDistAtParam (double param, double &dist) const =0
 
virtual OdResult getParamAtDist (double dist, double &param) const =0
 
virtual OdResult getDistAtPoint (const OdGePoint3d &pointOnCurve, double &dist) const
 
virtual OdResult getPointAtDist (double dist, OdGePoint3d &pointOnCurve) const
 
virtual OdResult getFirstDeriv (double param, OdGeVector3d &firstDeriv) const =0
 
virtual OdResult getFirstDeriv (const OdGePoint3d &pointOnCurve, OdGeVector3d &firstDeriv) const
 
virtual OdResult getSecondDeriv (double param, OdGeVector3d &secondDeriv) const
 
virtual OdResult getSecondDeriv (const OdGePoint3d &pointOnCurve, OdGeVector3d &secondDeriv) const
 
virtual OdResult getClosestPointTo (const OdGePoint3d &givenPoint, OdGePoint3d &pointOnCurve, bool extend=false) const
 
virtual OdResult getClosestPointTo (const OdGePoint3d &givenPoint, const OdGeVector3d &normal, OdGePoint3d &pointOnCurve, bool extend=false) const
 
virtual OdResult getSpline (OdDbSplinePtr *spline) const
 
virtual OdResult extend (double param)
 
virtual OdResult extend (bool extendStart, const OdGePoint3d &toPoint)
 
virtual OdResult getArea (double &area) const
 
virtual OdResult getOrthoProjectedCurve (const OdGePlane &projPlane, OdDbCurvePtr *pProjCurve) const
 
virtual OdResult getProjectedCurve (const OdGePlane &projPlane, const OdGeVector3d &projDirection, OdDbCurvePtr *pProjCurve) const
 
virtual OdResult getOffsetCurves (double offsetDistance, OdRxObjectPtrArray &offsetCurves) const
 
virtual OdResult getOffsetCurvesGivenPlaneNormal (const OdGeVector3d &normal, double offsetDistance, OdRxObjectPtrArray &offsetCurves) const
 
virtual OdResult getSplitCurves (const OdGeDoubleArray &params, OdRxObjectPtrArray &curveSegments) const
 
virtual OdResult getSplitCurves (const OdGePoint3dArray &points, OdRxObjectPtrArray &curveSegments) const
 
virtual OdResult reverseCurve ()
 
virtual OdResult getOdGeCurve (OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const
 
virtual OdResult setFromOdGeCurve (const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
 
virtual OdInt32 findVertexIndex (const OdDbVertex *vert) 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 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
 
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::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 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 createFromOdGeCurve (const OdGeCurve3d &geCurve, OdDbCurve *&pDbCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
 
- 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 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 ()
 
- 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

The class is the base class for all OdDb curves.

Corresponding C++ library: TD_Db

<group OdDb_Classes>

Definition at line 52 of file DbCurve.h.

Constructor & Destructor Documentation

◆ OdDbCurve()

OdDbCurve::OdDbCurve ( )

Member Function Documentation

◆ createFromOdGeCurve()

static OdResult OdDbCurve::createFromOdGeCurve ( const OdGeCurve3d geCurve,
OdDbCurve *&  pDbCurve,
OdGeVector3d normal = NULL,
const OdGeTol tol = OdGeContext::gTol 
)
static

Takes an OdGeCurve3d and returns an OdDbCurve that is geometrically identical to the OdGeCurve3d.

Parameters
geCurve[in] Reference to an OdGeCurve3d.
pDbCurve[out] Receives a pointer to an OdDbCurve object that is geometrically identical to geCurve. The caller of this function is responsible for deleting this OdDbCurve object or adding it to the database.
normal[in] Optional normal vector. If this parameter is supplied then it must be a valid vector that is perpendicular to the input geCurve, and this vector will become the normal vector of the output pDbCurve. If this parameter is not supplied, then this function will compute the normal vector itself.
tol[in] Optional tolerance
Returns
Returns eOk if successful.

◆ extend() [1/2]

virtual OdResult OdDbCurve::extend ( bool  extendStart,
const OdGePoint3d toPoint 
)
virtual

Extends this Curve object to the specified WCS point.

Parameters
toPoint[in] Point to which to extend.
extendStart[in] True to extend start of curve, false to extend end of curve.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ extend() [2/2]

virtual OdResult OdDbCurve::extend ( double  param)
virtual

Extends this Curve object to the specified WCS point.

Parameters
param[in] Parameter specifying point.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ findVertexIndex()

virtual OdInt32 OdDbCurve::findVertexIndex ( const OdDbVertex vert) const
inlinevirtual

Reimplemented in OdDb3dPolyline, and OdDb2dPolyline.

Definition at line 447 of file DbCurve.h.

◆ getArea()

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

Returns the area of this Curve object.

Parameters
area[out] Receives the area.
Returns
Returns eOk if successful, or an appropriate error code if not.

Reimplemented in OdDbEllipse, OdDbCircle, OdDbArc, OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDb3dPolyline, and OdDb2dPolyline.

◆ getClosestPointTo() [1/2]

virtual OdResult OdDbCurve::getClosestPointTo ( const OdGePoint3d givenPoint,
const OdGeVector3d normal,
OdGePoint3d pointOnCurve,
bool  extend = false 
) const
virtual

Returns the point on this Curve object closest to the given point.

Parameters
givenPoint[in] Given point.
pointOnCurve[out] Receives the closed point on this Curve object.
extend[in] Extends this Curve object if and only if true.
normal[in] Normal to the projection plane.
Returns
Returns eOk if successful, or an appropriate error code if not.

If normal is specified, this Curve object is projected onto the plane defined by givenPoint and normal, finds the closest point on the projected curve to givenPoint, and projects said closest point back onto the plane of this Curve object. It is this point that is returned as pointOnCurve.

◆ getClosestPointTo() [2/2]

virtual OdResult OdDbCurve::getClosestPointTo ( const OdGePoint3d givenPoint,
OdGePoint3d pointOnCurve,
bool  extend = false 
) const
virtual

Returns the point on this Curve object closest to the given point.

Parameters
givenPoint[in] Given point.
pointOnCurve[out] Receives the closed point on this Curve object.
extend[in] Extends this Curve object if and only if true.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getDistAtParam()

virtual OdResult OdDbCurve::getDistAtParam ( double  param,
double &  dist 
) const
pure virtual

Returns the distance along this Curve object from its start point to the point specified by param.

Parameters
param[in] Parameter specifying point.
dist[out] Receives the distance.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getDistAtPoint()

virtual OdResult OdDbCurve::getDistAtPoint ( const OdGePoint3d pointOnCurve,
double &  dist 
) const
virtual

Returns the distance along this Curve object from its start point to the specified WCS point.

Parameters
pointOnCurve[in] Point on the curve.
dist[out] Receives the distance.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getEndParam()

virtual OdResult OdDbCurve::getEndParam ( double &  endParam) const
pure virtual

Returns the parameter corresponding to the end point of this Curve object.

Parameters
endParam[out] Receives the end parameter.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getEndPoint()

virtual OdResult OdDbCurve::getEndPoint ( OdGePoint3d endPoint) const
pure virtual

Returns the WCS end point of this Curve object.

Parameters
endPoint[out] Receives the end point.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getFirstDeriv() [1/2]

virtual OdResult OdDbCurve::getFirstDeriv ( const OdGePoint3d pointOnCurve,
OdGeVector3d firstDeriv 
) const
virtual

Returns the first derivative of this Curve object at the specified WCS point.

Parameters
pointOnCurve[in] Point on the curve.
firstDeriv[out] Receives the first derivative.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getFirstDeriv() [2/2]

virtual OdResult OdDbCurve::getFirstDeriv ( double  param,
OdGeVector3d firstDeriv 
) const
pure virtual

Returns the first derivative of this Curve object at the specified WCS point.

Parameters
param[in] Parameter specifying point.
firstDeriv[out] Receives the first derivative.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getOdGeCurve()

virtual OdResult OdDbCurve::getOdGeCurve ( OdGeCurve3d *&  pGeCurve,
const OdGeTol tol = OdGeContext::gTol 
) const
virtual

Returns an OdGeCurve3d that is geometrically identical to this OdDbCurve.

Parameters
pGeCurve[out] Receives a pointer to an OdGeCurve3d object that is geometrically identical to this OdDbCurve. The caller of this function is responsible for deleting this OdGeCurve3d object.
tol[in] Optional tolerance.
Returns
Returns eOk if successful.

Reimplemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getOffsetCurves()

virtual OdResult OdDbCurve::getOffsetCurves ( double  offsetDistance,
OdRxObjectPtrArray offsetCurves 
) const
virtual

Creates a set of curves representing the offsetting of this Curve object by the specified distance.

Parameters
offsetDistance[in] Offset distance.
offsetCurves[out] Receives an array of SmartPointers to the offset curves.
Returns
Returns eOk if successful, or an appropriate error code if not.
Remarks
Pointers to all new curves are appended to the offsetCurves array.

◆ getOffsetCurvesGivenPlaneNormal()

virtual OdResult OdDbCurve::getOffsetCurvesGivenPlaneNormal ( const OdGeVector3d normal,
double  offsetDistance,
OdRxObjectPtrArray offsetCurves 
) const
virtual

Creates a set of curves representing the offsetting of this Curve object by the specified distance in a plane with the specified normal.

Parameters
offsetDistance[in] Offset distance.
offsetCurves[out] Receives an array of SmartPointers to the offset curves.
normal[in] Normal of the plane.
Returns
Returns eOk if successful, or an appropriate error code if not.
Remarks
Pointers to all new curves are appended to the offsetCurves array.

◆ getOrthoProjectedCurve()

virtual OdResult OdDbCurve::getOrthoProjectedCurve ( const OdGePlane projPlane,
OdDbCurvePtr pProjCurve 
) const
virtual

Creates a curve by projecting this Curve object onto the specified plane along its normal.

Parameters
projPlane[in] Projection plane.
pProjCurve[out] Receives a SmartPointer to the projected curve.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getParamAtDist()

virtual OdResult OdDbCurve::getParamAtDist ( double  dist,
double &  param 
) const
pure virtual

Returns the parameter corresponding to the point a specified distance along this Curve object from its start point.

Parameters
param[out] Receives the parameter.
dist[in] Distance along the curve.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getParamAtPoint()

virtual OdResult OdDbCurve::getParamAtPoint ( const OdGePoint3d pointOnCurve,
double &  param 
) const
pure virtual

Returns the parameter corresponding to the specified WCS point on this Curve object.

Parameters
param[out] Receives the parameter corresponding to pointOnCurve.
pointOnCurve[in] Point to be evaluated.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbLeader, OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getPointAtDist()

virtual OdResult OdDbCurve::getPointAtDist ( double  dist,
OdGePoint3d pointOnCurve 
) const
virtual

Returns the WCS point a specified distance along this Curve object from its start point.

Parameters
pointOnCurve[out] Receives the point.
dist[in] Distance along the curve.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getPointAtParam()

virtual OdResult OdDbCurve::getPointAtParam ( double  param,
OdGePoint3d pointOnCurve 
) const
pure virtual

Returns the WCS point on this Curve object corresponding to the specified parameter.

Parameters
param[in] Parameter specifying point.
pointOnCurve[out] Receives the point on this Curve object.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbLeader, OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getProjectedCurve()

virtual OdResult OdDbCurve::getProjectedCurve ( const OdGePlane projPlane,
const OdGeVector3d projDirection,
OdDbCurvePtr pProjCurve 
) const
virtual

Creates a curve by projecting this Curve object onto the specified plane along the specified direction.

Parameters
projPlane[in] Projection plane.
projDirection[in] Projection direction.
pProjCurve[out] Receives a SmartPointer to the projected curve.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getSecondDeriv() [1/2]

virtual OdResult OdDbCurve::getSecondDeriv ( const OdGePoint3d pointOnCurve,
OdGeVector3d secondDeriv 
) const
virtual

Returns the second derivative of this Curve object at the specified point.

Parameters
pointOnCurve[in] Point on the curve.
secondDeriv[out] Receives the first derivative.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getSecondDeriv() [2/2]

virtual OdResult OdDbCurve::getSecondDeriv ( double  param,
OdGeVector3d secondDeriv 
) const
virtual

Returns the second derivative of this Curve object at the specified point.

Parameters
param[in] Parameter specifying point.
secondDeriv[out] Receives the first derivative.
Returns
Returns eOk if successful, or an appropriate error code if not.

Reimplemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getSpline()

virtual OdResult OdDbCurve::getSpline ( OdDbSplinePtr spline) const
virtual

Returns OdDbSpline approximation of this Curve object.

Parameters
spline[out] Receives a SmartPointer to the OdDbSpline.
Returns
Returns eOk if successful, or an appropriate error code if not.

◆ getSplitCurves() [1/2]

virtual OdResult OdDbCurve::getSplitCurves ( const OdGeDoubleArray params,
OdRxObjectPtrArray curveSegments 
) const
virtual

Creates a set of curves representing this splitting of this Curve object at the specified (parametric) points.

Parameters
params[in] Array of curve parameters defining the segments.
curveSegments[out] Receives an array of SmartPointers to the curves segments.
Returns
Returns eOk if successful, or an appropriate error code if not.
Remarks
Pointers to all new curves are appended to the curveSegments array.

Reimplemented in OdDbSpline.

◆ getSplitCurves() [2/2]

virtual OdResult OdDbCurve::getSplitCurves ( const OdGePoint3dArray points,
OdRxObjectPtrArray curveSegments 
) const
virtual

Creates a set of curves representing this splitting of this Curve object at the specified (parametric) points.

Parameters
points[in] Array of points defining the segments.
curveSegments[out] Receives an array of SmartPointers to the curves segments.
Returns
Returns eOk if successful, or an appropriate error code if not.
Remarks
Pointers to all new curves are appended to the curveSegments array.

◆ getStartParam()

virtual OdResult OdDbCurve::getStartParam ( double &  startParam) const
pure virtual

Returns the parameter corresponding to the start point of this Curve object.

Parameters
startParam[out] Receives the start parameter.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ getStartPoint()

virtual OdResult OdDbCurve::getStartPoint ( OdGePoint3d startPoint) const
pure virtual

Returns the WCS start point of this Curve object.

Parameters
startPoint[out] Receives the start point.
Returns
Returns eOk if successful, or an appropriate error code if not.

Implemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ isClosed()

virtual bool OdDbCurve::isClosed ( ) const
virtual

Returns true if and only if this Curve object is closed.

Reimplemented in OdDbXline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ isPeriodic()

virtual bool OdDbCurve::isPeriodic ( ) const
virtual

Returns true if and only if this Curve object is periodic.

Reimplemented in OdDbXline, OdDbRay, OdDbPolyline, OdDbLine, OdDbLeader, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.

◆ ODDB_DECLARE_MEMBERS()

OdDbCurve::ODDB_DECLARE_MEMBERS ( OdDbCurve  )

◆ reverseCurve()

virtual OdResult OdDbCurve::reverseCurve ( )
virtual

◆ setFromOdGeCurve()

virtual OdResult OdDbCurve::setFromOdGeCurve ( const OdGeCurve3d geCurve,
OdGeVector3d normal = NULL,
const OdGeTol tol = OdGeContext::gTol 
)
virtual

Takes an OdGeCurve3d and sets this OdDbCurve to be geometrically identical to the OdGeCurve3d.

Parameters
geCurve[in] reference to an OdGeCurve3d.
normal[in] Optional normal vector. If this parameter is supplied then it must be a valid vector that is perpendicular to the input geCurve, and this vector will become the normal vector of the output pDbCurve. If this parameter is not supplied, then this function will compute the normal vector itself.
tol[in] Optional tolerance.
Returns
Returns eOk if successful.

Reimplemented in OdDbXline, OdDbSpline, OdDbRay, OdDbPolyline, OdDbLine, OdDbEllipse, OdDbCircle, OdDbArc, OdDb3dPolyline, and OdDb2dPolyline.


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