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

#include <FMContour3D.h>

Inheritance diagram for FacetModeler::Contour3D:
FacetModeler::Contour2D FacetModeler::Wrapper3D

Public Member Functions

 Contour3D ()
 
 Contour3D (const Contour2D &rFrom2d, const OdGeMatrix3d &rMatrix=OdGeMatrix3d::kIdentity)
 
 Contour3D (const Contour2D &rFrom2d, const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis)
 
 Contour3D (const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis, const OdGePoint3d &ptOrigin=OdGePoint3d::kOrigin)
 
 Contour3D (const OdGePlane &rPlane)
 
Result transformBy (const OdGeMatrix2d &mMatrix)
 
Result transformBy (const OdGeMatrix3d &geMatrix)
 
Result getPoint3DAt (OdUInt32 iIndex, OdGePoint3d &ptPoint3D) const
 
Result getPoint3D (double dParam, OdGePoint3d &ptPoint3D) const
 
Result getTangent3D (double dParam, OdGeVector3d &vTangent3D) const
 
 ~Contour3D ()
 
- Public Member Functions inherited from FacetModeler::Contour2D
 Contour2D ()
 
 Contour2D (ContourImplClass eImplClass)
 
 Contour2D (const IBulgeSeg2D &rSrcSeg, ContourImplClass eImplClass=ecicSimple)
 
 Contour2D (const Contour2D &rSrcCont, ContourImplClass eImplClass=ecicSimple)
 
 Contour2D (const IContour2D &rSrcCont, ContourImplClass eImplClass=ecicSimple)
 
 Contour2D (const OdGeExtents2d &ext)
 
Contour2Doperator= (const Contour2D &rSrcCont)
 
Contour2Doperator= (const IContour2D &rSrcCont)
 
Contour2DcloneFrom (const IContour2D &rSrcCont)
 
Contour2Dreset (ContourImplClass eImplClass=ecicUnknown)
 
ContourImplClass implClass () const
 
void swap (Contour2D &rAnother)
 
bool isClosed () const
 
bool isEndsEqual (const OdGeTol &gTol=FMGeGbl::gTol) const
 
void setClosed (bool bClosed=true)
 
bool isEmpty () const
 
OdUInt32 numVerts () const
 
OdUInt32 numSegments () const
 
bool hasArcs () const
 
SegmentType segmentType (OdUInt32 iIndex) const
 
Result getSegmentAt (OdUInt32 iIndex, Segment2D &rSegment) const
 
Result getSegmentAt (OdUInt32 iIndex, OdGePoint2d &ptStart, OdGePoint2d &ptEnd, double &dBulge) const
 
Result getLineSegAt (OdUInt32 iIndex, OdGeLineSeg2d &geLine) const
 
Result getArcSegAt (OdUInt32 iIndex, OdGeCircArc2d &geArc) const
 
Result getPointAt (OdUInt32 iIndex, OdGePoint2d &ptPoint) const
 
Result getBulgeAt (OdUInt32 iIndex, double &dBulge) const
 
Result getVertexAt (OdUInt32 iIndex, OdGePoint2d *pPoint, double *pBulge=NULL, OdIntPtr *pMetadata=NULL, OdUInt32 *puRawFlags=NULL) const
 
Result getInternalAngleAt (OdUInt32 iIndex, double &dAngle) const
 
Result setPointAt (OdUInt32 iIndex, const OdGePoint2d &ptPoint)
 
Result setBulgeAt (OdUInt32 iIndex, double dBulge)
 
Result setVertexAt (OdUInt32 iIndex, const OdGePoint2d &ptPoint, double dBulge)
 
void reserveVertices (OdUInt32 iReservedSize)
 
OdIntPtr metadataAt (OdUInt32 iIndex) const
 
Result setMetadataAt (OdUInt32 iIndex, OdIntPtr iNewData)
 
Result setAllMetadata (OdIntPtr iNewData, OdIntPtr iBitsToModify=(OdIntPtr) -1)
 
bool isHiddenAt (OdUInt32 iIndex) const
 
Result setHiddenAt (OdUInt32 iIndex, bool bHidden=true)
 
FaceOrientation orientationAt (OdUInt32 iIndex) const
 
Result setOrientationAt (OdUInt32 iIndex, FaceOrientation eOrientation)
 
bool threatAsSmoothCurveAt (OdUInt32 iIndex) const
 
void setThreatAsSmoothCurveAt (OdUInt32 iIndex, bool bSmooth)
 
bool isExplodedArcAt (OdUInt32 iIndex) const
 
Result setExplodedArcAt (OdUInt32 iIndex, bool bExplodedArc=true)
 
OdUInt32 rawFlagsAt (OdUInt32 iIndex) const
 
Result setRawFlagsAt (OdUInt32 iIndex, OdUInt32 iRawFlags)
 
Result addVertexAt (OdUInt32 iIndex, const OdGePoint2d &ptStart, double dBulge=0.0, OdIntPtr uMetadata=0, OdUInt32 uRawFlags=0)
 
Result appendVertex (const OdGePoint2d &ptStart, double dBulge=0.0, OdIntPtr uMetadata=0, OdUInt32 uRawFlags=0)
 
Result appendVertex (const OdGePoint2d &ptStart, const OdGePoint2d &ptMid, OdIntPtr uMetadata=0, OdUInt32 uRawFlags=0)
 
Result appendVertices (const OdGePoint2dArray &vecSource)
 
Result appendVertices (OdUInt32 size, const OdGePoint2d *vecSource, const double *bulgeSource=NULL)
 
Result appendSegment (const Segment2D &rSeg, bool bShiftToHit=false)
 
Result appendContour (const Contour2D &rCont, bool bCloseGap=false, double dMaxGap=1e99)
 
Result removeVertexAt (OdUInt32 iIndex)
 
Result getStartPoint (OdGePoint2d &ptPoint) const
 
Result getEndPoint (OdGePoint2d &ptPoint) const
 
Result getTangent (double dParam, OdGeVector2d &vTangent) const
 
Result getTangentAtDist (double dDist, OdGeVector2d &vTangent) const
 
Result getPoint (double dParam, OdGePoint2d &ptPoint) const
 
Result getPointAtDist (double dDist, OdGePoint2d &ptPoint) const
 
Result getDistAtParam (double dParam, double &dDist) const
 
Result getParamAtDist (double dDist, double &dParam) const
 
Result getNormalizedParam (double &dParam) const
 
Result getNormalizedDist (double &dDist) const
 
bool areEqualParams (double dParam1, double dParam2, double dParamTol=1e-10) const
 
bool areEqualDists (double dDist1, double dDist2, double dTol=1e-6) const
 
Result addExtents (OdGeExtents2d &extExtents) const
 
double startParam () const
 
double endParam () const
 
double length () const
 
double area () const
 
double signedArea () const
 
bool isConvex () const
 
bool isCCW () const
 
void makeCCW (bool bCCW=true)
 
bool isOn (const OdGePoint2d &ptTest, double *pParam=NULL, const OdGeTol &gTol=FMGeGbl::gTol) const
 
double nearestParam (const OdGePoint2d &ptTest, OdGePoint2d *ptNearest=NULL) const
 
bool contains (const OdGePoint2d &ptPoint, bool *pOnBorder=NULL, const OdGeTol &gTol=FMGeGbl::gTol) const
 
bool isSelfIntersecting (const OdGeTol &gTol=FMGeGbl::gTol, bool bExcludeTouch=false) const
 
bool isValidRegion (const OdGeTol &gTol=FMGeGbl::gTol) const
 
bool isInsideContour (const Contour2D &c2dOuter, bool fAllowBordersTouch=false, const OdGeTol &gTol=FMGeGbl::gTol) const
 
OdUInt32 intersect (const Segment2D &rSegB, std::vector< Intersection > &vecPoints, const OdGeTol &gTol=FMGeGbl::gTol) const
 
OdUInt32 intersect (const Contour2D &rContB, std::vector< Intersection > &vecPoints, const OdGeTol &gTol=FMGeGbl::gTol) const
 
OdUInt32 intersectLine (const OdGeLine2d &rLine, std::vector< Intersection > &vecPoints, const OdGeTol &gTol=FMGeGbl::gTol) const
 
Result transformBy (const OdGeMatrix2d &mMatrix, const DeviationParams &devDeviation=FMGeGbl::gDefDev)
 
void reverse ()
 
void deleteCoincident (const OdGeTol &gTol=FMGeGbl::gTol)
 
void mergeSegments (int iMergeFlags=0, const OdGeTol &gTol=FMGeGbl::gTol)
 
Result explode (const DeviationParams &devDeviation=FMGeGbl::gDefDev, OdIntPtr uArcMetadata=0)
 
Result explodeTo (Contour2D &rDestCont, const DeviationParams &devDeviation=FMGeGbl::gDefDev, OdIntPtr uArcMetadata=0) const
 
OdUInt32 createVertexAt (double dParam, const OdGeTol &gTol=FMGeGbl::gTol)
 
OdUInt32 createVertexAtDist (double dDist, const OdGeTol &gTol=FMGeGbl::gTol)
 
Result createVerticesAt (const std::vector< double > &vecParams, const OdGeTol &gTol=FMGeGbl::gTol)
 
Result createVerticesAt (OdUInt32 size, const double *vecParams, const OdGeTol &gTol=FMGeGbl::gTol)
 
Result getSubContour (double dStartParam, double dEndParam, Contour2D &rSubContour, const OdGeTol &gTol=FMGeGbl::gTol) const
 
Result getOffsetProfile (double dOffset, Profile2D &rResult, FilletType eFilletType=eftExtend, const OdGeTol &gTol=FMGeGbl::gTol) const
 
Result getProfileByOffsets (const std::vector< double > &adOffset, Profile2D &rResult, const OdGeTol &gTol=FMGeGbl::gTol) const
 
bool traverse (Contour2DTraversingReactor &reactor) const
 
void getGeomExtens (OdGeExtents2d &extens)
 
 ~Contour2D ()
 
 operator const IContour2D & () const
 
 operator IContour2D & ()
 
const IContour2Dimpl () const
 
IContour2Dimpl ()
 
- Public Member Functions inherited from FacetModeler::Wrapper3D
 Wrapper3D ()
 
 Wrapper3D (const OdGeMatrix3d &rMatrix)
 
 Wrapper3D (const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis, const OdGePoint3d &ptOrigin=OdGePoint3d::kOrigin)
 
 Wrapper3D (const OdGePlane &rPlane)
 
OdGePlane plane () const
 
const OdGeMatrix3dtransform () const
 
const OdGeMatrix3dinversedTransform () const
 
Result setTransform (const OdGeMatrix3d &mTransform)
 
Result setTransform (const OdGeVector3d &vXAxis, const OdGeVector3d &vYAxis, const OdGePoint3d &ptOrigin=OdGePoint3d::kOrigin)
 
Result transformBy (const OdGeMatrix3d &mMatrix)
 
void to3D (const OdGePoint2d &rSource2D, OdGePoint3d &rDest3D) const
 
void to3D (const OdGeVector2d &rSource2D, OdGeVector3d &rDest3D) const
 
Result to2D (const OdGePoint3d &rSource3D, OdGePoint2d &rDest2D) const
 
Result to2D (const OdGeVector3d &rSource3D, OdGeVector2d &rDest2D) const
 
void swap (Wrapper3D &rAnother)
 

Additional Inherited Members

- Static Public Member Functions inherited from FacetModeler::Contour2D
static Contour2D createCircle (const OdGePoint2d &center, double radius)
 
static Contour2D createSquare (const OdGePoint2d &center, double side)
 
- Static Public Attributes inherited from FacetModeler::Contour2D
static FMGEOMETRY_API_STATIC const Contour2D kNull
 

Detailed Description

2D contour in 3D space.

Remarks
Contains a 2D contour and 3D transformation matrix.

Definition at line 39 of file FMContour3D.h.

Constructor & Destructor Documentation

◆ Contour3D() [1/5]

FacetModeler::Contour3D::Contour3D ( )

Default constructor.

◆ Contour3D() [2/5]

FacetModeler::Contour3D::Contour3D ( const Contour2D rFrom2d,
const OdGeMatrix3d rMatrix = OdGeMatrix3d::kIdentity 
)
explicit

Constructor. Creates a Contour3D object with the specified 2D contour and transformation matrix.

Parameters
rFrom2d[in] 2D contour.
rMatrix[in] Transformation matrix.

◆ Contour3D() [3/5]

FacetModeler::Contour3D::Contour3D ( const Contour2D rFrom2d,
const OdGeVector3d vXAxis,
const OdGeVector3d vYAxis 
)
explicit

Constructor. Creates a Contour3D object with the specified 2D contour and plane axes.

Parameters
rFrom2d[in] 2D contour.
vXAxis[in] Plane X axis as OdGeVector3d.
vYAxis[in] Plane Y axis as OdGeVector3d.

◆ Contour3D() [4/5]

FacetModeler::Contour3D::Contour3D ( const OdGeVector3d vXAxis,
const OdGeVector3d vYAxis,
const OdGePoint3d ptOrigin = OdGePoint3d::kOrigin 
)
explicit

Constructor. Creates a Contour3D object with the specified plane axes and origin point.

Parameters
vXAxis[in] Plane X axis as OdGeVector3d.
vYAxis[in] Plane Y axis as OdGeVector3d.
ptOrigin[in] Origin of the plane as an OdGePoint3d object.

◆ Contour3D() [5/5]

FacetModeler::Contour3D::Contour3D ( const OdGePlane rPlane)
explicit

Constructor. Creates a Contour3D object with the specified plane.

Parameters
rPlane[in] Plane as an OdGePlane object.

◆ ~Contour3D()

FacetModeler::Contour3D::~Contour3D ( )

Destructor.

Member Function Documentation

◆ getPoint3D()

Result FacetModeler::Contour3D::getPoint3D ( double  dParam,
OdGePoint3d ptPoint3D 
) const

Gets a 3D point at the specified parameter.

Parameters
dParam[in] Point parameter.
ptPoint3D[in] Resulting point.
Returns
eOk if the point calculation succeeded, or a corresponding error type otherwise.

◆ getPoint3DAt()

Result FacetModeler::Contour3D::getPoint3DAt ( OdUInt32  iIndex,
OdGePoint3d ptPoint3D 
) const

Gets a 3D point of the contour at the specified index.

Parameters
iIndex[in] Vertex index.
ptPoint3D[out] Resulting point.
Returns
eOk if the point calculation succeeded, or a corresponding error type otherwise.

◆ getTangent3D()

Result FacetModeler::Contour3D::getTangent3D ( double  dParam,
OdGeVector3d vTangent3D 
) const

Gets a 3D tangent vector at the specified parameter.

Parameters
dParam[in] Point parameter.
vTangent3D[out] Calculated tangent vector at dParam.
Returns
eOk if the tangent calculation succeeded, or a corresponding error type otherwise.

◆ transformBy() [1/2]

Result FacetModeler::Contour3D::transformBy ( const OdGeMatrix2d mMatrix)

Applies the specified transformation matrix (transforms all points of the contour).

Parameters
mMatrix[in] 2D transformation matrix.
Returns
eOk if the transformation succeeded, or a corresponding error type otherwise.

◆ transformBy() [2/2]

Result FacetModeler::Contour3D::transformBy ( const OdGeMatrix3d geMatrix)

Applies the specified transformation matrix (transforms the Wrapper3D matrix).

Parameters
geMatrix[in] 3D transformation matrix.
Returns
eOk if the transformation succeeded, or a corresponding error type otherwise.

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