CFx SDK Documentation
2020SP3
|
#include <GeCurve3d.h>
Protected Member Functions | |
OdGeCurve3d () | |
OdGeCurve3d (const OdGeCurve3d &source) | |
Protected Member Functions inherited from OdGeEntity3d | |
OdGeEntity3d () | |
OdGeEntity3d (const OdGeEntity3d &) | |
void | connectTo (OdGeEntity3dImpl *) |
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.
|
protected |
|
protected |
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.
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. |
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.
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. |
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.
numSample | [in] Number of samples. |
pointArray | [out] Receives an array of sample points. |
pParamArray | [out] Receives an array of parameters at each point. |
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.
startParam | [in] Starting parameter value. |
endParam | [in] Ending parameter value. |
value | [out] Receives the area. |
tol | [in] Geometric tolerance. |
OdGeBoundBlock3d OdGeCurve3d::boundBlock | ( | ) | const |
Returns the oriented bounding box of curve.
Throws:
eNotImplemented
OdGeBoundBlock3d OdGeCurve3d::boundBlock | ( | const OdGeInterval & | range | ) | const |
Returns the oriented bounding box of curve.
range | [in] Sub-interval of this curve to be bounded. |
Throws:
eNotImplemented
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.
curve | [in] Any 3D curve. |
pntOnOtherCrv | [out] Receives the closest point on other curve. |
tol | [in] Geometric tolerance. |
OdGePoint3d OdGeCurve3d::closestPointTo | ( | const OdGePoint3d & | point, |
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
Returns the point on this curve closest to the specified point.
point | [in] Any 3D point. |
tol | [in] Geometric tolerance. |
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.
curve | [in] Any 3D curve. |
tol | [in] Geometric tolerance. |
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.
point | [in] Any 3D point. |
tol | [in] Geometric tolerance. |
OdGePoint3d OdGeCurve3d::evalPoint | ( | double | param | ) | const |
Returns the point on this curve corresponding to the specified parameter value.
param | [in] Parameter to be evaluated. |
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.
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. |
bool OdGeCurve3d::explode | ( | OdGeCurve3dPtrArray & | explodedCurves, |
OdGeIntArray & | newExplodedCurves, | ||
const OdGeInterval * | pInterval = NULL |
||
) | const |
Explodes this curve over the specified interval.
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. |
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.
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. |
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.
point | [in] Any 3D point. |
pntOnCrv | [out] Receives the closest point on this curve. |
tol | [in] Geometric tolerance. |
void OdGeCurve3d::getInterval | ( | OdGeInterval & | interval | ) | const |
Returns the parametric interval of this curve.
interval | [out] Receives the parametric interval of this curve. |
void OdGeCurve3d::getInterval | ( | OdGeInterval & | interval, |
OdGePoint3d & | start, | ||
OdGePoint3d & | end | ||
) | const |
Returns the parametric interval of this curve.
interval | [out] Receives the parametric interval of this curve. |
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.
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. |
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.
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. |
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.
point | [in] Any 3D point. |
pntOnCrv | [out] Receives the normal point. |
tol | [in] Geometric tolerance. |
Throws:
eNotImplemented
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.
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. |
Throws:
eNotImplemented
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.
point | [in] Any 3D point. |
projectDirection | [in] Projection Direction. |
pntOnCrv | [out] Receives the closest point on this curve. |
tol | [in] Geometric tolerance. |
Throws:
eNotImplemented
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.
paramInterval | [in] Pointer to the parametric interval. |
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.
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. |
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.
void OdGeCurve3d::getSamplePoints | ( | int | numSample, |
OdGePoint3dArray & | pointArray | ||
) | const |
Returns sample points along this curve and their parameter values in the specified arrays.
numSample | [in] Number of samples. |
pointArray | [out] Receives an array of sample points. |
void OdGeCurve3d::getSamplePoints | ( | int | numSample, |
OdGePoint3dArray & | pointArray, | ||
OdGeDoubleArray & | paramArray | ||
) | const |
Returns sample points along this curve and their parameter values in the specified arrays.
numSample | [in] Number of samples. |
pointArray | [out] Receives an array of sample points. |
paramArray | [out] Receives an array of parameters at each point. |
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.
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. |
The curves pointed to by piece1 and piece2 are created with the new command, and must be deleted by the caller.
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.
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. |
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.
Throws:
eNotImplemented
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.
endPoint | [out] Receives the end point. |
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.
startPoint | [out] Receives the start point. |
bool OdGeCurve3d::isClosed | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Returns true if and only if this curve is closed within the specified tolerance.
tol | [in] Geometric tolerance. |
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.
curve | [in] Any 3D curve. |
plane | [out] Receives the plane of the curves. |
tol | [in] Geometric tolerance. |
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.
degenerateType | [out] Receives the type of curve to which this curve degenerates. |
tol | [in] Geometric tolerance. |
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.
pConvertedEntity | [out] Receives a pointer to the object to which this curve degenerates. |
tol | [in] Geometric tolerance. |
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.
line | [out] Receives the line coincident with this curve. |
tol | [in] Geometric tolerance. |
bool OdGeCurve3d::isOn | ( | const OdGePoint3d & | point, |
double & | param, | ||
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
bool OdGeCurve3d::isOn | ( | double | param, |
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
bool OdGeCurve3d::isPeriodic | ( | double & | period | ) | const |
Returns true if and only if this curve is periodic for the specified period.
period | [out] Receives the period of this curve. |
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.
plane | [out] Receives the plane of this curve. |
tol | [in] Geometric tolerance. |
double OdGeCurve3d::length | ( | double | fromParam, |
double | toParam, | ||
double | tol = OdGeContext::gTol.equalPoint() |
||
) | const |
Returns the length of this curve over the specified parameter range.
fromParam | [in] Starting parameter value. |
toParam | [in] Ending parameter value. |
tol | [in] Geometric tolerance. |
double OdGeCurve3d::length | ( | double | tol = OdGeContext::gTol.equalPoint() | ) | const |
Returns the length of this curve.
tol | [in] Geometric tolerance. |
OdGeCurve3d& OdGeCurve3d::operator= | ( | const OdGeCurve3d & | curve | ) |
OdGeBoundBlock3d OdGeCurve3d::orthoBoundBlock | ( | ) | const |
Returns the bounding box whose edges are aligned with the coordinate axes.
range | [in] Interval of this curve to be bounded. |
OdGeBoundBlock3d OdGeCurve3d::orthoBoundBlock | ( | const OdGeInterval & | range | ) | const |
OdGeEntity3d* OdGeCurve3d::orthoProject | ( | const OdGePlane & | projectionPlane, |
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
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.
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. |
double OdGeCurve3d::paramOf | ( | const OdGePoint3d & | point, |
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
Returns the parameter value of a point.
point | [in] Point to be evaluated. |
tol | [in] Geometric tolerance. |
Throws:
eNotImplemented
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.
curve | [in] Any 3D curve. |
projectDirection | [in] Projection Direction. |
pntOnOtherCrv | [out] Receives the closest point on other curve. |
tol | [in] Geometric tolerance. |
Throws:
eNotImplemented
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.
point | [in] Any 3D point. |
projectDirection | [in] Projection Direction. |
tol | [in] Geometric tolerance. |
Throws:
eNotImplemented
OdGeEntity3d* OdGeCurve3d::project | ( | const OdGePlane & | projectionPlane, |
const OdGeVector3d & | projectDirection, | ||
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
OdGeCurve3d& OdGeCurve3d::reverseParam | ( | ) |
Reverses the parameter direction this curve.
Throws:
eNotImplemented
OdGeCurve3d& OdGeCurve3d::setInterval | ( | ) |
Sets the parametric interval of this curve.
interval | [in] Parametric interval of this curve |
Throws:
eNotImplemented
bool OdGeCurve3d::setInterval | ( | const OdGeInterval & | interval | ) |
OdGeCurve3d::TD_USING | ( | OdGeEntity3d::isOn | ) |