CFx SDK Documentation  2020SP3
Public Member Functions | List of all members
OdGeEllipArc2d Class Reference

#include <GeEllipArc2d.h>

Inheritance diagram for OdGeEllipArc2d:
OdGeCurve2d OdGeEntity2d

Public Member Functions

 OdGeEllipArc2d ()
 
 OdGeEllipArc2d (const OdGeEllipArc2d &ell)
 
 OdGeEllipArc2d (const OdGeCircArc2d &arc)
 
 OdGeEllipArc2d (const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius)
 
 OdGeEllipArc2d (const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
 
bool intersectWith (const OdGeLinearEnt2d &line, int &numInt, OdGePoint2d &p1, OdGePoint2d &p2, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isCircular (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isInside (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint2d center () const
 
double minorRadius () const
 
double majorRadius () const
 
OdGeVector2d minorAxis () const
 
OdGeVector2d majorAxis () const
 
double startAng () const
 
double endAng () const
 
OdGePoint2d startPoint () const
 
OdGePoint2d endPoint () const
 
bool isClockWise () const
 
OdGeEllipArc2dsetCenter (const OdGePoint2d &center)
 
OdGeEllipArc2dsetMinorRadius (double rad)
 
OdGeEllipArc2dsetMajorRadius (double rad)
 
OdGeEllipArc2dsetAxes (const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis)
 
OdGeEllipArc2dsetAngles (double startAng, double endAng)
 
OdGeEllipArc2dset (const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius)
 
OdGeEllipArc2dset (const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
 
OdGeEllipArc2dset (const OdGeCircArc2d &arc)
 
OdGeEllipArc2doperator= (const OdGeEllipArc2d &ell)
 
void getGeomExtents (OdGeExtents2d &extents) const
 
void inverseTangent (OdGeVector2d tan, OdGeDoubleArray &params) const
 
- Public Member Functions inherited from OdGeCurve2d
void getInterval (OdGeInterval &interval) const
 
void getInterval (OdGeInterval &interval, OdGePoint2d &start, OdGePoint2d &end) const
 
OdGeCurve2dreverseParam ()
 
OdGeCurve2dsetInterval ()
 
bool setInterval (const OdGeInterval &interval)
 
double distanceTo (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGeCurve2d &otherCur, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint2d closestPointTo (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint2d closestPointTo (const OdGeCurve2d &curve2d, OdGePoint2d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint2d &point, OdGePointOnCurve2d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGeCurve2d &curve2d, OdGePointOnCurve2d &pntOnThisCrv, OdGePointOnCurve2d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getNormalPoint (const OdGePoint2d &point, OdGePointOnCurve2d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity2d::isOn)
 
bool isOn (const OdGePoint2d &point, double &param, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isOn (double param, const OdGeTol &tol=OdGeContext::gTol) const
 
double paramOf (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
void getTrimmedOffset (double distance, OdGeCurve2dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosed (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPeriodic (double &period) const
 
bool isLinear (OdGeLine2d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
double length (double fromParam, double toParam, double tol=OdGeContext::gTol.equalPoint()) const
 
double length (double tol=OdGeContext::gTol.equalPoint()) const
 
double paramAtLength (double datumParam, double length, bool posParamDir=true, double tol=OdGeContext::gTol.equalPoint()) const
 
bool area (double startParam, double endParam, double &value, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDegenerate (OdGe::EntityId &degenerateType, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDegenerate (OdGeEntity2d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const
 
void getSplitCurves (double param, OdGeCurve2d *&piece1, OdGeCurve2d *&piece2) const
 
bool explode (OdGeCurve2dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurve, const OdGeInterval *interval=NULL) const
 
void getLocalClosestPoints (const OdGePoint2d &point, OdGePointOnCurve2d &approxPnt, const OdGeInterval *nbhd=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
void getLocalClosestPoints (const OdGeCurve2d &otherCurve, OdGePointOnCurve2d &approxPntOnThisCrv, OdGePointOnCurve2d &approxPntOnOtherCrv, const OdGeInterval *nbhd1=NULL, const OdGeInterval *nbhd2=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeBoundBlock2d boundBlock () const
 
OdGeBoundBlock2d boundBlock (const OdGeInterval &range) const
 
OdGeBoundBlock2d orthoBoundBlock () const
 
OdGeBoundBlock2d orthoBoundBlock (const OdGeInterval &range) const
 
bool hasStartPoint (OdGePoint2d &startPoint) const
 
bool hasEndPoint (OdGePoint2d &endPoint) const
 
OdGePoint2d evalPoint (double param) const
 
OdGePoint2d evalPoint (double param, int numDeriv, OdGeVector2dArray &derivatives) const
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray &paramArray) const
 
void getSamplePoints (int numSample, OdGePoint2dArray &pointArray) const
 
OdGeCurve2doperator= (const OdGeCurve2d &curve)
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (int numSample, OdGePoint2dArray &pointArray) const
 
- Public Member Functions inherited from OdGeEntity2d
 ODRX_HEAP_OPERATORS ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity2dcopy () const
 
OdGeEntity2doperator= (const OdGeEntity2d &entity)
 
bool operator== (const OdGeEntity2d &entity) const
 
bool operator!= (const OdGeEntity2d &entity) const
 
bool isEqualTo (const OdGeEntity2d &other, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity2dtransformBy (const OdGeMatrix2d &xfm)
 
OdGeEntity2dtranslateBy (const OdGeVector2d &translateVec)
 
OdGeEntity2drotateBy (double angle, const OdGePoint2d &basePoint=OdGePoint2d::kOrigin)
 
OdGeEntity2dmirror (const OdGeLine2d &line)
 
OdGeEntity2dscaleBy (double scaleFactor, const OdGePoint2d &basePoint=OdGePoint2d::kOrigin)
 
bool isOn (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
 ~OdGeEntity2d ()
 

Additional Inherited Members

- Protected Member Functions inherited from OdGeCurve2d
 OdGeCurve2d ()
 
 OdGeCurve2d (const OdGeCurve2d &source)
 
- Protected Member Functions inherited from OdGeEntity2d
 OdGeEntity2d ()
 
 OdGeEntity2d (const OdGeEntity2d &)
 
void connectTo (OdGeEntity2dImpl *)
 

Detailed Description

This class represents elliptical arcs and full ellipses in 2D space.

Remarks
The angle of a point on an ellipse is measured by projecting the point along a vector perpendicular to the major axis onto a circle whose center is the center of this ellipse and whose radius is the major radius of this ellipse.

The angle between the major axis of this ellipse, and a vector from the center of this ellipse to the intersection point with the circle, measured counterclockwise, is the angle of this point on the ellipse.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

  \sa

<link ge_OdGeEllipArc3d.html, Working with Elliptical Arcs>

Definition at line 57 of file GeEllipArc2d.h.

Constructor & Destructor Documentation

◆ OdGeEllipArc2d() [1/5]

OdGeEllipArc2d::OdGeEllipArc2d ( )
Parameters
center[in] The center of this elliptical arc.
majorAxis[in] The major axis of this elliptical arc.
minorAxis[in] The minor axis of this elliptical arc.
majorRadius[in] The major radius of this elliptical arc.
minorRadius[in] The minor radius of this elliptical arc.
startAng[in] Starting angle of this elliptical arc.
endAng[in] Ending angle of this elliptical arc.
source[in] Object to be cloned.
Remarks
All angles are expressed in radians.

◆ OdGeEllipArc2d() [2/5]

OdGeEllipArc2d::OdGeEllipArc2d ( const OdGeEllipArc2d ell)

◆ OdGeEllipArc2d() [3/5]

OdGeEllipArc2d::OdGeEllipArc2d ( const OdGeCircArc2d arc)

◆ OdGeEllipArc2d() [4/5]

OdGeEllipArc2d::OdGeEllipArc2d ( const OdGePoint2d center,
const OdGeVector2d majorAxis,
const OdGeVector2d minorAxis,
double  majorRadius,
double  minorRadius 
)

◆ OdGeEllipArc2d() [5/5]

OdGeEllipArc2d::OdGeEllipArc2d ( const OdGePoint2d center,
const OdGeVector2d majorAxis,
const OdGeVector2d minorAxis,
double  majorRadius,
double  minorRadius,
double  startAng,
double  endAng 
)

Member Function Documentation

◆ center()

OdGePoint2d OdGeEllipArc2d::center ( ) const

Returns the center of this elliptical arc.

◆ endAng()

double OdGeEllipArc2d::endAng ( ) const

Returns the end angle measured from major axis of this elliptical arc.

Remarks
All angles are expressed in radians.

◆ endPoint()

OdGePoint2d OdGeEllipArc2d::endPoint ( ) const

Returns the end point of this elliptical arc.

◆ getGeomExtents()

void OdGeEllipArc2d::getGeomExtents ( OdGeExtents2d extents) const

Returns the geometric extents of this elliptical arc.

Parameters
extents[out] Receives the geometric extents.

◆ intersectWith()

bool OdGeEllipArc2d::intersectWith ( const OdGeLinearEnt2d line,
int &  numInt,
OdGePoint2d p1,
OdGePoint2d p2,
const OdGeTol tol = OdGeContext::gTol 
) const

Determines if the input line intersects the ellipse.

Parameters
line[in] Input any 2D linear entity
intn[out] Output number of intersection points
p1[out] Output first intersection point
p2[out] Output second intersection point
tol[in] Output tolerance for tangent intersections

◆ inverseTangent()

void OdGeEllipArc2d::inverseTangent ( OdGeVector2d  tan,
OdGeDoubleArray params 
) const

Returns the parameters of the points (if any) on the elliptical arc, whose tangents are parallel to the specified tangent vector.

Parameters
tan[in] A vector defining the tangent direction.
params[out] Receives the array of tangent point parameters.
Remarks
The parameters are appended to the specified array. You may wish to initialize the params array with clear().

◆ isCircular()

bool OdGeEllipArc2d::isCircular ( const OdGeTol tol = OdGeContext::gTol) const

Determines if an ellipse is a circular arc.

Parameters
tol[in] Input tolerance

◆ isClockWise()

bool OdGeEllipArc2d::isClockWise ( ) const

Returns true if and only if this elliptical arc is drawn clockwise from start point to end point.

◆ isInside()

bool OdGeEllipArc2d::isInside ( const OdGePoint2d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if and only if the specified point lies within the full ellipse.

Parameters
point[in] Any 2D point.
tol[in] Geometric tolerance.

◆ majorAxis()

OdGeVector2d OdGeEllipArc2d::majorAxis ( ) const

Returns the major axis of this elliptical arc as a unit vector.

◆ majorRadius()

double OdGeEllipArc2d::majorRadius ( ) const

Returns the major radius of this elliptical arc.

◆ minorAxis()

OdGeVector2d OdGeEllipArc2d::minorAxis ( ) const

Returns the minor axis of this elliptical arc as a unit vector.

◆ minorRadius()

double OdGeEllipArc2d::minorRadius ( ) const

Returns the minor radius of this elliptical arc.

◆ operator=()

OdGeEllipArc2d& OdGeEllipArc2d::operator= ( const OdGeEllipArc2d ell)

◆ set() [1/3]

OdGeEllipArc2d& OdGeEllipArc2d::set ( const OdGeCircArc2d arc)

Sets the parameters for this elliptical arc according to the arguments, and returns a reference to this elliptical arc.

Parameters
arc[in] Any 2D circular arc.

◆ set() [2/3]

OdGeEllipArc2d& OdGeEllipArc2d::set ( const OdGePoint2d center,
const OdGeVector2d majorAxis,
const OdGeVector2d minorAxis,
double  majorRadius,
double  minorRadius 
)

Sets the parameters for this elliptical arc according to the arguments, and returns a reference to this elliptical arc.

Parameters
center[in] The center of this elliptical arc.
majorAxis[in] The major axis of this elliptical arc.
minorAxis[in] The minor axis of this elliptical arc.
majorRadius[in] The major radius of this elliptical arc.
minorRadius[in] The minor radius of this elliptical arc.

◆ set() [3/3]

OdGeEllipArc2d& OdGeEllipArc2d::set ( const OdGePoint2d center,
const OdGeVector2d majorAxis,
const OdGeVector2d minorAxis,
double  majorRadius,
double  minorRadius,
double  startAng,
double  endAng 
)

Sets the parameters for this elliptical arc according to the arguments, and returns a reference to this elliptical arc.

Parameters
center[in] The center of this elliptical arc.
majorAxis[in] The major axis of this elliptical arc.
minorAxis[in] The minor axis of this elliptical arc.
majorRadius[in] The major radius of this elliptical arc.
minorRadius[in] The minor radius of this elliptical arc.
startAng[in] Starting angle of this elliptical arc.
endAng[in] Ending angle of this elliptical arc.
Remarks
All angles are expressed in radians.

◆ setAngles()

OdGeEllipArc2d& OdGeEllipArc2d::setAngles ( double  startAng,
double  endAng 
)

Sets the starting and ending angles of this elliptical arc.

Parameters
startAng[in] Starting angle of this elliptical arc.
endAng[in] Ending angle of this elliptical arc.
Remarks
All angles are expressed in radians.

◆ setAxes()

OdGeEllipArc2d& OdGeEllipArc2d::setAxes ( const OdGeVector2d majorAxis,
const OdGeVector2d minorAxis 
)

Sets the major and minor axes of this elliptical arc.

Parameters
majorAxis[in] The major axis of this elliptical arc.
minorAxis[in] The minor axis of this elliptical arc.

◆ setCenter()

OdGeEllipArc2d& OdGeEllipArc2d::setCenter ( const OdGePoint2d center)

Sets the center of this elliptical arc.

Parameters
center[in] The center of this elliptical arc.

◆ setMajorRadius()

OdGeEllipArc2d& OdGeEllipArc2d::setMajorRadius ( double  rad)

Sets the major radius of this elliptical arc.

Parameters
majorRadius[in] The major radius of this elliptical arc.

◆ setMinorRadius()

OdGeEllipArc2d& OdGeEllipArc2d::setMinorRadius ( double  rad)

Sets the minor radius of this elliptical arc.

Parameters
minorRadius[in] The minor radius of this elliptical arc.

◆ startAng()

double OdGeEllipArc2d::startAng ( ) const

Returns the start angle measured from major axis of this elliptical arc.

Remarks
All angles are expressed in radians.

◆ startPoint()

OdGePoint2d OdGeEllipArc2d::startPoint ( ) const

Returns the start point of this elliptical arc.


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