CFx SDK Documentation 2024 SP0
|
#include <FMProfile2D.h>
Public Types | |
typedef Contour2D | value_type |
typedef const Contour2D & | const_reference |
typedef Contour2D & | reference |
typedef const Contour2D * | const_pointer |
typedef Contour2D * | pointer |
typedef OdUInt32 | size_type |
typedef const Contour2D * | const_iterator |
typedef Contour2D * | iterator |
Static Public Member Functions | |
static bool | PerformOperation (BooleanOperation eOperation, const Profile2D &rArg1, const Profile2D &rArg2, Profile2D &rResult, const OdGeTol &tol=FMGeGbl::gTol) |
Static Public Attributes | |
static FMGEOMETRY_API_STATIC const Profile2D | kNull |
Describes a 2D profile.
Definition at line 35 of file FMProfile2D.h.
typedef const Contour2D* FacetModeler::Profile2D::const_iterator |
Definition at line 74 of file FMProfile2D.h.
typedef const Contour2D* FacetModeler::Profile2D::const_pointer |
Definition at line 70 of file FMProfile2D.h.
typedef const Contour2D& FacetModeler::Profile2D::const_reference |
Definition at line 67 of file FMProfile2D.h.
Definition at line 75 of file FMProfile2D.h.
Definition at line 71 of file FMProfile2D.h.
Definition at line 68 of file FMProfile2D.h.
Definition at line 72 of file FMProfile2D.h.
Definition at line 66 of file FMProfile2D.h.
FacetModeler::Profile2D::Profile2D | ( | ) |
Default constructor.
|
explicit |
Constructor. Creates a profile object with one specified contour.
rSrcCont | [in] 2D contour. |
FacetModeler::Profile2D::Profile2D | ( | const Profile2D & | rSrc | ) |
Copy constructor.
rSrc | [in] Profile to copy from. |
FacetModeler::Profile2D::~Profile2D | ( | ) |
Destructor.
Result FacetModeler::Profile2D::addExtents | ( | OdGeExtents2d & | extExtents | ) | const |
Appends the extents of the profile to the specified extents structure.
extExtents | [in/out] Extents to add to. |
reference FacetModeler::Profile2D::back | ( | ) |
const_reference FacetModeler::Profile2D::back | ( | ) | const |
iterator FacetModeler::Profile2D::begin | ( | ) |
const_iterator FacetModeler::Profile2D::begin | ( | ) | const |
size_type FacetModeler::Profile2D::capacity | ( | ) | const |
void FacetModeler::Profile2D::clear | ( | ) |
Clears the profile.
bool FacetModeler::Profile2D::contains | ( | const OdGePoint2d & | ptTest, |
bool * | pOnBorder = NULL , |
||
const OdGeTol & | gTol = FMGeGbl::gTol |
||
) | const |
Checks whether the specified point lies inside the profile or on its border.
ptTest | [in] Point to check. |
pOnBorder | [out] (Optional) true if the point lies on the border of the contour. |
gTol | [in] Tolerance. |
void FacetModeler::Profile2D::deleteCoincident | ( | const OdGeTol & | gTol = FMGeGbl::gTol | ) |
Removes redundant segments with zero length from all contours.
gTol | [in] Tolerance. |
bool FacetModeler::Profile2D::empty | ( | ) | const |
iterator FacetModeler::Profile2D::end | ( | ) |
const_iterator FacetModeler::Profile2D::end | ( | ) | const |
Result FacetModeler::Profile2D::explode | ( | const DeviationParams & | devDeviation = FMGeGbl::gDefDev , |
OdIntPtr | uArcMetadata = 0 |
||
) |
Explodes all contours.
devDeviation | [in] Resulting profile. |
uArcMetadata | [in] (Optional) Metadata to set. |
Result FacetModeler::Profile2D::explodeTo | ( | Profile2D & | rDestProfile, |
const DeviationParams & | devDeviation = FMGeGbl::gDefDev , |
||
OdIntPtr | uArcMetadata = 0 |
||
) | const |
Explodes all contours.
rDestProfile | [out] Resulting profile. |
devDeviation | [in] Deviation parameters. |
uArcMetadata | [in] (Optional) Metadata to set. |
void FacetModeler::Profile2D::fit | ( | const OdGeExtents2d & | extBoundingBox, |
bool | bFitX, | ||
bool | bFitY, | ||
const DeviationParams & | devDeviation = FMGeGbl::gDefDev |
||
) |
Adjusts the profile to a bounding box extents.
extBoundingBox | [in] Bounding box to fit in. |
bFitX | [in] true to fit in the X bounds of the box, or false to ignore. |
bFitY | [in] true to fit in the Y bounds of the box, or false to ignore. |
devDeviation | [in] Deviation parameters. |
void FacetModeler::Profile2D::fit | ( | const OdGeExtents2d & | extBoundingBox, |
const DeviationParams & | devDeviation = FMGeGbl::gDefDev |
||
) |
Adjusts the profile to a bounding box extents.
extBoundingBox | [in] Bounding box to fit in. |
devDeviation | [in] Deviation parameters. |
reference FacetModeler::Profile2D::front | ( | ) |
const_reference FacetModeler::Profile2D::front | ( | ) | const |
void FacetModeler::Profile2D::getAdjustedProfile | ( | double | dWidth, |
double | dDepth, | ||
bool | bAdjustWidth, | ||
bool | bAdjustDepth, | ||
bool | bMirrorInX, | ||
bool | bMirrorInY, | ||
double | dRotation, | ||
Profile2D & | rResult | ||
) | const |
Gets the adjusted profile.
dWidth | [in] Width of desired extents. |
dDepth | [in] Depth of desired extents. |
bAdjustWidth | [in] Adjusts the width to extents. |
bAdjustDepth | [in] Adjusts the depth to extents. |
bMirrorInX | [in] Mirror in X. |
bMirrorInY | [in] Mirror in Y. |
dRotation | [in] Rotation around Z axis. |
rResult | [out] Resulting profile. |
Gets all profiles. Each of the returned profiles bounds a connected domain and contains one (the first one) big CCW contour and possibly few smaller CW "holes."
aFaces | [out] Array of resulting faces as std::vector<Profile2D>. |
Gets all hole contours reversed.
rHolesProfile | [out] Resulting profile. |
Result FacetModeler::Profile2D::getOffsetProfile | ( | double | dOffset, |
Profile2D & | rResult, | ||
FilletType | eFilletType = eftExtend , |
||
const OdGeTol & | gTol = FMGeGbl::gTol |
||
) | const |
Returns the profile that is shifted in the normal direction from this closed(!) contour. E.g., if dOffset is negative, a counter-clockwise circle is extended. If dOffset is positive and small enough, it is contracted, and it becomes empty if dOffset > radius.
dOffset | [in] Signed offset along the normal direction. Positive offset is towards the inside for CCW contours. |
rResult | [out] Resulting profile. |
eFilletType | [in] Gap filling strategy for the segments sliding apart. |
gTol | [in] Tolerance. |
Result FacetModeler::Profile2D::getSingleContour | ( | Contour2D & | rDest, |
const OdGeTol & | gTol = FMGeGbl::gTol |
||
) | const |
Gets the single contour describing the profile with bridges between initial contours.
rDest | [out] Resulting contour. |
gTol | [in] Tolerance. |
This profile should be "regular" (no self-intersections and valid nesting of CW/CCW contours).
Gets all non-hole contours as a profile.
rNoHolesProfile | [out] Resulting profile. |
bool FacetModeler::Profile2D::hasNonEmptyContours | ( | ) | const |
Checks whether this profile contains at least one non-empty contour.
void FacetModeler::Profile2D::insert | ( | iterator | itWhere, |
const_iterator | itFirst, | ||
const_iterator | itLast | ||
) |
bool FacetModeler::Profile2D::isValidRegion | ( | const OdGeTol & | gTol = FMGeGbl::gTol | ) | const |
Checks whether this profile contains only closed contours and coincides with a directional boundary of an open 2D region.
gTol | [in] Tolerance. |
size_type FacetModeler::Profile2D::max_size | ( | ) | const |
void FacetModeler::Profile2D::mergeSegments | ( | int | iMergeFlags = 0 , |
const OdGeTol & | gTol = FMGeGbl::gTol |
||
) |
Merges adjacent segments for all contours.
iMergeFlags | [in] Combination of AECGe::FilletType flags (emfMergeArcs, emfIgnoreMetadata, emfMergeOrigin). |
gTol | [in] Tolerance. |
Copy operator.
rSrc | [in] Profile to copy from. |
const_reference FacetModeler::Profile2D::operator[] | ( | size_type | iPos | ) | const |
|
static |
Performs a boolean operation on 2D profiles.
eOperation | [in] Operation type from BooleanOperation enum. |
rArg1 | [in] First profile. |
rArg2 | [in] Second profile. |
rResult | [out] Resulting profile. |
tol | [in] Tolerance. |
double FacetModeler::Profile2D::perimeter | ( | ) | const |
Gets the perimeter of the profile.
void FacetModeler::Profile2D::pop_back | ( | ) |
Contour2D & FacetModeler::Profile2D::push_back | ( | ) |
Contour2D & FacetModeler::Profile2D::push_back | ( | ContourImplClass | eCC | ) |
Result FacetModeler::Profile2D::regularizeTo | ( | Profile2D & | rDest, |
const OdGeTol & | gTol = FMGeGbl::gTol |
||
) | const |
Removes self-intersecting parts oriented clockwise and leaves counter-clockwise parts intact.
rDest | [out] Resulting contour. |
gTol | [in] Tolerance. |
Resizes the profile.
iSize | [in] New size. |
void FacetModeler::Profile2D::reverse | ( | ) |
Reverses all contours.
Result FacetModeler::Profile2D::setAllMetadata | ( | OdIntPtr | uNewData, |
OdIntPtr | uBitsToModify = INT_MAX |
||
) |
Updates metadata for all segments in all contours.
uNewData | [in] New value of metadata to set. |
uBitsToModify | [in] Bit mask to set. |
double FacetModeler::Profile2D::signedArea | ( | ) | const |
Gets the signed area.
size_type FacetModeler::Profile2D::size | ( | ) | const |
void FacetModeler::Profile2D::split | ( | const OdGeLine2d & | lCutter, |
Profile2D & | rRght, | ||
Profile2D & | rLeft | ||
) | const |
Splits the profile with a line.
lCutter | [in] Cut line. |
rRght | [out] Right resulting profile. |
rLeft | [out] Left resulting profile. |
Swaps all data of this profile with the specified one.
rAnother | [in] Profile to swap with. |
Result FacetModeler::Profile2D::transformBy | ( | const OdGeMatrix2d & | mMatrix, |
const DeviationParams & | devDeviation = FMGeGbl::gDefDev |
||
) |
Transforms all contours.
|
static |
An empty static profile.
Definition at line 403 of file FMProfile2D.h.