CFx SDK Documentation 2024 SP0
|
#include <GeCurveBoundary.h>
Public Member Functions | |
OdGeCurveBoundary () | |
OdGeCurveBoundary (int numCurves, const OdGeEntity3d *const *crv3d, const OdGeCurve2d *const *crv2d, bool *orientation3d, bool *orientation2d, bool makeCopy=true) | |
OdGeCurveBoundary (const OdGeCurveBoundary &source) | |
~OdGeCurveBoundary () | |
OdGeCurveBoundary & | operator= (const OdGeCurveBoundary &crvBoundary) |
bool | isDegenerate () const |
bool | isDegenerate (OdGePosition3d °enPoint, OdGeCurve2d **paramCurve) const |
int | numElements () const |
void | getContour (int &numCurves, OdGeEntity3d ***crv3d, OdGeCurve2d ***crv2d, bool **orientation3d, bool **orientation2d) const |
OdGeCurveBoundary & | set (int numCurves, const OdGeEntity3d *const *crv3d, const OdGeCurve2d *const *crv2d, bool *orientation3d, bool *orientation2d, bool makeCopy=true) |
bool | isOwnerOfCurves () const |
OdGeCurveBoundary & | setToOwnCurves () |
Protected Attributes | |
int | m_iNumCurves |
OdGeEntity3d ** | m_pArrCrv3d |
OdGeCurve2d ** | m_pArrCrv2d |
bool * | m_bArrOrientation3d |
bool * | m_bArrOrientation2d |
bool | m_bMakeCopy |
This class represents the boundary geometry (face loops) on a bounded surface.
3D curve or position pointers 2D parameter space curve pointers 3D orientations 2D orientations
There is a one-to-one correspondence between elements in the arrays, although certain elements of a given array could be NULL, or meaningless.
Loop degeneracies are represented as follows:
The entire loop degenerates to a single model space point, which is represented by the tuple (numElements = 1, position3d, curve2d). The curve2d may be NULL. The edge sense, and the curve2d sense are irrelevant. isDegenerate() method allows the determination of this condition on a loop. A loop consisting of one or more model space degeneracies is represented as the general case with those edges that are degenerate represented by position3d. This implies that in the general case, model space geometry of a curve boundary may consist of curve3d and/or position3d pointers. Consequently, this geometry is obtained by the user as entity3d pointers. The degeneracy of a constituent edge can be detected by the type of the model space geometry.
This class also supports the ownership of its geometry. Being the owner of its geometry would cause it to remove the geometry on destruction of an instance of the class.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
Definition at line 76 of file GeCurveBoundary.h.
OdGeCurveBoundary::OdGeCurveBoundary | ( | ) |
Default constructor for the OdGeCurveBoundary class. Constructs an empty curve boundary.
OdGeCurveBoundary::OdGeCurveBoundary | ( | int | numCurves, |
const OdGeEntity3d *const * | crv3d, | ||
const OdGeCurve2d *const * | crv2d, | ||
bool * | orientation3d, | ||
bool * | orientation2d, | ||
bool | makeCopy = true |
||
) |
Constructor for the OdGeCurveBoundary class. Constructs a curve boundary with the specified parameters.
numCurves | [in] Number of curves in the curve boundary. |
crv3d | [in] Array of 3D curves of each element in the curve boundary. |
crv2d | [in] Array of 2D curves of each element in the curve boundary. |
orientation3d | [in] Array of orientation flags for each 3D curve element (regular or revesed). Valid only if crv3d is not NULL; |
orientation2d | [in] Array of orientation flags for each 2D curve element (regular or revesed). Valid only if crv2d is not NULL; |
makeCopy | [in] If true, makes a copy of 3D and 2D curves (if corresponding arrays are not NULL). |
OdGeCurveBoundary::OdGeCurveBoundary | ( | const OdGeCurveBoundary & | source | ) |
Copy constructor for the OdGeCurveBoundary class. Copies the specified curve boundary.
source | [in] Curve boundary to copy. |
OdGeCurveBoundary::~OdGeCurveBoundary | ( | ) |
Destructor for the OdGeCurveBoundary class. Frees the allocated resources for owned curves (if the option for making curve copies was used).
void OdGeCurveBoundary::getContour | ( | int & | numCurves, |
OdGeEntity3d *** | crv3d, | ||
OdGeCurve2d *** | crv2d, | ||
bool ** | orientation3d, | ||
bool ** | orientation2d | ||
) | const |
Returns the paramaters for the curve boundary.
numCurves | [out] Receives the number of curves in the curve boundary. |
crv3d | [out] Receives an array of 3D curves for each element in the curve boundary. |
crv2d | [out] Receives an array of 2D curves for each element in the curve boundary. |
orientation3d | [out] Receives an array of orientation flags for each 3D curve element. Valid only if crv3d is not NULL; if NULL, the caller must delete allocated memory that was intended for numCurves. |
orientation2d | [out] Receives an array of orientation flags for each 2D curve element. Valid only if crv2d is not NULL; if NULL, the caller must delete allocated memory that was intended for numCurves. |
bool OdGeCurveBoundary::isDegenerate | ( | ) | const |
Checks whether the curve boundary degenerates to a single 3D point. Currently not implemented.
bool OdGeCurveBoundary::isDegenerate | ( | OdGePosition3d & | degenPoint, |
OdGeCurve2d ** | paramCurve | ||
) | const |
Checks whether the curve boundary degenerates to a single 3D point. Currently not implemented.
degenPoint | [out] Receives the point to which the boundary degenerates. |
paramCurve | [out] Receives the paramater curve corresponding to degenPoint. |
bool OdGeCurveBoundary::isOwnerOfCurves | ( | ) | const |
Checks whether the curve boundary is the owner of the curve boundary parameters.
int OdGeCurveBoundary::numElements | ( | ) | const |
Returns the number of elements in the curve boundary.
OdGeCurveBoundary & OdGeCurveBoundary::operator= | ( | const OdGeCurveBoundary & | crvBoundary | ) |
Assignment operator for the OdGeCurveBoundary class. Assigns properties of the specified cubic spline curve. Currently not implemented.
crvBoundary | [in] Curve boundary to assign. |
OdGeCurveBoundary & OdGeCurveBoundary::set | ( | int | numCurves, |
const OdGeEntity3d *const * | crv3d, | ||
const OdGeCurve2d *const * | crv2d, | ||
bool * | orientation3d, | ||
bool * | orientation2d, | ||
bool | makeCopy = true |
||
) |
Sets the parameters for the curve boundary and returns a reference to it.
numCurves | [in] Number of curves in the curve boundary. |
crv3d | [in] Array of 3D curves of each element in the curve boundary. |
crv2d | [in] Array of 2D curves of each element in the curve boundary. |
orientation3d | [in] Array of orientation flags for each 3D curve element (regular or revesed). Valid only if crv3d is not NULL; |
orientation2d | [in] Array of orientation flags for each 2D curve element (regular or revesed). Valid only if crv2d is not NULL; |
makeCopy | [in] If true, makes a copy of each 3D and 2D curve. |
OdGeCurveBoundary & OdGeCurveBoundary::setToOwnCurves | ( | ) |
Makes the curve boundary own the curve data and returns a reference to the boundary.
|
protected |
Definition at line 222 of file GeCurveBoundary.h.
|
protected |
Definition at line 221 of file GeCurveBoundary.h.
|
protected |
Definition at line 223 of file GeCurveBoundary.h.
|
protected |
Definition at line 218 of file GeCurveBoundary.h.
|
protected |
Definition at line 220 of file GeCurveBoundary.h.
|
protected |
Definition at line 219 of file GeCurveBoundary.h.