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

#include <GeSurfSurfInt.h>

Inheritance diagram for OdGeSurfSurfInt:
OdGeEntity3d

Public Member Functions

 OdGeSurfSurfInt ()
 
 OdGeSurfSurfInt (const OdGeSurface &srf1, const OdGeSurface &srf2, const OdGeTol &tol=OdGeContext::gTol)
 
 OdGeSurfSurfInt (const OdGeSurfSurfInt &source)
 
const OdGeSurfacesurface1 () const
 
const OdGeSurfacesurface2 () const
 
OdGeTol tolerance () const
 
int numResults (OdGeIntersectError &status) const
 
int numIntPoints (OdGeIntersectError &status) const
 
OdGeCurve3dintCurve (int intNum, bool isExternal, OdGeIntersectError &status) const
 
OdGeCurve2dintParamCurve (int intNum, bool isExternal, bool isFirst, OdGeIntersectError &status) const
 
OdGePoint3d intPoint (int intNum, OdGeIntersectError &status) const
 
void getIntPointParams (int intNum, OdGePoint2d &param1, OdGePoint2d &param2, OdGeIntersectError &status) const
 
void getIntConfigs (int intNum, OdGe::ssiConfig &surf1Left, OdGe::ssiConfig &surf1Right, OdGe::ssiConfig &surf2Left, OdGe::ssiConfig &surf2Right, OdGe::ssiType &intType, int &dim, OdGeIntersectError &status) const
 
int numIntCurves (OdGeIntersectError &status) const
 
int getDimension (int intNum, OdGeIntersectError &status) const
 
OdGe::ssiType getType (int intNum, OdGeIntersectError &status) const
 
bool haveOverlap (OdGeIntersectError &status) const
 
OdGeSurfSurfIntset (const OdGeSurface &srf1, const OdGeSurface &srf2, const OdGeTol &tol=OdGeContext::gTol)
 
OdGeSurfSurfIntoperator= (const OdGeSurfSurfInt &surfSurfInt)
 
- 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 holds the intersection data of two surfaces.

Remarks
This object contains references to surface objects but does not own them. Calculation of the intersection is performed by a query function.

Any output geometry from an intersection object is owned by the caller. The const base objects returned by surface1() and surface2() are not considered output objects.

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

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeIntersectEntities, Working with Intersected Entities>

Definition at line 55 of file GeSurfSurfInt.h.

Constructor & Destructor Documentation

◆ OdGeSurfSurfInt() [1/3]

OdGeSurfSurfInt::OdGeSurfSurfInt ( )

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

◆ OdGeSurfSurfInt() [2/3]

OdGeSurfSurfInt::OdGeSurfSurfInt ( const OdGeSurface srf1,
const OdGeSurface srf2,
const OdGeTol tol = OdGeContext::gTol 
)

Constructor. Creates an OdGeSurfSurfInt object with specified two surfaces and geometric tolerance.

Parameters
srf1[in] First surface that intersects with the second surface.
srf2[in] Second surface that intersects with the first surface.
tol[in] Geometric tolerance.
Remarks
Constructs the objects with the specified parameters.

◆ OdGeSurfSurfInt() [3/3]

OdGeSurfSurfInt::OdGeSurfSurfInt ( const OdGeSurfSurfInt source)

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

Parameters
source[in] A surface intersection object to be copied.

Member Function Documentation

◆ getDimension()

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

Returns the dimension of the intersection point by its index.

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

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ getIntConfigs()

void OdGeSurfSurfInt::getIntConfigs ( int  intNum,
OdGe::ssiConfig surf1Left,
OdGe::ssiConfig surf1Right,
OdGe::ssiConfig surf2Left,
OdGe::ssiConfig surf2Right,
OdGe::ssiType intType,
int &  dim,
OdGeIntersectError status 
) const

Retrieves the configurations on either side of the intersection each surface.

Parameters
intNum[in] The zero-based index of the intersection curve to return.
surf1Left[out] Receives the configuration for surface 1 on the left side of the intersection.
surf1Right[out] Receives the configuration for surface 1 on the right side of the intersection.
surf2Left[out] Receives the configuration for surface 2 on the left side of the intersection.
surf2Right[out] Receives the configuration for surface 2 on the right side of the intersection.
intType[out] Receives the intersection type.
dim[out] Receives the dimension of the intersection.
status[out] Receives the status of the intersection.
Remarks
Possible values for surf1Left, surf1Right, surf2Left, and surf2Right are as follows:

@untitled table kSSIUnknown kSSIOut Neighborhood is outside this surface. kSSIIn Neighborhood is inside this surface. kSSICoincident Non-zero area intersection.

Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

Remarks
Currently not implemented.

◆ getIntPointParams()

void OdGeSurfSurfInt::getIntPointParams ( int  intNum,
OdGePoint2d param1,
OdGePoint2d param2,
OdGeIntersectError status 
) const

Retrieves the parameter pairs for the specified intersection point with respect to each surface, and the status of the intersection.

Parameters
intNum[in] The zero-based index of the intersection curve to return.
param1[out] Receives the parameter pair of the intersection point with respect to the first curve.
param2[out] Receives the parameter pair of the intersection point with respect to the second curve.
status[out] Receives the status of the intersection.

Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ getType()

OdGe::ssiType OdGeSurfSurfInt::getType ( int  intNum,
OdGeIntersectError status 
) const

Returns the type of the specified intersection.

Parameters
intNum[in] The zero-based index of the intersection curve to return.
status[out] Receives the status of the intersection.
Returns
An instance of OdGe::ssiType.
Remarks
Possible return values for the configuratons are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

Remarks
Currently not implemented.

◆ haveOverlap()

bool OdGeSurfSurfInt::haveOverlap ( OdGeIntersectError status) const

Checks if the surfaces have an overlap.

Parameters
status[out] Receives the status of the intersection.
Returns
true if and only if the surfaces have an overlap, false otherwise.
Remarks
Possible return values for the configuratons are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ intCurve()

OdGeCurve3d * OdGeSurfSurfInt::intCurve ( int  intNum,
bool  isExternal,
OdGeIntersectError status 
) const

Returns the 3d 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 OdGeExternalCurve3d (not implemented).
status[out] Receives the status of the intersection.
Returns
A pointer to OdGeCurve3d.
Remarks
If the intersection is not a 3d 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

◆ intParamCurve()

OdGeCurve2d * OdGeSurfSurfInt::intParamCurve ( int  intNum,
bool  isExternal,
bool  isFirst,
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).
isFirst[in] If true, returns the curve on the first surface, otherwise it the curve on the second surface.
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 OdGeSurfSurfInt::intPoint ( int  intNum,
OdGeIntersectError status 
) const

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

Parameters
intNum[in] The zero-based index of the intersection curve to return.
status[out] Receives the status of the intersection.
Returns
An instance of OdGePoint3d.
Remarks
If the intersection is not a 3d point, returns (0.0, 0.0, 0.0) point.

Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ numIntCurves()

int OdGeSurfSurfInt::numIntCurves ( OdGeIntersectError status) const

Returns the number of intersection curves for the two surfaces

Parameters
status[out] Receives the status of the intersection.
Returns
The number of intervals as an integer value.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXIndexOutOfRange kXXWrongDimensionAtIndex kXXUnknown

◆ numIntPoints()

int OdGeSurfSurfInt::numIntPoints ( OdGeIntersectError status) const

Returns the number of intersections between the surfaces.

Parameters
status[out] Receives the status of the intersection.
Returns
The number of intersections as an integer value.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXUnknown

◆ numResults()

int OdGeSurfSurfInt::numResults ( OdGeIntersectError status) const

Returns the number of intersections between the two surfaces, and the status of the intersections.

Parameters
status[out] Receives the status of the intersection.
Returns
The number of intersections as an integer value.
Remarks
Possible values for status are as follows:

@untitled table kXXOk kXXUnknown

◆ operator=()

OdGeSurfSurfInt & OdGeSurfSurfInt::operator= ( const OdGeSurfSurfInt surfSurfInt)

Assignment operator for the OdGeSurfSurfInt object.

Parameters
surfSurfInt[in] OdGeSurfSurfInt object to assign.
Returns
Reference to this OdGeSurfSurfInt object.

◆ set()

OdGeSurfSurfInt & OdGeSurfSurfInt::set ( const OdGeSurface srf1,
const OdGeSurface srf2,
const OdGeTol tol = OdGeContext::gTol 
)

Sets the surfaces and tolerances to be used for determining intersection data.

Returns
Reference to this OdGeSurfSurfInt object.
Parameters
srf1[in] First surface to be intersected.
srf2[in] Second surface to be intersected.
tol[in] Geometric tolerance.

◆ surface1()

const OdGeSurface * OdGeSurfSurfInt::surface1 ( ) const

Returns a constant pointer to the first surface of intersection.

Returns
An pointer to OdGeSurface

◆ surface2()

const OdGeSurface * OdGeSurfSurfInt::surface2 ( ) const

Returns a constant pointer to the second surface of intersection.

Returns
An pointer to OdGeSurface

◆ tolerance()

OdGeTol OdGeSurfSurfInt::tolerance ( ) const

Returns the tolerance for determining intersections.

Returns
An instance of OdGeTol

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