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

#include <GeCurveCurveInt2d.h>

Inheritance diagram for OdGeCurveCurveInt2d:
OdGeEntity2d

Public Member Functions

 OdGeCurveCurveInt2d ()
 
 OdGeCurveCurveInt2d (const OdGeCurve2d &curve1, const OdGeCurve2d &curve2, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeCurveCurveInt2d (const OdGeCurve2d &curve1, const OdGeCurve2d &curve2, const OdGeInterval &range1, const OdGeInterval &range2, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeCurveCurveInt2d (const OdGeCurveCurveInt2d &source)
 
const OdGeCurve2dcurve1 () const
 
const OdGeCurve2dcurve2 () const
 
void getIntRanges (OdGeInterval &range1, OdGeInterval &range2) const
 
OdGeTol tolerance () const
 
int numIntPoints () const
 
OdGePoint2d intPoint (int intNum) const
 
void getIntParams (int intNum, double &param1, double &param2) const
 
void getPointOnCurve1 (int intNum, OdGePointOnCurve2d &intPnt) const
 
void getPointOnCurve2 (int intNum, OdGePointOnCurve2d &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 ()
 
OdGeCurveCurveInt2dorderWrt1 ()
 
OdGeCurveCurveInt2dorderWrt2 ()
 
OdGeCurveCurveInt2dset (const OdGeCurve2d &curve1, const OdGeCurve2d &curve2, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeCurveCurveInt2dset (const OdGeCurve2d &curve1, const OdGeCurve2d &curve2, const OdGeInterval &range1, const OdGeInterval &range2, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeCurveCurveInt2doperator= (const OdGeCurveCurveInt2d &crvCrvInt)
 
- Public Member Functions inherited from OdGeEntity2d
 ODRX_HEAP_OPERATORS ()
 
 ~OdGeEntity2d ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity2dcopy () const
 
OdGeEntity2doperator= (const OdGeEntity2d &entity)
 
bool operator== (const OdGeEntity2d &entity) const
 
bool operator!= (const OdGeEntity2d &entity) const
 
bool isEqualTo (const OdGeEntity2d &other, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity2dtransformBy (const OdGeMatrix2d &xfm)
 
OdGeEntity2dtranslateBy (const OdGeVector2d &translateVec)
 
OdGeEntity2drotateBy (double angle, const OdGePoint2d &basePoint=OdGePoint2d::kOrigin)
 
OdGeEntity2dmirror (const OdGeLine2d &line)
 
OdGeEntity2dscaleBy (double scaleFactor, const OdGePoint2d &basePoint=OdGePoint2d::kOrigin)
 
bool isOn (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
 

Additional Inherited Members

- Protected Member Functions inherited from OdGeEntity2d
 OdGeEntity2d ()
 
 OdGeEntity2d (const OdGeEntity2d &)
 
void connectTo (OdGeEntity2dImpl *)
 

Detailed Description

This class represents intersections of 2D curves.

Remarks
The intersection object links to 2D 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 50 of file GeCurveCurveInt2d.h.

Constructor & Destructor Documentation

◆ OdGeCurveCurveInt2d() [1/4]

OdGeCurveCurveInt2d::OdGeCurveCurveInt2d ( )

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

◆ OdGeCurveCurveInt2d() [2/4]

OdGeCurveCurveInt2d::OdGeCurveCurveInt2d ( const OdGeCurve2d curve1,
const OdGeCurve2d curve2,
const OdGeTol tol = OdGeContext::gTol 
)

Constructor. Creates an OdGeCurveCurveInt2d object with specified two curves and geometric tolerance.

Parameters
curve1[in] First 2D curve.
curve2[in] Second 2D curve.
tol[in] Geometric tolerance.

◆ OdGeCurveCurveInt2d() [3/4]

OdGeCurveCurveInt2d::OdGeCurveCurveInt2d ( const OdGeCurve2d curve1,
const OdGeCurve2d curve2,
const OdGeInterval range1,
const OdGeInterval range2,
const OdGeTol tol = OdGeContext::gTol 
)

Constructor. Creates an OdGeCurveCurveInt2d object with specified two curves, their ranges and geometric tolerance.

Parameters
curve1[in] First 2D curve.
curve2[in] Second 2D curve.
range1[in] Range of the first curve.
range2[in] Range of the second curve.
tol[in] Geometric tolerance.
Remarks
Intersection points and overlaps are only returned if they are within the two specified parameter ranges.

◆ OdGeCurveCurveInt2d() [4/4]

OdGeCurveCurveInt2d::OdGeCurveCurveInt2d ( const OdGeCurveCurveInt2d source)

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

Parameters
source[in] Object to be cloned.

Member Function Documentation

◆ changeCurveOrder()

void OdGeCurveCurveInt2d::changeCurveOrder ( )

Makes the first curve the second, and vice versa.

◆ curve1()

const OdGeCurve2d * OdGeCurveCurveInt2d::curve1 ( ) const

Returns the first curve.

Returns
A pointer to the instance of OdGeCurve2d.

◆ curve2()

const OdGeCurve2d * OdGeCurveCurveInt2d::curve2 ( ) const

Returns the second curve.

Returns
A pointer to the instance of OdGeCurve2d.

◆ getIntConfigs()

void OdGeCurveCurveInt2d::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 possible values for config1wrt2 and config2wrt1 are as follows:

kNotDefined kUnknown kLeftRight kRightLeft kLeftLeft kRightRight kPointLeft kPointRight kLeftOverlap kOverlapLeft kRightOverlap kOverlapRight kOverlapStart kOverlapEnd kOverlapOverlap

Remarks
Currently not implemented.

◆ getIntParams()

void OdGeCurveCurveInt2d::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 OdGeCurveCurveInt2d::getIntRanges ( OdGeInterval range1,
OdGeInterval range2 
) const

Retrieves the ranges of the two curves.

Parameters
range1[out] Receives the range of the first curve.
range2[out] Receives the range of the second curve.

◆ getOverlapRanges()

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

Returns 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 OdGeCurveCurveInt2d::getPointOnCurve1 ( int  intNum,
OdGePointOnCurve2d intPnt 
) const

Retrieves the specified intersection point as an OdGePointOnCurve2d 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 OdGeCurveCurveInt2d::getPointOnCurve2 ( int  intNum,
OdGePointOnCurve2d intPnt 
) const

Retrieves the specified intersection point as an OdGePointOnCurve2d 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()

OdGePoint2d OdGeCurveCurveInt2d::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 OdGePoint2d class.

◆ intPointTol()

double OdGeCurveCurveInt2d::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 OdGeCurveCurveInt2d::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 the specified intersection point; false otherwise.
Remarks
Currently not implemented.

◆ isTransversal()

bool OdGeCurveCurveInt2d::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; false otherwise.
Remarks
Currently not implemented.

◆ numIntPoints()

int OdGeCurveCurveInt2d::numIntPoints ( ) const

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

Returns
The number of intersections as an integer value.

◆ operator=()

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

Assignment operator for the OdGeCurveCurveInt2d object.

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

◆ orderWrt1()

OdGeCurveCurveInt2d & OdGeCurveCurveInt2d::orderWrt1 ( )

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

Returns
Reference to this OdGeCurveCurveInt2d object.

◆ orderWrt2()

OdGeCurveCurveInt2d & OdGeCurveCurveInt2d::orderWrt2 ( )

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

Returns
Reference to this OdGeCurveCurveInt2d object.

◆ overlapCount()

int OdGeCurveCurveInt2d::overlapCount ( ) const

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

Returns
The number of intervals as an integer value.

◆ overlapDirection()

bool OdGeCurveCurveInt2d::overlapDirection ( ) const

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

Returns
True if and only if the curves are oriented in the same direction; false otherwise.
Remarks
This value has meaning only if overlapCount() > 0.
Currently not implemented.

◆ set() [1/2]

OdGeCurveCurveInt2d & OdGeCurveCurveInt2d::set ( const OdGeCurve2d curve1,
const OdGeCurve2d curve2,
const OdGeInterval range1,
const OdGeInterval range2,
const OdGeTol tol = OdGeContext::gTol 
)

Sets the curves, ranges and tolerance for which to determine intersections.

Parameters
curve1[in] First 2D curve.
curve2[in] Second 2D curve.
range1[in] Range of first curve.
range2[in] Range of second curve.
tol[in] Geometric tolerance.
Returns
Reference to this OdGeCurveCurveInt2d object.

◆ set() [2/2]

OdGeCurveCurveInt2d & OdGeCurveCurveInt2d::set ( const OdGeCurve2d curve1,
const OdGeCurve2d curve2,
const OdGeTol tol = OdGeContext::gTol 
)

Sets the curves and tolerance for which to determine intersections.

Parameters
curve1[in] First 2D curve.
curve2[in] Second 2D curve.
tol[in] Geometric tolerance.
Returns
Reference to this OdGeCurveCurveInt2d object.

◆ tolerance()

OdGeTol OdGeCurveCurveInt2d::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: