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

#include <DbSpline.h>

Inheritance diagram for OdDbSpline:
OdDbCurve OdDbEntity OdDbObject OdGiDrawable OdRxObject OdDbHelix

Public Types

enum  SplineType { kFitPoints = 0 , kControlPoints = 1 }
 
- Public Types inherited from OdDbEntity
enum  VisualStyleType { kFullVisualStyle , kFaceVisualStyle , kEdgeVisualStyle }
 
- Public Types inherited from OdGiDrawable
enum  SetAttributesFlags {
  kDrawableNone = 0 , kDrawableIsAnEntity = 1 , kDrawableUsesNesting = 2 , kDrawableIsCompoundObject = 4 ,
  kDrawableViewIndependentViewportDraw = 8 , kDrawableIsInvisible = 16 , kDrawableHasAttributes = 32 , kDrawableRegenTypeDependantGeometry = 64 ,
  kDrawableIsDimension = (kDrawableIsAnEntity + kDrawableIsCompoundObject + 128) , kDrawableRegenDraw = 256 , kDrawableStandardDisplaySingleLOD = 512 , kDrawableShadedDisplaySingleLOD = 1024 ,
  kDrawableViewDependentViewportDraw = 2048 , kDrawableBlockDependentViewportDraw = 4096 , kDrawableIsExternalReference = 8192 , kDrawableNotPlottable = 16384 ,
  kDrawableNotAllowLCS = 32768 , kDrawableMergeControlOff = 65536 , kLastFlag = kDrawableMergeControlOff
}
 
enum  DrawableType {
  kGeometry = 0 , kDistantLight = 1 , kPointLight = 2 , kSpotLight = 3 ,
  kAmbientLight , kSolidBackground , kGradientBackground , kImageBackground ,
  kGroundPlaneBackground , kViewport , kWebLight , kSkyBackground ,
  kImageBasedLightingBackground
}
 

Public Member Functions

 DWGMAP_DECLARE_MEMBERS (OdDbSpline)
 
 OdDbSpline ()
 
bool isRational () const
 
int degree () const
 
void elevateDegree (int newDegree)
 
int numControlPoints () const
 
void getControlPointAt (int controlPointIndex, OdGePoint3d &point) const
 
void setControlPointAt (int controlPointIndex, const OdGePoint3d &point)
 
int numFitPoints () const
 
OdResult getFitPointAt (int fitPointIndex, OdGePoint3d &point) const
 
void setFitPointAt (int fitPointIndex, const OdGePoint3d &point)
 
void insertFitPointAt (int fitPointIndex, const OdGePoint3d &point)
 
void removeFitPointAt (int fitPointIndex)
 
double fitTolerance () const
 
void setFitTol (double fitTolerance)
 
OdResult getFitTangents (OdGeVector3d &startTangent, OdGeVector3d &endTangent) const
 
void setFitTangents (const OdGeVector3d &startTangent, const OdGeVector3d &endTangent)
 
bool hasFitData () const
 
OdResult getFitData (OdGePoint3dArray &fitPoints, int &degree, double &fitTolerance, bool &tangentsExist, OdGeVector3d &startTangent, OdGeVector3d &endTangent) const
 
OdResult getFitData (OdGePoint3dArray &fitPoints, int &degree, double &fitTolerance, bool &tangentsExist, OdGeVector3d &startTangent, OdGeVector3d &endTangent, OdGe::OdGeKnotParameterization &knotParam) const
 
void setFitData (const OdGePoint3dArray &fitPoints, int degree, double fitTolerance, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent)
 
void setFitData (const OdGePoint3dArray &fitPoints, int degree, double fitTolerance, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, OdGe::OdGeKnotParameterization knotParam)
 
void purgeFitData ()
 
void getNurbsData (int &degree, bool &rational, bool &closed, bool &periodic, OdGePoint3dArray &controlPoints, OdGeDoubleArray &knots, OdGeDoubleArray &weights, double &controlPtTol, double &knotTol) const
 
void getNurbsData (int &degree, bool &rational, bool &closed, bool &periodic, OdGePoint3dArray &controlPoints, OdGeKnotVector &knots, OdGeDoubleArray &weights, double &controlPtTol) const
 
void setNurbsData (int degree, bool rational, bool closed, bool periodic, const OdGePoint3dArray &controlPoints, const OdGeDoubleArray &knots, const OdGeDoubleArray &weights, double controlPtTol, double knotTol)
 
void setNurbsData (int degree, bool rational, bool closed, bool periodic, const OdGePoint3dArray &controlPoints, const OdGeKnotVector &knots, const OdGeDoubleArray &weights, double controlPtTol)
 
double weightAt (int weightIndex) const
 
void setWeightAt (int weightIndex, double weight)
 
void insertKnot (double param)
 
virtual OdResult reverseCurve ()
 
virtual OdResult subGetClassID (void *pClsid) 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 subGetGeomExtents (OdGeExtents3d &extents) const
 
virtual OdResult subTransformBy (const OdGeMatrix3d &xfm)
 
virtual bool isPlanar () const
 
virtual OdResult getPlane (OdGePlane &plane, OdDb::Planarity &planarity) const
 
virtual OdResult getPointAtParam (double param, OdGePoint3d &pointOnCurve) const
 
virtual OdResult getParamAtPoint (const OdGePoint3d &pointOnCurve, double &param) const
 
virtual OdResult getStartParam (double &startParam) const
 
virtual OdResult getEndParam (double &endParam) const
 
virtual OdResult getStartPoint (OdGePoint3d &startPoint) const
 
virtual OdResult getEndPoint (OdGePoint3d &endPoint) const
 
virtual OdResult getDistAtParam (double param, double &dist) const
 
virtual OdResult getParamAtDist (double dist, double &param) const
 
virtual OdResult getFirstDeriv (double param, OdGeVector3d &firstDeriv) const
 
virtual OdResult getSecondDeriv (double param, OdGeVector3d &secondDeriv) const
 
virtual OdResult getArea (double &area) const
 
 TD_USING (OdDbCurve::getFirstDeriv)
 
 TD_USING (OdDbCurve::getSecondDeriv)
 
 TD_USING (OdDbCurve::getSplitCurves)
 
virtual OdResult getSplitCurves (const OdGeDoubleArray &params, OdRxObjectPtrArray &entitySet) const ODRX_OVERRIDE
 
OdDbObjectPtr decomposeForSave (OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
SplineType type () const
 
OdResult setType (SplineType type)
 
bool cvFrame () const
 
void setCvFrame (bool bVisible)
 
OdResult insertControlPointAt (double knotParam, const OdGePoint3d &ctrlPt, double weight=1.0)
 
OdResult removeControlPointAt (int index)
 
bool isNull () const
 
bool modifyPositionAndTangent (double param, const OdGePoint3d &point, const OdGeVector3d *deriv)
 
virtual OdResult getOdGeCurve (OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const ODRX_OVERRIDE
 
virtual OdResult setFromOdGeCurve (const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol) ODRX_OVERRIDE
 
OdResult toPolyline (OdDbCurve *&pCurve, int precision=10, int *maxSuggestedPrecision=NULL, unsigned int numOfVerticesThreshold=kPlineVerticesThrehold) const
 
OdResult toPolyline (OdDbCurve *&pCurve, bool bConvertAsArcs, bool bToLWPolyline, int precision=10, int *maxSuggestedPrecision=NULL, unsigned int numOfVerticesThreshold=kPlineVerticesThrehold) const
 
virtual OdResult subExplode (OdRxObjectPtrArray &entitySet) const ODRX_OVERRIDE
 
- Public Member Functions inherited from OdDbCurve
 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
 
virtual OdResult subOpen (OdDb::OpenMode mode) ODRX_OVERRIDE
 
void recordGraphicsModified (bool graphicsModified=true)
 
virtual void copyFrom (const OdRxObject *pSource)
 
ODRX_SEALED_VIRTUAL void list () const ODRX_SEALED
 
virtual OdResult getGeomExtents (OdGeExtents3d &extents) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL void highlight (bool bDoIt=true, const OdDbFullSubentPath *pSubId=0, bool highlightAll=false) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints, const OdGeMatrix3d &insertionMat) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool isContentSnappable () const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGripPoints (OdGePoint3dArray &gripPoints) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveGripPointsAt (const OdIntArray &indices, const OdGeVector3d &offset) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGripPoints (OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const int bitFlags) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveGripPointsAt (const OdDbVoidPtrArray &grips, const OdGeVector3d &offset, int bitFlags) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getStretchPoints (OdGePoint3dArray &stretchPoints) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveStretchPointsAt (const OdIntArray &indices, const OdGeVector3d &offset) ODRX_SEALED
 
virtual void dragStatus (const OdDb::DragStat status)
 
ODRX_SEALED_VIRTUAL void gripStatus (const OdDb::GripStat status) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool cloneMeForDragging () ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool hideMeForDragging () const ODRX_SEALED
 
virtual void saveAs (OdGiWorldDraw *pWd, OdDb::DwgVersion ver) const
 
ODRX_SEALED_VIRTUAL OdResult getCompoundObjectTransform (OdGeMatrix3d &xM) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult intersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult intersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const ODRX_SEALED
 
OdResult boundingBoxIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker, OdGsMarker otherGsMarker) const
 
OdResult boundingBoxIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker, OdGsMarker otherGsMarker) const
 
ODRX_SEALED_VIRTUAL OdResult getSubentPathsAtGsMarker (OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &xfm, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGsMarkersAtSubentPath (const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getGripPointsAtSubentPath (const OdDbFullSubentPath &path, OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const OdUInt32 bitflags) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult moveGripPointsAtSubentPaths (const OdDbFullSubentPathArray &paths, const OdDbVoidPtrArray &gripAppData, const OdGeVector3d &offset, const OdUInt32 bitflags) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult deleteSubentPaths (const OdDbFullSubentPathArray &paths) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult addSubentPaths (const OdDbFullSubentPathArray &paths) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdDbEntityPtr subentPtr (const OdDbFullSubentPath &path) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult transformSubentPathsBy (const OdDbFullSubentPathArray &paths, const OdGeMatrix3d &xform) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getSubentClassId (const OdDbFullSubentPath &path, void *clsId) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdResult getSubentPathGeomExtents (const OdDbFullSubentPath &path, OdGeExtents3d &extents) ODRX_SEALED
 
ODRX_SEALED_VIRTUAL void subentGripStatus (OdDb::GripStat status, const OdDbFullSubentPath &subentity) ODRX_SEALED
 
virtual OdGeMatrix3d getEcs () const
 
- Public Member Functions inherited from OdDbObject
 ODDB_DECLARE_MEMBERS (OdDbObject)
 
 ~OdDbObject ()
 
void addRef ()
 
void release ()
 
long numRefs () const
 
OdDbObjectId objectId () const
 
OdDbHandle getDbHandle () const
 
OdDbHandle handle () const
 
OdDbObjectId ownerId () const
 
virtual void setOwnerId (OdDbObjectId ownerId)
 
OdDbDatabasedatabase () const
 
void createExtensionDictionary ()
 
OdDbObjectId extensionDictionary () const
 
bool releaseExtensionDictionary ()
 
OdDbXrecordPtr createXrecord (const OdString &xrecordName, OdDb::DuplicateRecordCloning style=OdDb::kDrcIgnore)
 
void upgradeOpen ()
 
void downgradeOpen ()
 
void cancel ()
 
virtual OdResult subOpen (OdDb::OpenMode mode)
 
virtual void subClose ()
 
OdResult erase (bool eraseIt=true)
 
virtual OdResult subErase (bool erasing)
 
void handOverTo (OdDbObject *pNewObject, bool keepXData=true, bool keepExtDict=true)
 
virtual void subHandOverTo (OdDbObject *pNewObject)
 
void swapIdWith (OdDbObjectId otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual void subSwapIdWith (const OdDbObjectId &otherId, bool swapXdata=false, bool swapExtDict=false)
 
virtual void audit (OdDbAuditInfo *pAuditInfo)
 
void dwgIn (OdDbDwgFiler *pFiler)
 
void dwgOut (OdDbDwgFiler *pFiler) const
 
virtual OdResult dxfIn (OdDbDxfFiler *pFiler)
 
virtual void dxfOut (OdDbDxfFiler *pFiler) const
 
virtual OdResult dwgInFields (OdDbDwgFiler *pFiler)
 
virtual void dwgOutFields (OdDbDwgFiler *pFiler) const
 
virtual OdResult dxfInFields (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields (OdDbDxfFiler *pFiler) const
 
virtual OdResult dxfInFields_R12 (OdDbDxfFiler *pFiler)
 
virtual void dxfOutFields_R12 (OdDbDxfFiler *pFiler) const
 
virtual OdDb::DuplicateRecordCloning mergeStyle () const
 
virtual OdResBufPtr xData (const OdString &regappName=OdString::kEmpty) const
 
virtual void setXData (const OdResBuf *pRb)
 
bool isEraseStatusToggled () const
 
bool isErased () const
 
bool isReadEnabled () const
 
bool isWriteEnabled () const
 
bool isNotifyEnabled () const
 
bool isModified () const
 
bool isModifiedXData () const
 
bool isModifiedGraphics () const
 
bool isNewObject () const
 
bool isNotifying () const
 
bool isUndoing () const
 
bool isReallyClosing () const
 
bool isDBRO () const
 
void assertReadEnabled () const
 
void assertWriteEnabled (bool autoUndo=true, bool recordModified=true)
 
void assertNotifyEnabled () const
 
void disableUndoRecording (bool disable)
 
bool isUndoRecordingDisabled () const
 
OdDbDwgFilerundoFiler ()
 
virtual void applyPartialUndo (OdDbDwgFiler *pUndoFiler, OdRxClass *pClassObj)
 
void addReactor (OdDbObjectReactor *pReactor) const
 
void removeReactor (OdDbObjectReactor *pReactor) const
 
virtual void addPersistentReactor (const OdDbObjectId &objId)
 
virtual void removePersistentReactor (const OdDbObjectId &objId)
 
bool hasPersistentReactor (const OdDbObjectId &objId) const
 
OdDbObjectIdArray getPersistentReactors () const
 
OdDbObjectReactorArray getTransientReactors () const
 
virtual void recvPropagateModify (const OdDbObject *pSubObj)
 
virtual void xmitPropagateModify () const
 
ODRX_SEALED_VIRTUAL OdDbObjectPtr deepClone (OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL OdDbObjectPtr wblockClone (OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
 
virtual void appendToOwner (OdDbIdPair &idPair, OdDbObject *pOwnerObject, OdDbIdMapping &idMap)
 
void setOdDbObjectIdsInFlux ()
 
bool isOdDbObjectIdsInFlux () const
 
virtual void copied (const OdDbObject *pObject, const OdDbObject *pNewObject)
 
virtual void erased (const OdDbObject *pObject, bool erasing=true)
 
virtual void goodbye (const OdDbObject *pObject)
 
virtual void openedForModify (const OdDbObject *pObject)
 
virtual void modified (const OdDbObject *pObject)
 
virtual void subObjModified (const OdDbObject *pObject, const OdDbObject *pSubObj)
 
virtual void modifyUndone (const OdDbObject *pObject)
 
virtual void modifiedXData (const OdDbObject *pObject)
 
virtual void unappended (const OdDbObject *pObject)
 
virtual void reappended (const OdDbObject *pObject)
 
bool isAProxy () const
 
virtual void objectClosed (const OdDbObjectId &objectId)
 
virtual void modifiedGraphics (const OdDbObject *pObject)
 
virtual void copyFrom (const OdRxObject *pSource)
 
bool hasSaveVersionOverride () const
 
void setHasSaveVersionOverride (bool hasSaveVersionOverride)
 
virtual OdDb::DwgVersion getObjectSaveVersion (const OdDbFiler *pFiler, OdDb::MaintReleaseVer *pMaintVer=0) const
 
virtual OdDbObjectPtr decomposeForSave (OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
virtual OdDbObjectPtr decomposeForSave (OdDb::SaveType format, OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
 
void convertForSave (OdDb::DwgVersion ver)
 
virtual void composeForLoad (OdDb::SaveType format, OdDb::DwgVersion version, OdDbAuditInfo *pAuditInfo)
 
virtual OdGiDrawabledrawable ()
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *pTraits) const
 
virtual bool subWorldDraw (OdGiWorldDraw *pWd) const
 
virtual void subViewportDraw (OdGiViewportDraw *pVd) const
 
virtual bool isPersistent () const
 
virtual OdDbStub * id () const
 
ODRX_SEALED_VIRTUAL OdResult getClassID (void *pClsid) const ODRX_SEALED
 
void setGsNode (OdGsCache *pNode)
 
OdGsCachegsNode () const
 
void xDataTransformBy (const OdGeMatrix3d &xfm)
 
bool hasFields () const
 
OdDbObjectId getField (const OdString &fieldName) const
 
OdDbObjectPtr getField (const OdString &fieldName, OdDb::OpenMode mode) const
 
virtual OdDbObjectId setField (const OdString &fieldName, OdDbField *pField)
 
virtual OdResult removeField (OdDbObjectId fieldId)
 
virtual OdDbObjectId removeField (const OdString &fieldName)
 
OdDbObjectId getFieldDictionary () const
 
OdDbObjectPtr getFieldDictionary (OdDb::OpenMode mode) const
 
virtual OdRxClasssaveAsClass (OdRxClass *pClass) const
 
- Public Member Functions inherited from OdGiDrawable
 ODRX_DECLARE_MEMBERS (OdGiDrawable)
 
virtual DrawableType drawableType () const
 
ODRX_SEALED_VIRTUAL OdUInt32 setAttributes (OdGiDrawableTraits *pTraits) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL bool worldDraw (OdGiWorldDraw *pWd) const ODRX_SEALED
 
ODRX_SEALED_VIRTUAL void viewportDraw (OdGiViewportDraw *pVd) const ODRX_SEALED
 
virtual bool isPersistent () const =0
 
virtual OdDbStub * id () const =0
 
virtual void setGsNode (OdGsCache *pGsNode)=0
 
virtual OdGsCachegsNode () const =0
 
ODRX_SEALED_VIRTUAL OdUInt32 viewportDrawLogicalFlags (OdGiViewportDraw *pVd) const ODRX_SEALED
 
virtual OdResult getGeomExtents (OdGeExtents3d &extents) const
 
ODRX_SEALED_VIRTUAL OdUInt32 regenSupportFlags () const ODRX_SEALED
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OdDbCurve
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 ()
 
- Protected Member Functions inherited from OdDbEntity
virtual OdDbObjectPtr subWblockClone (OdDbIdMapping &ownerIdMap, OdDbObject *, bool bPrimary) const ODRX_OVERRIDE
 
virtual OdDbObjectPtr subDeepClone (OdDbIdMapping &ownerIdMap, OdDbObject *, bool bPrimary) const ODRX_OVERRIDE
 
virtual OdResult subTransformBy (const OdGeMatrix3d &xfm)
 
virtual OdResult subGetTransformedCopy (const OdGeMatrix3d &xfm, OdDbEntityPtr &pCopy) const
 
virtual OdResult subExplode (OdRxObjectPtrArray &entitySet) const
 
virtual OdResult subGetCompoundObjectTransform (OdGeMatrix3d &xM) const
 
virtual bool subCloneMeForDragging ()
 
virtual bool subHideMeForDragging () const
 
virtual void subGripStatus (const OdDb::GripStat status)
 
virtual OdResult subGetOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints) const
 
virtual OdResult subGetOsnapPoints (OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints, const OdGeMatrix3d &insertionMat) const
 
virtual bool subIsContentSnappable () const
 
virtual OdResult subGetGripPoints (OdGePoint3dArray &gripPoints) const
 
virtual OdResult subMoveGripPointsAt (const OdIntArray &indices, const OdGeVector3d &offset)
 
virtual OdResult subGetGripPoints (OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const int bitFlags) const
 
virtual OdResult subMoveGripPointsAt (const OdDbVoidPtrArray &grips, const OdGeVector3d &offset, int bitFlags)
 
virtual OdResult subGetStretchPoints (OdGePoint3dArray &stretchPoints) const
 
virtual OdResult subMoveStretchPointsAt (const OdIntArray &indices, const OdGeVector3d &offset)
 
virtual OdResult subIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
 
virtual OdResult subIntersectWith (const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
 
virtual void subHighlight (bool bDoIt=true, const OdDbFullSubentPath *pSubId=0, bool highlightAll=false) const
 
virtual OdDb::Visibility subVisibility () const
 
virtual OdResult subSetVisibility (OdDb::Visibility visibility, bool doSubents=true)
 
virtual OdResult subGetGeomExtents (OdGeExtents3d &extents) const
 
virtual OdResult subDeleteSubentPaths (const OdDbFullSubentPathArray &paths)
 
virtual OdResult subAddSubentPaths (const OdDbFullSubentPathArray &paths)
 
virtual OdResult subMoveGripPointsAtSubentPaths (const OdDbFullSubentPathArray &paths, const OdDbVoidPtrArray &gripAppData, const OdGeVector3d &offset, const OdUInt32 bitflags)
 
virtual OdResult subGetGripPointsAtSubentPath (const OdDbFullSubentPath &path, OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const OdUInt32 bitflags) const
 
virtual OdResult subGetSubentPathsAtGsMarker (OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &xfm, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const
 
virtual OdResult subGetGsMarkersAtSubentPath (const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
 
virtual OdDbEntityPtr subSubentPtr (const OdDbFullSubentPath &path) const
 
virtual OdResult subTransformSubentPathsBy (const OdDbFullSubentPathArray &paths, const OdGeMatrix3d &xform)
 
virtual OdResult subGetSubentClassId (const OdDbFullSubentPath &path, void *clsId) const
 
virtual OdResult subGetSubentPathGeomExtents (const OdDbFullSubentPath &path, OdGeExtents3d &extents) const
 
virtual void subSubentGripStatus (OdDb::GripStat status, const OdDbFullSubentPath &subentity)
 
- Protected Member Functions inherited from OdDbObject
 OdDbObject ()
 
virtual OdResult subGetClassID (void *pClsid) const
 
virtual OdDbObjectPtr subDeepClone (OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary) const
 
virtual OdDbObjectPtr subWblockClone (OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary) const
 
- Protected Member Functions inherited from OdGiDrawable
 OdGiDrawable ()
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *traits) const =0
 
virtual bool subWorldDraw (OdGiWorldDraw *wd) const =0
 
virtual void subViewportDraw (OdGiViewportDraw *vd) const =0
 
virtual OdUInt32 subViewportDrawLogicalFlags (OdGiViewportDraw *vd) const
 
virtual OdUInt32 subRegenSupportFlags () const
 
- Protected Attributes inherited from OdDbObject
OdDbObjectImplm_pImpl
 

Detailed Description

This class represents Spline entities in an OdDbDatabase instance.

<group OdDb_Classes> 

Definition at line 44 of file DbSpline.h.

Member Enumeration Documentation

◆ SplineType

Defines the spline method (either by fit points or by control points).

Enumerator
kFitPoints 
kControlPoints 

Definition at line 495 of file DbSpline.h.

Constructor & Destructor Documentation

◆ OdDbSpline()

OdDbSpline::OdDbSpline ( )

Member Function Documentation

◆ cvFrame()

bool OdDbSpline::cvFrame ( ) const

Returns true if Control Vertices frame is visible.

◆ decomposeForSave()

OdDbObjectPtr OdDbSpline::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. The Drawings transfers XData from this object to the replacement object if and only if exchangeXData is true.

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

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

Reimplemented from OdDbObject.

◆ degree()

int OdDbSpline::degree ( ) const

Returns the degree of this Spline entity (DXF 71).

Remarks
degree is in the range [1..25].

◆ dwgInFields()

virtual OdResult OdDbSpline::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 OdDbHelix.

◆ DWGMAP_DECLARE_MEMBERS()

OdDbSpline::DWGMAP_DECLARE_MEMBERS ( OdDbSpline  )

◆ dwgOutFields()

virtual void OdDbSpline::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 OdDbHelix.

◆ dxfInFields()

virtual OdResult OdDbSpline::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 OdDbHelix.

◆ dxfOutFields()

virtual void OdDbSpline::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 OdDbHelix.

◆ elevateDegree()

void OdDbSpline::elevateDegree ( int  newDegree)

Increased the degree of this spline to the specified value.

◆ fitTolerance()

double OdDbSpline::fitTolerance ( ) const

Returns the curve fitting tolerance for this Spline entity (DXF 44).

Remarks
This is the maximum drawing unit distance by which the Spline curve can deviate from a fit points.

◆ getArea()

virtual OdResult OdDbSpline::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 from OdDbCurve.

◆ getControlPointAt()

void OdDbSpline::getControlPointAt ( int  controlPointIndex,
OdGePoint3d point 
) const

Returns the specified control point of this Spline entity (DXF 10).

Parameters
controlPointIndex[in] Control point index.
point[out] Receives the control point.

◆ getDistAtParam()

virtual OdResult OdDbSpline::getDistAtParam ( double  param,
double &  dist 
) const
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.

Implements OdDbCurve.

◆ getEndParam()

virtual OdResult OdDbSpline::getEndParam ( double &  endParam) const
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.

Implements OdDbCurve.

◆ getEndPoint()

virtual OdResult OdDbSpline::getEndPoint ( OdGePoint3d endPoint) const
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.

Implements OdDbCurve.

◆ getFirstDeriv()

virtual OdResult OdDbSpline::getFirstDeriv ( double  param,
OdGeVector3d firstDeriv 
) const
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.

Implements OdDbCurve.

◆ getFitData() [1/2]

OdResult OdDbSpline::getFitData ( OdGePoint3dArray fitPoints,
int &  degree,
double &  fitTolerance,
bool &  tangentsExist,
OdGeVector3d startTangent,
OdGeVector3d endTangent 
) const

Returns the fit data for this Spline entity.

Parameters
fitPoints[out] Receives the fit points.
degree[out] Receives the degree.
fitTolerance[out] Receives the fit tolerance.
tangentsExist[out] Receives true if and only if start and end tangents are used.
startTangent[out] Receives the start point tangent.
endTangent[out] Receives the end point tangent.

◆ getFitData() [2/2]

OdResult OdDbSpline::getFitData ( OdGePoint3dArray fitPoints,
int &  degree,
double &  fitTolerance,
bool &  tangentsExist,
OdGeVector3d startTangent,
OdGeVector3d endTangent,
OdGe::OdGeKnotParameterization knotParam 
) const

Returns the fit data for this Spline entity.

Parameters
fitPoints[out] Receives the fit points.
degree[out] Receives the degree.
fitTolerance[out] Receives the fit tolerance.
tangentsExist[out] Receives true if and only if start and end tangents are used.
startTangent[out] Receives the start point tangent.
endTangent[out] Receives the end point tangent.
knotParam[out] Receives the knot parametrization.

◆ getFitPointAt()

OdResult OdDbSpline::getFitPointAt ( int  fitPointIndex,
OdGePoint3d point 
) const

Returns the specified fit point of this Spline entity (DXF 11).

Parameters
fitPointIndex[in] Fit point index.
point[out] Receives the fit point.

◆ getFitTangents()

OdResult OdDbSpline::getFitTangents ( OdGeVector3d startTangent,
OdGeVector3d endTangent 
) const

Returns the start point and end point WCS fit tangents for this Spline entity (DXF 12, 13).

Parameters
startTangent[out] Receives the start point tangent.
endTangent[out] Receives the end point tangent.

◆ getNurbsData() [1/2]

void OdDbSpline::getNurbsData ( int &  degree,
bool &  rational,
bool &  closed,
bool &  periodic,
OdGePoint3dArray controlPoints,
OdGeDoubleArray knots,
OdGeDoubleArray weights,
double &  controlPtTol,
double &  knotTol 
) const

TBC. void updateFitData();

Returns the NURBS data for this Spline entity.

Parameters
degree[out] Receives the degree.
rational[out] Receives true if and only if this Spline entity is rational.
closed[out] Receives true if and only if this Spline entity is closed.
periodic[out] Receives true if and only if this Spline entity is periodic.
controlPoints[out] Receives an array of WCS control points.
knots[out] Receives the knot vector.
weights[out] Receives an array of weights.
controlPtTol[out] Receives the control point tolerance.
knotTol[out] Receives the knot tolerance.

◆ getNurbsData() [2/2]

void OdDbSpline::getNurbsData ( int &  degree,
bool &  rational,
bool &  closed,
bool &  periodic,
OdGePoint3dArray controlPoints,
OdGeKnotVector knots,
OdGeDoubleArray weights,
double &  controlPtTol 
) const

Returns the NURBS data for this Spline entity.

Parameters
degree[out] Receives the degree.
rational[out] Receives true if and only if this Spline entity is rational.
closed[out] Receives true if and only if this Spline entity is closed.
periodic[out] Receives true if and only if this Spline entity is periodic.
controlPoints[out] Receives an array of WCS control points.
knots[out] Receives the knot vector.
weights[out] Receives an array of weights.
controlPtTol[out] Receives the control point tolerance.

◆ getOdGeCurve()

virtual OdResult OdDbSpline::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 from OdDbCurve.

◆ getParamAtDist()

virtual OdResult OdDbSpline::getParamAtDist ( double  dist,
double &  param 
) const
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.

Implements OdDbCurve.

◆ getParamAtPoint()

virtual OdResult OdDbSpline::getParamAtPoint ( const OdGePoint3d pointOnCurve,
double &  param 
) const
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.

Implements OdDbCurve.

◆ getPlane()

virtual OdResult OdDbSpline::getPlane ( OdGePlane plane,
OdDb::Planarity planarity 
) const
virtual

Returns the plane that contains this entity.

Parameters
plane[out] Receives the plane that contains this entity.
planarity[out] Receives the planarity of this entity.
Returns
Returns eOk if successful, or an appropriate error code if not.

planarity and plane return values as follows::

Value Description plane kNonPlanar 0 Non-planar Not set kPlanar 1 Planar Entity plane kLinear 2 Linear Arrbitrary plane containing this entity

Reimplemented from OdDbEntity.

◆ getPointAtParam()

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

OdDbCurve methods

Implements OdDbCurve.

◆ getSecondDeriv()

virtual OdResult OdDbSpline::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 from OdDbCurve.

◆ getSplitCurves()

virtual OdResult OdDbSpline::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 from OdDbCurve.

◆ getStartParam()

virtual OdResult OdDbSpline::getStartParam ( double &  startParam) const
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.

Implements OdDbCurve.

◆ getStartPoint()

virtual OdResult OdDbSpline::getStartPoint ( OdGePoint3d startPoint) const
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.

Implements OdDbCurve.

◆ hasFitData()

bool OdDbSpline::hasFitData ( ) const

Returns true if and only if this Spline entity is constructed using fit points.

◆ insertControlPointAt()

OdResult OdDbSpline::insertControlPointAt ( double  knotParam,
const OdGePoint3d ctrlPt,
double  weight = 1.0 
)

Inserts a control point at the specified knot.

Parameters
knotParam[in] The knot parameter to add the control point at.
ctrlPt[in] Coordinates of the control point to be added.
weight[in] The weight to be assigned to the control point.
Remarks
When called for a non-rational spline, weight is ignored.
  \returns
eOk if successful, or an appropriate error code if not.

◆ insertFitPointAt()

void OdDbSpline::insertFitPointAt ( int  fitPointIndex,
const OdGePoint3d point 
)

Inserts a fit point into this Spline entity after the specified index.

Parameters
fitPointIndex[in] Fit point index.
point[out] Receives the fit point.
Remarks
If fitPointIndex < 0, point is inserted at before the first fit point.

If fitPointIndex >= numFitPoints(), point is appended to the spline.

◆ insertKnot()

void OdDbSpline::insertKnot ( double  param)

Inserts a knot value into this spline.

◆ isNull()

bool OdDbSpline::isNull ( ) const

Returns true if the spline doesn't contain control points.

◆ isPlanar()

virtual bool OdDbSpline::isPlanar ( ) const
virtual

Returns true if and only if this entity is planar.

Reimplemented from OdDbEntity.

◆ isRational()

bool OdDbSpline::isRational ( ) const

Returns true if and only if this Spline entity is rational (DXF 70, bit 0x04).

◆ modifyPositionAndTangent()

bool OdDbSpline::modifyPositionAndTangent ( double  param,
const OdGePoint3d point,
const OdGeVector3d deriv 
)

Modifies the position and tangent of the point with a specified parameter.

Parameters
param[in] Parameter value of the point.
point[in] New position of the point.
deriv[in] New value of the tangent vector at the point.
Returns
Returns true if and only if the point has successfully been adjusted.

◆ numControlPoints()

int OdDbSpline::numControlPoints ( ) const

Returns the number of control points in this Spline entity (DXF 73).

◆ numFitPoints()

int OdDbSpline::numFitPoints ( ) const

Returns the number of fit points in this Spline entity (DXF 74).

◆ purgeFitData()

void OdDbSpline::purgeFitData ( )

Purges the fit data for this Spline entity.

◆ removeControlPointAt()

OdResult OdDbSpline::removeControlPointAt ( int  index)

Deletes a control point at the specified index.

Parameters
index[in] The index of the control point to be deleted.
  \returns
eOk if successful, or an appropriate error code if not.

◆ removeFitPointAt()

void OdDbSpline::removeFitPointAt ( int  fitPointIndex)

Removes the specified fit point from this Spline entity.

Parameters
fitPointIndex[in] Fit point index.

◆ reverseCurve()

virtual OdResult OdDbSpline::reverseCurve ( )
virtual

Reverses this Spline entity.

Remarks
The start point becomes the end point, and vice versa.

Reimplemented from OdDbCurve.

Reimplemented in OdDbHelix.

◆ setControlPointAt()

void OdDbSpline::setControlPointAt ( int  controlPointIndex,
const OdGePoint3d point 
)

Sets the specified control point of this Spline entity (DXF 10).

Parameters
controlPointIndex[in] Control point index.
point[in] Control point.

◆ setCvFrame()

void OdDbSpline::setCvFrame ( bool  bVisible)

Sets visibility of Control Vertices frame for this Spline entity.

Parameters
bVisible[in] Control vertices frame visiblity.

◆ setFitData() [1/2]

void OdDbSpline::setFitData ( const OdGePoint3dArray fitPoints,
int  degree,
double  fitTolerance,
const OdGeVector3d startTangent,
const OdGeVector3d endTangent 
)

Sets the fit data for this Spline entity.

Parameters
fitPoints[in] Fit points.
degree[in] Degree.
fitTolerance[in] Fit tolerance.
startTangent[in] Start point tangent.
endTangent[in] End point tangent.

◆ setFitData() [2/2]

void OdDbSpline::setFitData ( const OdGePoint3dArray fitPoints,
int  degree,
double  fitTolerance,
const OdGeVector3d startTangent,
const OdGeVector3d endTangent,
OdGe::OdGeKnotParameterization  knotParam 
)

Sets the fit data for this Spline entity.

Parameters
fitPoints[in] Fit points.
degree[in] Degree.
fitTolerance[in] Fit tolerance.
startTangent[in] Start point tangent.
endTangent[in] End point tangent.
knotParam[in] Knot parametrization.

◆ setFitPointAt()

void OdDbSpline::setFitPointAt ( int  fitPointIndex,
const OdGePoint3d point 
)

Sets the specfied fit point of this Spline entity (DXF 11).

Parameters
fitPointIndex[in] Fit point index.
point[in] Fit point.

◆ setFitTangents()

void OdDbSpline::setFitTangents ( const OdGeVector3d startTangent,
const OdGeVector3d endTangent 
)

Sets the start point and end point WCS fit tangents for this Spline entity (DXF 12, 13).

Parameters
startTangent[out] Start point tangent.
endTangent[out] End point tangent.

◆ setFitTol()

void OdDbSpline::setFitTol ( double  fitTolerance)

Sets the curve fitting tolerance for this Spline entity (DXF 44).

Remarks
This is the maximum drawing unit distance by which the Spline curve can deviate from a fit points.
Parameters
fitTolerance[in] Geometric tolerance.

◆ setFromOdGeCurve()

virtual OdResult OdDbSpline::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 from OdDbCurve.

◆ setNurbsData() [1/2]

void OdDbSpline::setNurbsData ( int  degree,
bool  rational,
bool  closed,
bool  periodic,
const OdGePoint3dArray controlPoints,
const OdGeDoubleArray knots,
const OdGeDoubleArray weights,
double  controlPtTol,
double  knotTol 
)

Sets the NURBS data for this Spline entity.

Parameters
degree[in] Degree.
rational[in] Controls if this Spline entity is rational.
closed[in] Controls if this Spline entity closed.
periodic[in] Controls if this Spline entity is periodic.
controlPoints[in] Array of WCS control points.
knots[in] Knot vector.
weights[in] Array of weights.
controlPtTol[in] Control point tolerance.
knotTol[in] Knot tolerance.
Remarks
degree is in the range of [1..25] If rational is true, controlPoints.length() must equal weights.length() If periodic is false, then knots.length() must equal controlPoints.length() + degree + 1 If periodic is true, then knots.length() must equal controlPoints.length(), the first and last controlPoints must be equal, and the first and last weights (if provided) must be equal. If two control points are within controlPtTol, they are treated as the same control point. If two knots are within knotTol, they are treated as the same knot.

◆ setNurbsData() [2/2]

void OdDbSpline::setNurbsData ( int  degree,
bool  rational,
bool  closed,
bool  periodic,
const OdGePoint3dArray controlPoints,
const OdGeKnotVector knots,
const OdGeDoubleArray weights,
double  controlPtTol 
)

Sets the NURBS data for this Spline entity.

Parameters
degree[in] Degree.
rational[in] Controls if this Spline entity is rational.
closed[in] Controls if this Spline entity closed.
periodic[in] Controls if this Spline entity is periodic.
controlPoints[in] Array of WCS control points.
knots[in] Knot vector.
weights[in] Array of weights.
controlPtTol[in] Control point tolerance.
Remarks
degree is in the range of [1..25] If rational is true, controlPoints.length() must equal weights.length() If periodic is false, then knots.length() must equal controlPoints.length() + degree + 1 If periodic is true, then knots.length() must equal controlPoints.length(), the first and last controlPoints must be equal, and the first and last weights (if provided) must be equal. If two control points are within controlPtTol, they are treated as the same control point.

◆ setType()

OdResult OdDbSpline::setType ( SplineType  type)

Sets the spline method (either by fit points or by control points).

Parameters
type[in] spline type to be set.
Returns
Returns the result of the operation: eOk if successful, or an appropriate error code if not.
Remarks
Changing type from kControlPoints to kFitPoints recalculates fit points from control points.

◆ setWeightAt()

void OdDbSpline::setWeightAt ( int  weightIndex,
double  weight 
)

Sets the specified weight (DXF 41).

Parameters
weightIndex[in] Weight index.
weight[in] Weight.

◆ subExplode()

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

Explodes this entity into a set of simpler entities.

Parameters
entitySet[in/out] Receives an array of pointers to the new entities.
Returns
Returns eOk if successful, or an appropriate error code if not.
Remarks
Entities resulting from the explosion are appended to the specified array.

The newly created entities are not database residents.

The default implementation of this function returns eNotApplicable. This function can be overridden in custom classes.

Reimplemented from OdDbEntity.

Reimplemented in OdDbHelix.

◆ subGetClassID()

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

Reimplemented from OdDbEntity.

Reimplemented in OdDbHelix.

◆ subGetGeomExtents()

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

Reimplemented from OdDbEntity.

◆ subTransformBy()

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

Reimplemented from OdDbEntity.

Reimplemented in OdDbHelix.

◆ subWorldDraw()

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

Reimplemented from OdDbEntity.

◆ TD_USING() [1/3]

OdDbSpline::TD_USING ( OdDbCurve::getFirstDeriv  )

◆ TD_USING() [2/3]

OdDbSpline::TD_USING ( OdDbCurve::getSecondDeriv  )

◆ TD_USING() [3/3]

OdDbSpline::TD_USING ( OdDbCurve::getSplitCurves  )

◆ toPolyline() [1/2]

OdResult OdDbSpline::toPolyline ( OdDbCurve *&  pCurve,
bool  bConvertAsArcs,
bool  bToLWPolyline,
int  precision = 10,
int *  maxSuggestedPrecision = NULL,
unsigned int  numOfVerticesThreshold = kPlineVerticesThrehold 
) const

Generates a polyline to approximate a spline without using PLINETYPE and PLINECONVERTMODE.

Parameters
pCurve[out] Pointer to newly created polyline entity.
bConvertAsArcs[in] Indicating whether to convert to arcs or lines when spline is planar.
bToLWPolyline[in] Indicating whether to convert to OdDbPolyline or OdDb2dPolyline when spline is planar.
precision[in] Target precision value.
maxSuggestedPrecision[out] (When not NULL) suggested precision value.
numOfVerticesThreshold[in] Vertices threshold value.
Returns
Returns OdResult::eOk if successful; OdResult::eInvalidInput if numOfVerticesThreshold is too small.
Remarks
The resulting curve can be OdDbPolyline, OdDb2dPolyline or OdDb3dPolyline. If at least one of the points of the spline does not lie on the XY plane, then an OdDb3dPolyline will be created from linear segments. If the spline is flat, then if bConvertAsArcs is true, the resulting polyline will be a segment of the arc, otherwise it will be line segments. And, if the spline is flat and bToLWPolyline is true, then the result will be OdDbPolyline, otherwise it will be OdDb2dPolyline.

It is expected that the target precision will be from 0 to 99, but higher values are also acceptable. Negative precision means that maxSuggestedPrecision will be used to create a polyline.

In the case where precision < 0, maxSuggestedPrecision will be used to create a polyline. In the case when the number of points of the generated curve is greater than numOfVerticesThreshold and maxSuggestedPrecision is not NULL, the maxSuggestedPrecision value will be calculated. If the precision value is good, then maxSuggestedPrecision will be -1.

◆ toPolyline() [2/2]

OdResult OdDbSpline::toPolyline ( OdDbCurve *&  pCurve,
int  precision = 10,
int *  maxSuggestedPrecision = NULL,
unsigned int  numOfVerticesThreshold = kPlineVerticesThrehold 
) const

Generates a polyline to approximate a spline.

Parameters
pCurve[out] Pointer to newly created polyline entity.
precision[in] Target precision value.
maxSuggestedPrecision[out] (When not NULL) suggested precision value.
numOfVerticesThreshold[in] Vertices threshold value.
Returns
Returns OdResult::eOk if successful; OdResult::eInvalidInput if numOfVerticesThreshold is too small; OdResult::eNoDatabase if unable to access database or system variable.
Remarks
Depending on the value of the PLINETYPE system variable and the spline itself, the resulting curve can be OdDbPolyline, OdDb2dPolyline or OdDb3dPolyline. OdDb3dPolyline will always have line segments. Otherwise, the resulting polyline has line segments when the PLINECONVERTMODE system variable is 0, and the arc segments, if PLINECONVERTMODE is 1.

It is expected that the target precision will be from 0 to 99, but higher values are also acceptable. Negative precision means that maxSuggestedPrecision will be used to create a polyline.

In the case where precision < 0, maxSuggestedPrecision will be used to create a polyline. In the case when the number of points of the generated curve is greater than numOfVerticesThreshold and maxSuggestedPrecision is not NULL, the maxSuggestedPrecision value will be calculated. If the precision value is good, then maxSuggestedPrecision will be -1.

◆ type()

SplineType OdDbSpline::type ( ) const

Returns the spline method (either by fit points or by control points).

◆ weightAt()

double OdDbSpline::weightAt ( int  weightIndex) const

Returns the specified weight (DXF 41).

Parameters
weightIndex[in] Weight index.

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