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

#include <GeCurveSurfInt.h>

Inheritance diagram for OdGeCurveSurfInt:
OdGeEntity3d

Public Member Functions

 OdGeCurveSurfInt ()
 
 OdGeCurveSurfInt (const OdGeCurve3d &curve, const OdGeSurface &surf, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeCurveSurfInt (const OdGeCurveSurfInt &source)
 
const OdGeCurve3dcurve () const
 
const OdGeSurfacesurface () const
 
OdGeTol tolerance () const
 
int numResults (OdGeIntersectError &status) const
 
int getDimension (int intNum, OdGeIntersectError &status) const
 
int numIntPoints (OdGeIntersectError &status) const
 
OdGePoint3d intPoint (int intNum, OdGeIntersectError &status) const
 
void getIntParams (int intNum, double &param1, OdGePoint2d &param2, OdGeIntersectError &status) const
 
void getPointOnCurve (int intNum, OdGePointOnCurve3d &intPnt, OdGeIntersectError &status) const
 
void getPointOnSurface (int intNum, OdGePointOnSurface &intPnt, OdGeIntersectError &status) const
 
void getIntConfigs (int intNum, OdGe::csiConfig &lower, OdGe::csiConfig &higher, bool &smallAngle, OdGeIntersectError &status) const
 
int overlapCount (OdGeIntersectError &status) const
 
void getOverlapRange (int intNum, OdGeInterval &range, OdGeIntersectError &status) const
 
OdGeCurve2dintParamCurve (int intNum, bool isExternal, OdGeIntersectError &status) const
 
OdGeCurveSurfIntset (const OdGeCurve3d &crv, const OdGeSurface &surface, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeCurveSurfIntoperator= (const OdGeCurveSurfInt &crvSurfInt)
 
- 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 and surfaces.

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

If one of the objects is deleted, the intersection must be recalculated. If one of the objects is NULL, kXXUnknown status is set and the default value is returned.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeIntersectEntities, Working with Intersected Entities>

Definition at line 53 of file GeCurveSurfInt.h.

Constructor & Destructor Documentation

◆ OdGeCurveSurfInt() [1/3]

OdGeCurveSurfInt::OdGeCurveSurfInt ( )

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

◆ OdGeCurveSurfInt() [2/3]

OdGeCurveSurfInt::OdGeCurveSurfInt ( const OdGeCurve3d curve,
const OdGeSurface surf,
const OdGeTol tol = OdGeContext::gTol 
)

Constructor. Creates an OdGeCurveSurfInt object with the specified curve, surface and geometric tolerance.

Parameters
curve[in] Curve.
surf[in] Surface.
tol[in] Geometric tolerance.

◆ OdGeCurveSurfInt() [3/3]

OdGeCurveSurfInt::OdGeCurveSurfInt ( const OdGeCurveSurfInt source)

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

Parameters
source[in] Object to be copied.

Member Function Documentation

◆ curve()

const OdGeCurve3d * OdGeCurveSurfInt::curve ( ) const

Returns the 3d curve.

Returns
A pointer to an instance of the OdGeCurve3d class.

◆ getDimension()

int OdGeCurveSurfInt::getDimension ( int  intNum,
OdGeIntersectError status 
) const

Returns a dimension of the specified intersection, and retrieves the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection.
status[out] Receives the status of the intersection.
Returns
A dimension of the specified intersection as an integer number
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ getIntConfigs()

void OdGeCurveSurfInt::getIntConfigs ( int  intNum,
OdGe::csiConfig lower,
OdGe::csiConfig higher,
bool &  smallAngle,
OdGeIntersectError status 
) const

Calculates the configurations on either side of the surface at the intersection.

Parameters
intNum[in] The zero-based index of the intersection curve to return.
lower[out] The configuration record of the lower intersection.
higher[out] The configuration record of the upper intersection.
smallAngle[out] true if the intersection is considered to be a small angle.
status[out] Receives the status of the intersection.
Remarks
Possible values for lower and higher are as follows:

@untitled table kXUnknown kXOut kXIn kXTanOut kXTanIn kXCoincident kXCoincidentUnbounded

Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

Remarks
Currently not implemented.

◆ getIntParams()

void OdGeCurveSurfInt::getIntParams ( int  intNum,
double &  param1,
OdGePoint2d param2,
OdGeIntersectError status 
) const

Retrieves the parameters of the specified intersection point with respect to the curve and surface, and retrieves the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection curve to return.
param1[out] Receives the parameter of the intersection point with respect to the curve.
param2[out] Receives the parameter pair of the intersection point with respect to the surface.
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ getOverlapRange()

void OdGeCurveSurfInt::getOverlapRange ( int  intNum,
OdGeInterval range,
OdGeIntersectError status 
) const

Retrieves the range for the curve for the specified overlap, and retrieves the status of the intersection.

Parameters
intNum[in] The zero-based index of the overlap range to query.
range[out] Receives the range of the curve for the specified overlap.
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ getPointOnCurve()

void OdGeCurveSurfInt::getPointOnCurve ( int  intNum,
OdGePointOnCurve3d intPnt,
OdGeIntersectError status 
) const

Retrieves the intersection point on the curve, and retrieves the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection pooint to return.
intPnt[out] Receives the specified intersection point on the curve.
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ getPointOnSurface()

void OdGeCurveSurfInt::getPointOnSurface ( int  intNum,
OdGePointOnSurface intPnt,
OdGeIntersectError status 
) const

Retrieves the intersection point on the surface, and retrieves the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection point to return.
intPnt[out] Receives the specified intersection point on the surface.
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ intParamCurve()

OdGeCurve2d * OdGeCurveSurfInt::intParamCurve ( int  intNum,
bool  isExternal,
OdGeIntersectError status 
) const

Returns the 2d curve representing the specified intersection and the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection curve to return.
isExternal[in] If true, returns a pointer of OdGeExternalCurve2d (not implemented).
status[out] Receives the status of the intersection.
Returns
A pointer to OdGeCurve2d.
Remarks
If the intersection is not a 2d curve, returns NULL. If some intersection is queried more than once, returns NULL and sets status to kXXUnknown.

Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ intPoint()

OdGePoint3d OdGeCurveSurfInt::intPoint ( int  intNum,
OdGeIntersectError status 
) const

Returns a 3d point representing the specified intersection, and retrieves the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection.
status[out] Receives the status of the intersection.
Returns
An instance of the OdGePoint3d class
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ numIntPoints()

int OdGeCurveSurfInt::numIntPoints ( OdGeIntersectError status) const

Returns the number of point intersections between the curve and the surface, and retrieves the status of the intersection.

Parameters
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ numResults()

int OdGeCurveSurfInt::numResults ( OdGeIntersectError status) const

Returns the number of intersections between the curve and the surface, and retrieves the status of the intersection.

Parameters
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ operator=()

OdGeCurveSurfInt & OdGeCurveSurfInt::operator= ( const OdGeCurveSurfInt crvSurfInt)

Assignment operator for the OdGeCurveSurfInt object.

Parameters
crvSurfInt[in] OdGeCurveSurfInt object to assign.
Returns
Reference to this OdGeCurveSurfInt object.

◆ overlapCount()

int OdGeCurveSurfInt::overlapCount ( OdGeIntersectError status) const

Retrieves the number of interval of overlaps between the curve and the surface, and retrieves the status of the intersection.

Parameters
status[out] Receives the status of the intersection.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ set()

OdGeCurveSurfInt & OdGeCurveSurfInt::set ( const OdGeCurve3d crv,
const OdGeSurface surface,
const OdGeTol tol = OdGeContext::gTol 
)

Specifies the 3d curve, surface, and tolerance for determining intersections.

Parameters
crv[in] 3d curve that intersects with the specified surface.
surface[in] A surface that intersects with the specified curve.
tol[in] Geometric tolerance.
Returns
Reference to this OdGeCurveSurfInt object.

◆ surface()

const OdGeSurface * OdGeCurveSurfInt::surface ( ) const

Returns the surface.

Returns
A pointer to an instance of the OdGeSurface class.

◆ tolerance()

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