CFx SDK Documentation 2024 SP0
|
#include <GeCurveCurveInt3d.h>
Additional Inherited Members | |
Protected Member Functions inherited from OdGeEntity3d | |
OdGeEntity3d () | |
OdGeEntity3d (const OdGeEntity3d &) | |
void | connectTo (OdGeEntity3dImpl *) |
This class represents intersections of 3D curves.
If one of the curve objects is deleted, the intersection must be recalculated.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
Definition at line 53 of file GeCurveCurveInt3d.h.
OdGeCurveCurveInt3d::OdGeCurveCurveInt3d | ( | ) |
Default constructor for the OdGeCurveCurveInt3d class. Constructs an invalid curve-curve intersector with no intersection curves and default tolerance.
OdGeCurveCurveInt3d::OdGeCurveCurveInt3d | ( | const OdGeCurve3d & | curve1, |
const OdGeCurve3d & | curve2, | ||
const OdGeVector3d & | planeNormal = OdGeVector3d::kIdentity , |
||
const OdGeTol & | tol = OdGeContext::gTol |
||
) |
Constructor. Creates an OdGeCurveCurveInt3d object with specified two curves and geometric tolerance.
curve1 | [in] First 3D curve. |
curve2 | [in] Second 3D curve. |
planeNormal | [in] Specifies the normal to the plane for getIntConfigs(). |
tol | [in] Geometric tolerance. |
OdGeCurveCurveInt3d::OdGeCurveCurveInt3d | ( | const OdGeCurve3d & | curve1, |
const OdGeCurve3d & | curve2, | ||
const OdGeInterval & | range1, | ||
const OdGeInterval & | range2, | ||
const OdGeVector3d & | planeNormal = OdGeVector3d::kIdentity , |
||
const OdGeTol & | tol = OdGeContext::gTol |
||
) |
Constructor. Creates an OdGeCurveCurveInt3d object with specified two curves, their ranges and geometric tolerance.
curve1 | [in] First 3D curve. |
curve2 | [in] Second 3D curve. |
range1 | [in] Parametric range of first curve where the intersection is calculated. |
range2 | [in] Parametric range of second curve where the intersection is calculated. |
planeNormal | [in] Specifies the normal to the plane for getIntConfigs(). |
tol | [in] Geometric tolerance. |
OdGeCurveCurveInt3d::OdGeCurveCurveInt3d | ( | const OdGeCurveCurveInt3d & | source | ) |
Copy constructor. Creates an OdGeCurveCurveInt3d object and initializes it with parameters of the specified source object.
source | [in] Object to be copied. |
void OdGeCurveCurveInt3d::changeCurveOrder | ( | ) |
Swaps the first and the second curve.
const OdGeCurve3d * OdGeCurveCurveInt3d::curve1 | ( | ) | const |
Returns the first curve.
const OdGeCurve3d * OdGeCurveCurveInt3d::curve2 | ( | ) | const |
Returns the second curve.
void OdGeCurveCurveInt3d::getIntConfigs | ( | int | intNum, |
OdGe::OdGeXConfig & | config1wrt2, | ||
OdGe::OdGeXConfig & | config2wrt1 | ||
) | const |
Calculates the configuration of the first curve with respect to the second at the intersection point, and vice versa.
intNum | [in] The zero-based index of the intersection point to query. |
config1wrt2 | [out] Receives the configuration of the first curve with respect to the second. |
config2wrt1 | [out] Receives the configuration of the second curve with respect to the first. |
The possible values for config1wrt2 and config2wrt1 are as follows:
@untitled table kNotDefined kUnknown kLeftRight kRightLeft kLeftLeft kRightRight kPointLeft kPointRight kLeftOverlap kOverlapLeft kRightOverlap kOverlapRight kOverlapStart kOverlapEnd, kOverlapOverlap
void OdGeCurveCurveInt3d::getIntParams | ( | int | intNum, |
double & | param1, | ||
double & | param2 | ||
) | const |
Retrieves the curve parameters at the specified intersection point.
intNum | [in] The zero-based index of the intersection point to return. |
param1 | [out] Receives the parameter of the first curve at the intersection point. |
param2 | [out] Receives the parameter of the second curve at the intersection point. |
void OdGeCurveCurveInt3d::getIntRanges | ( | OdGeInterval & | range1, |
OdGeInterval & | range2 | ||
) | const |
Retrieves the ranges of the two curves.
range1 | [out] Receives the range of the first curve where intersections are calculated. |
range2 | [out] Receives the range of the second curve where intersections are calculated. |
void OdGeCurveCurveInt3d::getOverlapRanges | ( | int | overlapNum, |
OdGeInterval & | range1, | ||
OdGeInterval & | range2 | ||
) | const |
Retrieves the ranges for each curve a the specified overlap.
overlapNum | [in] The zero-based index of the overlap range to query. |
range1 | [out] Receives the range of the first curve for the specified overlap. |
range2 | [out] Receives the range of the second curve for the specified overlap. |
void OdGeCurveCurveInt3d::getPointOnCurve1 | ( | int | intNum, |
OdGePointOnCurve3d & | intPnt | ||
) | const |
Retrieves the specified intersection point as an OdGePointOnCurve3d on the first curve.
intNum | [in] The zero-based index of the intersection point to return. |
intPnt | [out] Receives the specified intersection point on the first curve. |
void OdGeCurveCurveInt3d::getPointOnCurve2 | ( | int | intNum, |
OdGePointOnCurve3d & | intPnt | ||
) | const |
Retrieves the specified intersection point as an OdGePointOnCurve3d on the second curve.
intNum | [in] The zero-based index of the intersection point to return. |
intPnt | [out] Receives the specified intersection point on the second curve. |
OdGePoint3d OdGeCurveCurveInt3d::intPoint | ( | int | intNum | ) | const |
Returns an intersection point by its index.
intNum | [in] The zero-based index of the intersection point to return. |
double OdGeCurveCurveInt3d::intPointTol | ( | int | intNum | ) | const |
Returns the tolerance used to compute the specified intersection point.
intNum | [in] The zero-based index of the intersection point to query. |
bool OdGeCurveCurveInt3d::isTangential | ( | int | intNum | ) | const |
Checks if the curves are tangential at the specified intersection point.
intNum | [in] The zero-based index of the intersection point to query. |
bool OdGeCurveCurveInt3d::isTransversal | ( | int | intNum | ) | const |
Checks if the curves are transversal (cross) at the specified intersection point.
intNum | [in] The zero-based index of the intersection point to query. |
int OdGeCurveCurveInt3d::numIntPoints | ( | ) | const |
Returns the number of intersections between the curves within the specified ranges.
OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::operator= | ( | const OdGeCurveCurveInt3d & | crvCrvInt | ) |
Assignment operator for the OdGeCurveCurveInt3d object.
crvCrvInt | [in] OdGeCurveCurveInt3d object to assign. |
OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::orderWrt1 | ( | ) |
Orders the intersection points so they correspond to increasing parameter values of the first curve.
OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::orderWrt2 | ( | ) |
Orders the intersection points so they correspond to increasing parameter values of the second curve.
int OdGeCurveCurveInt3d::overlapCount | ( | ) | const |
Returns the number of intervals of overlap for the two curves.
bool OdGeCurveCurveInt3d::overlapDirection | ( | ) | const |
Checks if the curves are oriented in the same direction where they overlap.
OdGeVector3d OdGeCurveCurveInt3d::planeNormal | ( | ) | const |
Returns the normal to the plane for getIntConfigs().
OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::set | ( | const OdGeCurve3d & | curve1, |
const OdGeCurve3d & | curve2, | ||
const OdGeInterval & | range1, | ||
const OdGeInterval & | range2, | ||
const OdGeVector3d & | planeNormal = OdGeVector3d::kIdentity , |
||
const OdGeTol & | tol = OdGeContext::gTol |
||
) |
Sets the curves, ranges, plane normals, and tolerance for which to determine intersections.
curve1 | [in] First 3D curve. |
curve2 | [in] Second 3D curve. |
planeNormal | [in] Specifies the normal to the plane for getIntConfigs(). |
range1 | [in] Range of first curve. |
range2 | [in] Range of second curve. |
tol | [in] Geometric tolerance. |
OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::set | ( | const OdGeCurve3d & | curve1, |
const OdGeCurve3d & | curve2, | ||
const OdGeVector3d & | planeNormal = OdGeVector3d::kIdentity , |
||
const OdGeTol & | tol = OdGeContext::gTol |
||
) |
Sets the curves, plane normals, and tolerance for which to determine intersections.
curve1 | [in] First 3D curve. |
curve2 | [in] Second 3D curve. |
planeNormal | [in] Specifies the normal to the plane for getIntConfigs(). |
tol | [in] Geometric tolerance. |
OdGeTol OdGeCurveCurveInt3d::tolerance | ( | ) | const |
Returns the tolerance for determining intersections.