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

#include <GeCurveCurveInt3d.h>

Inheritance diagram for OdGeCurveCurveInt3d:
OdGeEntity3d

Public Member Functions

 OdGeCurveCurveInt3d ()
 
 OdGeCurveCurveInt3d (const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, const OdGeVector3d &planeNormal=OdGeVector3d::kIdentity, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeCurveCurveInt3d (const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, const OdGeInterval &range1, const OdGeInterval &range2, const OdGeVector3d &planeNormal=OdGeVector3d::kIdentity, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeCurveCurveInt3d (const OdGeCurveCurveInt3d &source)
 
const OdGeCurve3dcurve1 () const
 
const OdGeCurve3dcurve2 () const
 
void getIntRanges (OdGeInterval &range1, OdGeInterval &range2) const
 
OdGeVector3d planeNormal () const
 
OdGeTol tolerance () const
 
int numIntPoints () const
 
OdGePoint3d intPoint (int intNum) const
 
void getIntParams (int intNum, double &param1, double &param2) const
 
void getPointOnCurve1 (int intNum, OdGePointOnCurve3d &intPnt) const
 
void getPointOnCurve2 (int intNum, OdGePointOnCurve3d &intPnt) const
 
void getIntConfigs (int intNum, OdGe::OdGeXConfig &config1wrt2, OdGe::OdGeXConfig &config2wrt1) const
 
bool isTangential (int intNum) const
 
bool isTransversal (int intNum) const
 
double intPointTol (int intNum) const
 
int overlapCount () const
 
bool overlapDirection () const
 
void getOverlapRanges (int overlapNum, OdGeInterval &range1, OdGeInterval &range2) const
 
void changeCurveOrder ()
 
OdGeCurveCurveInt3dorderWrt1 ()
 
OdGeCurveCurveInt3dorderWrt2 ()
 
OdGeCurveCurveInt3dset (const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, const OdGeVector3d &planeNormal=OdGeVector3d::kIdentity, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeCurveCurveInt3dset (const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, const OdGeInterval &range1, const OdGeInterval &range2, const OdGeVector3d &planeNormal=OdGeVector3d::kIdentity, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeCurveCurveInt3doperator= (const OdGeCurveCurveInt3d &crvCrvInt)
 
- 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
 

Additional Inherited Members

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

Detailed Description

This class represents intersections of 3D curves.

Remarks
The intersection object links to 3D curve objects but does not contain them. Calculation of the intersection is performed by a query function.

If one of the curve objects is deleted, the intersection must be recalculated.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeIntersectEntities, Working with Intersected Entities>

Definition at line 53 of file GeCurveCurveInt3d.h.

Constructor & Destructor Documentation

◆ OdGeCurveCurveInt3d() [1/4]

OdGeCurveCurveInt3d::OdGeCurveCurveInt3d ( )

Default constructor for the OdGeCurveCurveInt3d class. Constructs an invalid curve-curve intersector with no intersection curves and default tolerance.

◆ OdGeCurveCurveInt3d() [2/4]

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.

Parameters
curve1[in] First 3D curve.
curve2[in] Second 3D curve.
planeNormal[in] Specifies the normal to the plane for getIntConfigs().
tol[in] Geometric tolerance.
Remarks
The planeNormal argument is used only with getIntConfigs(). You must supply this argument if and only if you are using getIntConfigs().

◆ OdGeCurveCurveInt3d() [3/4]

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.

Parameters
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.
Remarks
Intersection points and overlaps are only returned if they are within the two specified parameter ranges The planeNormal argument is used only with getIntConfigs(). You must supply this argument if and only if you are using getIntConfigs().

◆ OdGeCurveCurveInt3d() [4/4]

OdGeCurveCurveInt3d::OdGeCurveCurveInt3d ( const OdGeCurveCurveInt3d source)

Copy constructor. Creates an OdGeCurveCurveInt3d object and initializes it with parameters of the specified source object.

Parameters
source[in] Object to be copied.

Member Function Documentation

◆ changeCurveOrder()

void OdGeCurveCurveInt3d::changeCurveOrder ( )

Swaps the first and the second curve.

◆ curve1()

const OdGeCurve3d * OdGeCurveCurveInt3d::curve1 ( ) const

Returns the first curve.

Returns
A pointer to the instance of OdGeCurve3d.

◆ curve2()

const OdGeCurve3d * OdGeCurveCurveInt3d::curve2 ( ) const

Returns the second curve.

Returns
A pointer to the instance of OdGeCurve3d.

◆ getIntConfigs()

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.

Parameters
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.
Remarks
The curves must be coplanar, and are with respect to the planeNormal.

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

Remarks
Currently not implemented.

◆ getIntParams()

void OdGeCurveCurveInt3d::getIntParams ( int  intNum,
double &  param1,
double &  param2 
) const

Retrieves the curve parameters at the specified intersection point.

Parameters
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.

◆ getIntRanges()

void OdGeCurveCurveInt3d::getIntRanges ( OdGeInterval range1,
OdGeInterval range2 
) const

Retrieves the ranges of the two curves.

Parameters
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.

◆ getOverlapRanges()

void OdGeCurveCurveInt3d::getOverlapRanges ( int  overlapNum,
OdGeInterval range1,
OdGeInterval range2 
) const

Retrieves the ranges for each curve a the specified overlap.

Parameters
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.

◆ getPointOnCurve1()

void OdGeCurveCurveInt3d::getPointOnCurve1 ( int  intNum,
OdGePointOnCurve3d intPnt 
) const

Retrieves the specified intersection point as an OdGePointOnCurve3d on the first curve.

Parameters
intNum[in] The zero-based index of the intersection point to return.
intPnt[out] Receives the specified intersection point on the first curve.

◆ getPointOnCurve2()

void OdGeCurveCurveInt3d::getPointOnCurve2 ( int  intNum,
OdGePointOnCurve3d intPnt 
) const

Retrieves the specified intersection point as an OdGePointOnCurve3d on the second curve.

Parameters
intNum[in] The zero-based index of the intersection point to return.
intPnt[out] Receives the specified intersection point on the second curve.

◆ intPoint()

OdGePoint3d OdGeCurveCurveInt3d::intPoint ( int  intNum) const

Returns an intersection point by its index.

Parameters
intNum[in] The zero-based index of the intersection point to return.
Returns
An instance of the OdGePoint3d class.

◆ intPointTol()

double OdGeCurveCurveInt3d::intPointTol ( int  intNum) const

Returns the tolerance used to compute the specified intersection point.

Parameters
intNum[in] The zero-based index of the intersection point to query.
Returns
The tolerance as a double value.

◆ isTangential()

bool OdGeCurveCurveInt3d::isTangential ( int  intNum) const

Checks if the curves are tangential at the specified intersection point.

Parameters
intNum[in] The zero-based index of the intersection point to query.
Returns
true if and only if the curves are tangential at specified intersection point
Remarks
Currently not implemented.

◆ isTransversal()

bool OdGeCurveCurveInt3d::isTransversal ( int  intNum) const

Checks if the curves are transversal (cross) at the specified intersection point.

Parameters
intNum[in] The zero-based index of the intersection point to query.
Returns
true if and only if the curves are transversal (cross) at specified intersection point
Remarks
Currently not implemented.

◆ numIntPoints()

int OdGeCurveCurveInt3d::numIntPoints ( ) const

Returns the number of intersections between the curves within the specified ranges.

Returns
The number of intersections as an integer value.

◆ operator=()

OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::operator= ( const OdGeCurveCurveInt3d crvCrvInt)

Assignment operator for the OdGeCurveCurveInt3d object.

Parameters
crvCrvInt[in] OdGeCurveCurveInt3d object to assign.
Returns
Reference to this OdGeCurveCurveInt3d object.

◆ orderWrt1()

OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::orderWrt1 ( )

Orders the intersection points so they correspond to increasing parameter values of the first curve.

Returns
Reference to this OdGeCurveCurveInt3d object.

◆ orderWrt2()

OdGeCurveCurveInt3d & OdGeCurveCurveInt3d::orderWrt2 ( )

Orders the intersection points so they correspond to increasing parameter values of the second curve.

Returns
Reference to this OdGeCurveCurveInt3d object.

◆ overlapCount()

int OdGeCurveCurveInt3d::overlapCount ( ) const

Returns the number of intervals of overlap for the two curves.

Returns
The number of intervals as an integer value.

◆ overlapDirection()

bool OdGeCurveCurveInt3d::overlapDirection ( ) const

Checks if the curves are oriented in the same direction where they overlap.

Remarks
This value has meaning only if overlapCount() > 0.
Returns
true if and only if the curves are oriented in the same direction where they overlap.
Remarks
Currently not implemented.

◆ planeNormal()

OdGeVector3d OdGeCurveCurveInt3d::planeNormal ( ) const

Returns the normal to the plane for getIntConfigs().

Returns
An instance of the OdGeVector3d class.

◆ set() [1/2]

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.

Parameters
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.
Returns
Reference to this OdGeCurveCurveInt3d object.
Remarks
The planeNormal argument is used only with getIntConfigs(). You must supply this argument only if you are using getIntConfigs().

◆ set() [2/2]

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.

Parameters
curve1[in] First 3D curve.
curve2[in] Second 3D curve.
planeNormal[in] Specifies the normal to the plane for getIntConfigs().
tol[in] Geometric tolerance.
Returns
Reference to this OdGeCurveCurveInt3d object.
Remarks
The planeNormal argument is used only with getIntConfigs(). You must supply this argument only if you are using getIntConfigs().

◆ tolerance()

OdGeTol OdGeCurveCurveInt3d::tolerance ( ) const

Returns the tolerance for determining intersections.

Returns
An instance of the OdGeTol class.

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