CFx SDK Documentation  2020SP3
Public Member Functions | Protected Member Functions | List of all members
OdGeCurve3d Class Reference

#include <GeCurve3d.h>

Inheritance diagram for OdGeCurve3d:
OdGeEntity3d OdGeCircArc3d OdGeCompositeCurve3d OdGeEllipArc3d OdGeExternalCurve3d OdGeLinearEnt3d OdGeOffsetCurve3d OdGeSplineEnt3d OdGeSurfaceCurve2dTo3d

Public Member Functions

void getInterval (OdGeInterval &interval) const
 
void getInterval (OdGeInterval &interval, OdGePoint3d &start, OdGePoint3d &end) const
 
OdGeCurve3dreverseParam ()
 
OdGeCurve3dsetInterval ()
 
bool setInterval (const OdGeInterval &interval)
 
double distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGeCurve3d &curve, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGeCurve3d &curve, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGeCurve3d &curve, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d projClosestPointTo (const OdGePoint3d &point, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d projClosestPointTo (const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getProjClosestPointTo (const OdGePoint3d &point, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getProjClosestPointTo (const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getNormalPoint (const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeBoundBlock3d boundBlock () const
 
OdGeBoundBlock3d boundBlock (const OdGeInterval &range) const
 
OdGeBoundBlock3d orthoBoundBlock () const
 
OdGeBoundBlock3d orthoBoundBlock (const OdGeInterval &range) const
 
OdGeEntity3dproject (const OdGePlane &projectionPlane, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dorthoProject (const OdGePlane &projectionPlane, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, double &param, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isOn (double param, const OdGeTol &tol=OdGeContext::gTol) const
 
double paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
void getTrimmedOffset (double distance, const OdGeVector3d &planeNormal, OdGeCurve3dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosed (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPlanar (OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isLinear (OdGeLine3d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isCoplanarWith (const OdGeCurve3d &curve, OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPeriodic (double &period) const
 
double length (double fromParam, double toParam, double tol=OdGeContext::gTol.equalPoint()) const
 
double length (double tol=OdGeContext::gTol.equalPoint()) const
 
double paramAtLength (double datumParam, double length, bool posParamDir=true, double tol=OdGeContext::gTol.equalPoint()) const
 
bool area (double startParam, double endParam, double &value, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDegenerate (OdGe::EntityId &degenerateType, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDegenerate (OdGeEntity3d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const
 
void getSplitCurves (double param, OdGeCurve3d *&piece1, OdGeCurve3d *&piece2) const
 
bool explode (OdGeCurve3dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurves, const OdGeInterval *pInterval=NULL) const
 
void getLocalClosestPoints (const OdGePoint3d &point, OdGePointOnCurve3d &approxPntOnThisCrv, const OdGeInterval *pInterval1=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
void getLocalClosestPoints (const OdGeCurve3d &curve, OdGePointOnCurve3d &approxPntOnThisCrv, OdGePointOnCurve3d &approxPntOnOtherCrv, const OdGeInterval *pInterval1=NULL, const OdGeInterval *pInterval2=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
bool hasStartPoint (OdGePoint3d &startPoint) const
 
bool hasEndPoint (OdGePoint3d &endPoint) const
 
OdGePoint3d evalPoint (double param) const
 
OdGePoint3d evalPoint (double param, int numDeriv, OdGeVector3dArray &derivatives) const
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray &paramArray, bool forceResampling=false) const
 
void getSamplePoints (int numSample, OdGePoint3dArray &pointArray) const
 
void getSamplePoints (int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray &paramArray) const
 
OdGeCurve3doperator= (const OdGeCurve3d &curve)
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *paramArray=NULL) const
 
void getSamplePoints (const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
- Public Member Functions inherited from OdGeEntity3d
 ODRX_HEAP_OPERATORS ()
 
 ~OdGeEntity3d ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity3dcopy () const
 
OdGeEntity3doperator= (const OdGeEntity3d &entity)
 
bool operator== (const OdGeEntity3d &entity) const
 
bool operator!= (const OdGeEntity3d &entity) const
 
bool isEqualTo (const OdGeEntity3d &object, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dtransformBy (const OdGeMatrix3d &xfm)
 
OdGeEntity3dtranslateBy (const OdGeVector3d &translateVec)
 
OdGeEntity3drotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
OdGeEntity3dmirror (const OdGePlane &plane)
 
OdGeEntity3dscaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
bool isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 

Protected Member Functions

 OdGeCurve3d ()
 
 OdGeCurve3d (const OdGeCurve3d &source)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class is the base class for all OdGe 3D curves.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

Definition at line 55 of file GeCurve3d.h.

Constructor & Destructor Documentation

◆ OdGeCurve3d() [1/2]

OdGeCurve3d::OdGeCurve3d ( )
protected

◆ OdGeCurve3d() [2/2]

OdGeCurve3d::OdGeCurve3d ( const OdGeCurve3d source)
protected

Member Function Documentation

◆ appendSamplePoints() [1/3]

void OdGeCurve3d::appendSamplePoints ( const OdGeInterval paramInterval,
double  approxEps,
OdGePoint3dArray pointArray,
OdGeDoubleArray pParamArray = NULL 
) const

Appends sample points along this curve and their parameter values to the specified arrays.

Parameters
paramInterval[in] Pointer to the parametric interval.
approxEps[in] Approximate spacing along a curve.
pointArray[out] Receives an array of sample points.
pParamArray[out] Receives an array of parameters at each point.
Remarks
If paramInterval is null, the current curve interval will be used.

◆ appendSamplePoints() [2/3]

void OdGeCurve3d::appendSamplePoints ( double  fromParam,
double  toParam,
double  approxEps,
OdGePoint3dArray pointArray,
OdGeDoubleArray pParamArray = NULL 
) const

Appends sample points along this curve and their parameter values to the specified arrays.

Parameters
fromParam[in] Starting parameter value.
toParam[in] Ending parameter value.
approxEps[in] Approximate spacing along a curve.
pointArray[out] Receives an array of sample points.
pParamArray[out] Receives an array of parameters at each point.
Remarks
The signature appendSamplePoints(double, double, double, OdGePoint3dArray&, OdGeDoubleArray*) is currently not implemented.

◆ appendSamplePoints() [3/3]

void OdGeCurve3d::appendSamplePoints ( int  numSample,
OdGePoint3dArray pointArray,
OdGeDoubleArray pParamArray = NULL 
) const

Appends sample points along this curve and their parameter values to the specified arrays.

Parameters
numSample[in] Number of samples.
pointArray[out] Receives an array of sample points.
pParamArray[out] Receives an array of parameters at each point.

◆ area()

bool OdGeCurve3d::area ( double  startParam,
double  endParam,
double &  value,
const OdGeTol tol = OdGeContext::gTol 
) const

Determines the area of this curve between the specified parameters. Returns true (and a value) if and only if this curve is planar.

Parameters
startParam[in] Starting parameter value.
endParam[in] Ending parameter value.
value[out] Receives the area.
tol[in] Geometric tolerance.

◆ boundBlock() [1/2]

OdGeBoundBlock3d OdGeCurve3d::boundBlock ( ) const

Returns the oriented bounding box of curve.

Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ boundBlock() [2/2]

OdGeBoundBlock3d OdGeCurve3d::boundBlock ( const OdGeInterval range) const

Returns the oriented bounding box of curve.

Parameters
range[in] Sub-interval of this curve to be bounded.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ closestPointTo() [1/2]

OdGePoint3d OdGeCurve3d::closestPointTo ( const OdGeCurve3d curve,
OdGePoint3d pntOnOtherCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified curve, and the point on the other curve closest to this curve.

Parameters
curve[in] Any 3D curve.
pntOnOtherCrv[out] Receives the closest point on other curve.
tol[in] Geometric tolerance.

◆ closestPointTo() [2/2]

OdGePoint3d OdGeCurve3d::closestPointTo ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified point.

Parameters
point[in] Any 3D point.
tol[in] Geometric tolerance.

◆ distanceTo() [1/2]

double OdGeCurve3d::distanceTo ( const OdGeCurve3d curve,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the distance to the point on this curve closest to the specified curve.

Parameters
curve[in] Any 3D curve.
tol[in] Geometric tolerance.

◆ distanceTo() [2/2]

double OdGeCurve3d::distanceTo ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the distance to the point on this curve closest to the specified point.

Parameters
point[in] Any 3D point.
tol[in] Geometric tolerance.

◆ evalPoint() [1/2]

OdGePoint3d OdGeCurve3d::evalPoint ( double  param) const

Returns the point on this curve corresponding to the specified parameter value.

Parameters
param[in] Parameter to be evaluated.

◆ evalPoint() [2/2]

OdGePoint3d OdGeCurve3d::evalPoint ( double  param,
int  numDeriv,
OdGeVector3dArray derivatives 
) const

Returns the point on this curve corresponding to the specified parameter value, and the derivatives at that point.

Parameters
param[in] Parameter to be evaluated.
numDeriv[in] Number of derivatives to be computed.
derivatives[out] Receives an array of derivatives at the point corresponding to param.

◆ explode()

bool OdGeCurve3d::explode ( OdGeCurve3dPtrArray explodedCurves,
OdGeIntArray newExplodedCurves,
const OdGeInterval pInterval = NULL 
) const

Explodes this curve over the specified interval.

Parameters
explodedCurves[out] Receives an array of pointers to the subcurves from the explosion.
newExplodedCurves[out] Receives an array of flags which, if true, correspond to those explodedCurves the caller must delete.
pInterval[in] Pointer to the interval to be exploded. Defaults to entire curve.
Remarks
The original curve is not changed.

◆ getClosestPointTo() [1/2]

void OdGeCurve3d::getClosestPointTo ( const OdGeCurve3d curve,
OdGePointOnCurve3d pntOnThisCrv,
OdGePointOnCurve3d pntOnOtherCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified curve, and the point on the other curve closest to this curve.

Parameters
curve[in] Any 3D curve.
pntOnThisCrv[out] Receives the closest point on this curve.
pntOnOtherCrv[out] Receives the closest point on other curve.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getClosestPointTo() [2/2]

void OdGeCurve3d::getClosestPointTo ( const OdGePoint3d point,
OdGePointOnCurve3d pntOnCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified point.

Parameters
point[in] Any 3D point.
pntOnCrv[out] Receives the closest point on this curve.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getInterval() [1/2]

void OdGeCurve3d::getInterval ( OdGeInterval interval) const

Returns the parametric interval of this curve.

Parameters
interval[out] Receives the parametric interval of this curve.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getInterval() [2/2]

void OdGeCurve3d::getInterval ( OdGeInterval interval,
OdGePoint3d start,
OdGePoint3d end 
) const

Returns the parametric interval of this curve.

Parameters
interval[out] Receives the parametric interval of this curve.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

◆ getLocalClosestPoints() [1/2]

void OdGeCurve3d::getLocalClosestPoints ( const OdGeCurve3d curve,
OdGePointOnCurve3d approxPntOnThisCrv,
OdGePointOnCurve3d approxPntOnOtherCrv,
const OdGeInterval pInterval1 = NULL,
const OdGeInterval pInterval2 = NULL,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve locally closest to the specified curve, and the point on the other curve locally closest to this curve.

Parameters
curve[in] Any 3D curve.
approxPntOnThisCrv[in/out] Approximate point on this curve.
approxPntOnOtherCrv[in/out] Approximate point on other curve.
pInterval1[in] Pointer to the interval in which the point on this curve must lie.
pInterval2[in] Pointer to the interval in which the point on the other curve must lie.
tol[in] Geometric tolerance.

◆ getLocalClosestPoints() [2/2]

void OdGeCurve3d::getLocalClosestPoints ( const OdGePoint3d point,
OdGePointOnCurve3d approxPntOnThisCrv,
const OdGeInterval pInterval1 = NULL,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve locally closest to the specified point.

Parameters
point[in] Any 3D point.
approxPntOnThisCrv[in/out] Approximate point on this curve.
pInterval1[in] Pointer to the interval in which the point on this curve must lie.
tol[in] Geometric tolerance.

◆ getNormalPoint()

bool OdGeCurve3d::getNormalPoint ( const OdGePoint3d point,
OdGePointOnCurve3d pntOnCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true, and the point on this curve whose normal vector passes through the specified point, if and only if a normal point was found.

Parameters
point[in] Any 3D point.
pntOnCrv[out] Receives the normal point.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ getProjClosestPointTo() [1/2]

void OdGeCurve3d::getProjClosestPointTo ( const OdGeCurve3d curve,
const OdGeVector3d projectDirection,
OdGePointOnCurve3d pntOnThisCrv,
OdGePointOnCurve3d pntOnOtherCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified curve, and the point on the other curve closest to this curve, when this curve is projected in the specified direction.

Parameters
curve[in] Any 3D curve.
projectDirection[in] Projection Direction.
pntOnThisCrv[out] Receives the closest point on this curve.
pntOnOtherCrv[out] Receives the closest point on other curve.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ getProjClosestPointTo() [2/2]

void OdGeCurve3d::getProjClosestPointTo ( const OdGePoint3d point,
const OdGeVector3d projectDirection,
OdGePointOnCurve3d pntOnCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified point when this curve is projected in the specified direction.

Parameters
point[in] Any 3D point.
projectDirection[in] Projection Direction.
pntOnCrv[out] Receives the closest point on this curve.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ getSamplePoints() [1/5]

void OdGeCurve3d::getSamplePoints ( const OdGeInterval paramInterval,
double  approxEps,
OdGePoint3dArray pointArray,
OdGeDoubleArray pParamArray = NULL 
) const

Returns sample points along this curve and their parameter values in the specified arrays. Not implemented for third-party use only.

Parameters
paramInterval[in] Pointer to the parametric interval.
Remarks
If paramInterval is null, the current curve interval will be used.

◆ getSamplePoints() [2/5]

void OdGeCurve3d::getSamplePoints ( double  fromParam,
double  toParam,
double  approxEps,
OdGePoint3dArray pointArray,
OdGeDoubleArray paramArray,
bool  forceResampling = false 
) const

Returns sample points along this curve and their parameter values in the specified arrays.

Parameters
fromParam[in] Starting parameter value.
toParam[in] Ending parameter value.
approxEps[in] Approximate spacing along a curve.
pointArray[out] Receives an array of sample points.
paramArray[out] Receives an array of parameters at each point.
forceResampling[in] sample points are forced to be regenerated.

◆ getSamplePoints() [3/5]

void OdGeCurve3d::getSamplePoints ( double  fromParam,
double  toParam,
double  approxEps,
OdGePoint3dArray pointArray,
OdGeDoubleArray paramArray = NULL 
) const

Returns sample points along this curve and their parameter values in the specified arrays. Not implemented for third-party use only.

◆ getSamplePoints() [4/5]

void OdGeCurve3d::getSamplePoints ( int  numSample,
OdGePoint3dArray pointArray 
) const

Returns sample points along this curve and their parameter values in the specified arrays.

Parameters
numSample[in] Number of samples.
pointArray[out] Receives an array of sample points.

◆ getSamplePoints() [5/5]

void OdGeCurve3d::getSamplePoints ( int  numSample,
OdGePoint3dArray pointArray,
OdGeDoubleArray paramArray 
) const

Returns sample points along this curve and their parameter values in the specified arrays.

Parameters
numSample[in] Number of samples.
pointArray[out] Receives an array of sample points.
paramArray[out] Receives an array of parameters at each point.

◆ getSplitCurves()

void OdGeCurve3d::getSplitCurves ( double  param,
OdGeCurve3d *&  piece1,
OdGeCurve3d *&  piece2 
) const

Returns pointers to the two curves that result from splitting this curve at the point corresponding to param.

Parameters
param[in] The parameter value corresponding to the split point.
piece1[out] Receives a pointer to the first curve.
piece2[out] Receives a pointer to the second curve.
Remarks
If param corresponds to a point not on this curve, or to the start point or end point of this curve, piece1 and piece2 are set to NULL.

The curves pointed to by piece1 and piece2 are created with the new command, and must be deleted by the caller.

◆ getTrimmedOffset()

void OdGeCurve3d::getTrimmedOffset ( double  distance,
const OdGeVector3d planeNormal,
OdGeCurve3dPtrArray offsetCurveList,
OdGe::OffsetCrvExtType  extensionType = OdGe::kFillet,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns one or more trimmed offset curves.

Parameters
distance[in] Offset distance.
planeNormal[in] A normal to the plane of this curve.
offsetCurveList[out] Receives an array of trimmed offset curves.
extensionType[in] How curves will be extended at discontinuities of type C1.
tol[in] Geometric tolerance.
Remarks
The offsets are trimmed to eliminate self-intersecting loops.

The curve is assumed to be planar, and planeNomal is assumed to be normal to the curve plane.

the direction of positive offset at any point on this curve is the cross product of planeNormal and the tangent to the curve at that point.

The new operator is used to create the curves returned by offsetCurveList. It is up to the caller to delete these curves.

Remarks
Currently not implemented.

Throws:


eNotImplemented

◆ hasEndPoint()

bool OdGeCurve3d::hasEndPoint ( OdGePoint3d endPoint) const

Returns true, and the end point, if and only if the parametric interval of this curve has an upper bound.

Parameters
endPoint[out] Receives the end point.

◆ hasStartPoint()

bool OdGeCurve3d::hasStartPoint ( OdGePoint3d startPoint) const

Returns true, and the start point, if and only if the parametric interval of this curve has a lower bound.

Parameters
startPoint[out] Receives the start point.

◆ isClosed()

bool OdGeCurve3d::isClosed ( const OdGeTol tol = OdGeContext::gTol) const

Returns true if and only if this curve is closed within the specified tolerance.

Parameters
tol[in] Geometric tolerance.

◆ isCoplanarWith()

bool OdGeCurve3d::isCoplanarWith ( const OdGeCurve3d curve,
OdGePlane plane,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns True if the specified curve entity is coplanar with this curve and returns the common plane.

Parameters
curve[in] Any 3D curve.
plane[out] Receives the plane of the curves.
tol[in] Geometric tolerance.

◆ isDegenerate() [1/2]

bool OdGeCurve3d::isDegenerate ( OdGe::EntityId degenerateType,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if and only if this curve degenerates, and returns the type of entity to which this curve degenerates.

Parameters
degenerateType[out] Receives the type of curve to which this curve degenerates.
tol[in] Geometric tolerance.
Remarks
If isDegenerate returns true, the returned object was created with the new operator, and it is the responsibility of the caller to delete it.

◆ isDegenerate() [2/2]

bool OdGeCurve3d::isDegenerate ( OdGeEntity3d *&  pConvertedEntity,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if and only if this curve degenerates, and returns the entity to which this curve degenerates.

Parameters
pConvertedEntity[out] Receives a pointer to the object to which this curve degenerates.
tol[in] Geometric tolerance.
Remarks
If isDegenerate returns true, the returned object was created with the new operator, and it is the responsibility of the caller to delete it.

◆ isLinear()

bool OdGeCurve3d::isLinear ( OdGeLine3d line,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true, and a linear entity coincident with this curve, if and only if this curve is linear.

Parameters
line[out] Receives the line coincident with this curve.
tol[in] Geometric tolerance.
Remarks
An infinite line is returned, even if this curve is bounded.
As implemented, this function does nothing but return false. It will be fully implemented in a future release.

◆ isOn() [1/2]

bool OdGeCurve3d::isOn ( const OdGePoint3d point,
double &  param,
const OdGeTol tol = OdGeContext::gTol 
) const

◆ isOn() [2/2]

bool OdGeCurve3d::isOn ( double  param,
const OdGeTol tol = OdGeContext::gTol 
) const

◆ isPeriodic()

bool OdGeCurve3d::isPeriodic ( double &  period) const

Returns true if and only if this curve is periodic for the specified period.

Parameters
period[out] Receives the period of this curve.

◆ isPlanar()

bool OdGeCurve3d::isPlanar ( OdGePlane plane,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if and only if this curve is planar, and returns the plane of this curve.

Parameters
plane[out] Receives the plane of this curve.
tol[in] Geometric tolerance.
Remarks
Lines are considered planar the returned plane is an arbitrary plane containing the line.

◆ length() [1/2]

double OdGeCurve3d::length ( double  fromParam,
double  toParam,
double  tol = OdGeContext::gTol.equalPoint() 
) const

Returns the length of this curve over the specified parameter range.

Parameters
fromParam[in] Starting parameter value.
toParam[in] Ending parameter value.
tol[in] Geometric tolerance.

◆ length() [2/2]

double OdGeCurve3d::length ( double  tol = OdGeContext::gTol.equalPoint()) const

Returns the length of this curve.

Parameters
tol[in] Geometric tolerance.

◆ operator=()

OdGeCurve3d& OdGeCurve3d::operator= ( const OdGeCurve3d curve)

◆ orthoBoundBlock() [1/2]

OdGeBoundBlock3d OdGeCurve3d::orthoBoundBlock ( ) const

Returns the bounding box whose edges are aligned with the coordinate axes.

Parameters
range[in] Interval of this curve to be bounded.

◆ orthoBoundBlock() [2/2]

OdGeBoundBlock3d OdGeCurve3d::orthoBoundBlock ( const OdGeInterval range) const

◆ orthoProject()

OdGeEntity3d* OdGeCurve3d::orthoProject ( const OdGePlane projectionPlane,
const OdGeTol tol = OdGeContext::gTol 
) const

◆ paramAtLength()

double OdGeCurve3d::paramAtLength ( double  datumParam,
double  length,
bool  posParamDir = true,
double  tol = OdGeContext::gTol.equalPoint() 
) const

Returns the parameter of the point a specified distance from the starting point corresponding to datumParam.

Parameters
datumParam[in] Parameter corresponding to the start point.
length[in] Distance along curve from the start point.
posParamDir[in] True if and only if returned parameter is to be greater than dataParam.
tol[in] Geometric tolerance.

◆ paramOf()

double OdGeCurve3d::paramOf ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the parameter value of a point.

Parameters
point[in] Point to be evaluated.
tol[in] Geometric tolerance.
Remarks
The returned parameters specify a point within tol of point. If point is not on this curve, the results are unpredictable. If you are not sure the point is on this curve, use isOn () instead of this function.
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ projClosestPointTo() [1/2]

OdGePoint3d OdGeCurve3d::projClosestPointTo ( const OdGeCurve3d curve,
const OdGeVector3d projectDirection,
OdGePoint3d pntOnOtherCrv,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified curve, and the point on the other curve closest to this curve, when this curve is projected in the specified direction.

Parameters
curve[in] Any 3D curve.
projectDirection[in] Projection Direction.
pntOnOtherCrv[out] Receives the closest point on other curve.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ projClosestPointTo() [2/2]

OdGePoint3d OdGeCurve3d::projClosestPointTo ( const OdGePoint3d point,
const OdGeVector3d projectDirection,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on this curve closest to the specified point when this curve is projected in the specified direction.

Parameters
point[in] Any 3D point.
projectDirection[in] Projection Direction.
tol[in] Geometric tolerance.
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ project()

OdGeEntity3d* OdGeCurve3d::project ( const OdGePlane projectionPlane,
const OdGeVector3d projectDirection,
const OdGeTol tol = OdGeContext::gTol 
) const

◆ reverseParam()

OdGeCurve3d& OdGeCurve3d::reverseParam ( )

Reverses the parameter direction this curve.

Remarks
The point set of this curve is unchanged.
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ setInterval() [1/2]

OdGeCurve3d& OdGeCurve3d::setInterval ( )

Sets the parametric interval of this curve.

Parameters
interval[in] Parametric interval of this curve
Remarks
By default this function throws exception "not Implemented". Should be implemented in derived classes.

Throws:


eNotImplemented

◆ setInterval() [2/2]

bool OdGeCurve3d::setInterval ( const OdGeInterval interval)

◆ TD_USING()

OdGeCurve3d::TD_USING ( OdGeEntity3d::isOn  )

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