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

#include <GeEllipArc3d.h>

Inheritance diagram for OdGeEllipArc3d:
OdGeCurve3d OdGeEntity3d

Public Member Functions

 OdGeEllipArc3d ()
 
 OdGeEllipArc3d (const OdGeEllipArc3d &ell)
 
 OdGeEllipArc3d (const OdGeCircArc3d &source)
 
 OdGeEllipArc3d (const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius)
 
 OdGeEllipArc3d (const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
 
OdGePoint3d closestPointToPlane (const OdGePlanarEnt &plane, OdGePoint3d &pointOnPlane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool intersectWith (const OdGeLinearEnt3d &line, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
 
bool intersectWith (const OdGePlanarEnt &plane, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
 
bool projIntersectWith (const OdGeLinearEnt3d &line, const OdGeVector3d &projDir, int &numInt, OdGePoint3d &pntOnEllipse1, OdGePoint3d &pntOnEllipse2, OdGePoint3d &pntOnLine1, OdGePoint3d &pntOnLine2, const OdGeTol &tol=OdGeContext::gTol) const
 
void getPlane (OdGePlane &plane) const
 
bool isCircular (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isInside (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d center () const
 
double minorRadius () const
 
double majorRadius () const
 
OdGeVector3d minorAxis () const
 
OdGeVector3d majorAxis () const
 
OdGeVector3d normal () const
 
double startAng () const
 
double endAng () const
 
OdGePoint3d startPoint () const
 
OdGePoint3d endPoint () const
 
OdGeEllipArc3dsetCenter (const OdGePoint3d &center)
 
OdGeEllipArc3dsetMinorRadius (double rad)
 
OdGeEllipArc3dsetMajorRadius (double rad)
 
OdGeEllipArc3dsetAxes (const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis)
 
OdGeEllipArc3dsetAngles (double startAng, double endAng)
 
OdGeEllipArc3dset (const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius)
 
OdGeEllipArc3dset (const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
 
OdGeEllipArc3dset (const OdGeCircArc3d &arc)
 
OdGeEllipArc3doperator= (const OdGeEllipArc3d &ell)
 
void orthogonalizeAxes (const OdGeTol &tol, OdGe::ErrorCondition &flag)
 
void orthogonalizeAxes (const OdGeTol &tol=OdGeContext::gTol)
 
OdGeVector3d tangentAt (double param) const
 
void getGeomExtents (OdGeExtents3d &extents) const
 
OdResult inverseTangent (const OdGeVector3d &tan, OdGeDoubleArray &params) const
 
OdResult inverseTangentPlane (const OdGePlane &refPlane, OdGeDoubleArray &params) const
 
OdGeEllipArc3djoinWith (const OdGeEllipArc3d &curve, const OdGeTol &iTolerance=OdGeContext::gTol)
 
- Public Member Functions inherited from OdGeCurve3d
void getInterval (OdGeInterval &interval) const
 
void getInterval (OdGeInterval &interval, OdGePoint3d &start, OdGePoint3d &end) const
 
OdGeCurve3dreverseParam ()
 
OdGeCurve3dsetInterval ()
 
bool setInterval (const OdGeInterval &interval)
 
double distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGeCurve3d &curve, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGeCurve3d &curve, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, double &param, const OdGeInterval *range, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGeCurve3d &curve, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d projClosestPointTo (const OdGePoint3d &point, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d projClosestPointTo (const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getProjClosestPointTo (const OdGePoint3d &point, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
void getProjClosestPointTo (const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getNormalPoint (const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeBoundBlock3d boundBlock () const
 
OdGeBoundBlock3d boundBlock (const OdGeInterval &range) const
 
OdGeBoundBlock3d orthoBoundBlock () const
 
OdGeBoundBlock3d orthoBoundBlock (const OdGeInterval &range) const
 
OdGeExtents3d getGeomExtents (const OdGeInterval &range=OdGeInterval(), const OdGeMatrix3d *coordSystem=NULL) const
 
OdGeEntity3dproject (const OdGePlane &projectionPlane, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dorthoProject (const OdGePlane &projectionPlane, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, double &param, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isOn (double param, const OdGeTol &tol=OdGeContext::gTol) const
 
double paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
double paramOf (const OdGePoint3d &point, const OdGeInterval *range, const OdGeTol &tol=OdGeContext::gTol) const
 
void getTrimmedOffset (double distance, const OdGeVector3d &planeNormal, OdGeCurve3dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosed (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPlanar (OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isLinear (OdGeLine3d &line, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isCoplanarWith (const OdGeCurve3d &curve, OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isPeriodic (double &period) 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 (OdGeEntity3d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const
 
void getSplitCurves (double param, OdGeCurve3d *&piece1, OdGeCurve3d *&piece2) const
 
bool explode (OdGeCurve3dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurves, const OdGeInterval *pInterval=NULL) const
 
void getLocalClosestPoints (const OdGePoint3d &point, OdGePointOnCurve3d &approxPntOnThisCrv, const OdGeInterval *pInterval1=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
void getLocalClosestPoints (const OdGeCurve3d &curve, OdGePointOnCurve3d &approxPntOnThisCrv, OdGePointOnCurve3d &approxPntOnOtherCrv, const OdGeInterval *pInterval1=NULL, const OdGeInterval *pInterval2=NULL, const OdGeTol &tol=OdGeContext::gTol) const
 
bool hasStartPoint (OdGePoint3d &startPoint) const
 
bool hasEndPoint (OdGePoint3d &endPoint) const
 
bool hasMidPoint (OdGePoint3d &point, double coef=0.5) const
 
OdGePoint3d midPoint (double coef=0.5) const
 
OdGePoint3d evalPoint (double param) const
 
OdGePoint3d evalPoint (double param, int numDeriv, OdGeVector3dArray &derivatives) const
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray &paramArray, bool forceResampling=false) const
 
void getSamplePoints (int numSample, OdGePoint3dArray &pointArray) const
 
void getSamplePoints (int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray &paramArray) const
 
OdGeCurve3doperator= (const OdGeCurve3d &curve)
 
void getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *paramArray=NULL) const
 
void getSamplePoints (const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
void appendSamplePoints (const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
 
OdGeCurve2dconvertTo2d (const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false) const
 
- 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 OdGeCurve3d
 OdGeCurve3d ()
 
 OdGeCurve3d (const OdGeCurve3d &source)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class represents 3D elliptical arcs and full ellipses in 3D 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 the ellipse and a vector from the center of the ellipse to the intersection point with the circle, measured counterclockwise about the crossproduct of the major and minor axes, is the angle of the point on the ellipse.

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeEllipArc3d, Working with Elliptical Arcs>

Definition at line 57 of file GeEllipArc3d.h.

Constructor & Destructor Documentation

◆ OdGeEllipArc3d() [1/5]

OdGeEllipArc3d::OdGeEllipArc3d ( )

Default constructor for objects of the OdGeEllipArc3d class. Constructs an elliptical arc in the XY plane (normal vector (0.0, 0.0, 1.0)) with center (0.0, 0.0, 0.0), major and minor radii set to 1.0, major axis set to (1.0, 0.0, 0.0) and minor axis set to (0.0, 1.0, 0.0).

◆ OdGeEllipArc3d() [2/5]

OdGeEllipArc3d::OdGeEllipArc3d ( const OdGeEllipArc3d ell)

Copy constructor for objects of the OdGeEllipArc3d class.

Parameters
ell[in] Input elliptical arc to be copied.

◆ OdGeEllipArc3d() [3/5]

OdGeEllipArc3d::OdGeEllipArc3d ( const OdGeCircArc3d source)

Constructor for objects of the OdGeEllipArc3d class.

Parameters
source[in] Input circular arc to be copied.

◆ OdGeEllipArc3d() [4/5]

OdGeEllipArc3d::OdGeEllipArc3d ( const OdGePoint3d center,
const OdGeVector3d majorAxis,
const OdGeVector3d minorAxis,
double  majorRadius,
double  minorRadius 
)

Constructor for the OdGeEllipArc3d class.

Parameters
center[in] Center of the elliptical arc.
majorAxis[in] Major axis of the elliptical arc.
minorAxis[in] Minor axis of the elliptical arc.
majorRadius[in] Major radius of the elliptical arc.
minorRadius[in] Minor radius of the elliptical arc.

◆ OdGeEllipArc3d() [5/5]

OdGeEllipArc3d::OdGeEllipArc3d ( const OdGePoint3d center,
const OdGeVector3d majorAxis,
const OdGeVector3d minorAxis,
double  majorRadius,
double  minorRadius,
double  startAng,
double  endAng 
)

Constructor for objects of the OdGeEllipArc3d class.

Parameters
center[in] Center of the elliptical arc.
majorAxis[in] Major axis of the elliptical arc.
minorAxis[in] Minor axis of the elliptical arc.
majorRadius[in] Major radius of the elliptical arc.
minorRadius[in] Minor radius of the elliptical arc.
startAng[in] Start angle of the elliptical arc.
endAng[in] End angle of the elliptical arc.

Member Function Documentation

◆ center()

OdGePoint3d OdGeEllipArc3d::center ( ) const

Returns the center of this elliptical arc.

Returns
An instance of the OdGePoint3d class.

◆ closestPointToPlane()

OdGePoint3d OdGeEllipArc3d::closestPointToPlane ( const OdGePlanarEnt plane,
OdGePoint3d pointOnPlane,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns the point on the elliptical arc that is closest to the specified plane and the point on the specified plane that is closest to the elliptical arc.

Parameters
plane[in] A plane to which a closest point is calculated.
pointOnPlane[out] Receives the closest point on the plane.
tol[in] Geometric tolerance.
Returns
An instance of the OdGePoint3d class.

◆ endAng()

double OdGeEllipArc3d::endAng ( ) const

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

Returns
A double value that represents an end angle.
Remarks
All angles are expressed in radians.
The result of this method should not be used as a curve parameter. The angles and its corresponding parameter may differ.

◆ endPoint()

OdGePoint3d OdGeEllipArc3d::endPoint ( ) const

Returns the end point of this elliptical arc.

Returns
An instance of the OdGePoint3d class.

◆ getGeomExtents()

void OdGeEllipArc3d::getGeomExtents ( OdGeExtents3d extents) const

Returns the geometric extents of this elliptical arc.

Parameters
extents[out] Receives the geometric extents.

◆ getPlane()

void OdGeEllipArc3d::getPlane ( OdGePlane plane) const

Receives the plane of the ellipse.

Parameters
plane[out] A plane on which elliptical arc resides.

◆ intersectWith() [1/2]

bool OdGeEllipArc3d::intersectWith ( const OdGeLinearEnt3d line,
int &  numInt,
OdGePoint3d p1,
OdGePoint3d p2,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if the specified linear entity intersects the arc entity and returns the number of intersections and points of the intersection.

Parameters
line[in] A 3D linear entity with which the intersection is calculated.
numInt[out] Receives the number of intersections.
p1[out] Receives the first intersection point of the elliptical arc.
p2[out] Receives the second intersection point of the elliptical arc.
tol[in] Geometric tolerance.
Returns
A boolean value that indicates whether a line intersects with the arc.
Remarks
p1 is valid only if numInt > 0. p2 is valid only if numInt > 1.

◆ intersectWith() [2/2]

bool OdGeEllipArc3d::intersectWith ( const OdGePlanarEnt plane,
int &  numInt,
OdGePoint3d p1,
OdGePoint3d p2,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if the specifed plane or linear entity intersects the elliptical arc entity and returns the number of intersections and points of intersection.

Parameters
plane[in] A plane entity with which the intersection is calculated.
numInt[out] Receives the number of intersections.
p1[out] Receives the first intersection point on the elliptical arc.
p2[out] Receives the second intersection point on the elliptical arc.
tol[in] Geometric tolerance.
Returns
A boolean value that indicates whether a plane intersects with an arc.
Remarks
p1 has meaning only if numInt > 0. p2 has meaning only if numInt > 1.

◆ inverseTangent()

OdResult OdGeEllipArc3d::inverseTangent ( const OdGeVector3d 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().

◆ inverseTangentPlane()

OdResult OdGeEllipArc3d::inverseTangentPlane ( const OdGePlane refPlane,
OdGeDoubleArray params 
) const

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

Parameters
refPlane[in] A reference plane.
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 OdGeEllipArc3d::isCircular ( const OdGeTol tol = OdGeContext::gTol) const

Returns true if and only if the major and minor radii of the ellipse are the same within the specified tolerance.

Parameters
tol[in] Geometric tolerance.
Returns
A boolean value that indicates whether a given arc is circular.

◆ isInside()

bool OdGeEllipArc3d::isInside ( const OdGePoint3d point,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if and only if the specified point lies within the full ellipse, and on the plane of the ellipse.

Parameters
point[in] A 3D point to be tested whether it lies on the elliptical arc.
tol[in] Geometric tolerance.
Returns
A boolean value that indicates whether a given point is inside the full ellipse.

◆ joinWith()

OdGeEllipArc3d & OdGeEllipArc3d::joinWith ( const OdGeEllipArc3d curve,
const OdGeTol iTolerance = OdGeContext::gTol 
)

Attaches the specified curve to this elliptical arc.

Parameters
curve[in] Elliptical arc to join.
iTolerance[in] Tolerance for comparisons.
Returns
Reference to the recomputed elliptical arc.
Remarks
Curves should not overlap. Elliptical arcs should have the same center, co-directional normals and the corresponding radii equal. The starting point of the join curve should coincide with the end point of this curve. If these conditions are not met, this method raises the eInvalidInput error.
If the ellipses are circles (isCircular(tol)), then the angle between the corresponding axes can be arbitrary. In general case, only the n * OdaPI angle is allowed. If the end of the passed arc coincides with the beginning of this arc, the result will be a closed curve.

◆ majorAxis()

OdGeVector3d OdGeEllipArc3d::majorAxis ( ) const

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

Returns
An instance of the OdGeVector3d class.

◆ majorRadius()

double OdGeEllipArc3d::majorRadius ( ) const

Returns the major radius of this elliptical arc.

Returns
A double value that represents a major radius.

◆ minorAxis()

OdGeVector3d OdGeEllipArc3d::minorAxis ( ) const

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

Returns
An instance of the OdGeVector3d class.

◆ minorRadius()

double OdGeEllipArc3d::minorRadius ( ) const

Returns the minor radius of this elliptical arc.

Returns
A double value that represents a minor radius.

◆ normal()

OdGeVector3d OdGeEllipArc3d::normal ( ) const

Returns the normal to this elliptical arc as a unit vector.

Returns
An instance of the OdGeVector3d class.
Remarks
Positive angles are always drawn counterclockwise about this vector.

◆ operator=()

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

Assignment operator for the OdGeEllipArc3d object.

Parameters
ell[in] Elliptical arc to assign.
Returns
Reference to this OdGeEllipArc3d object.

◆ orthogonalizeAxes() [1/2]

void OdGeEllipArc3d::orthogonalizeAxes ( const OdGeTol tol,
OdGe::ErrorCondition flag 
)

Makes the minor axis orthogonal to the major axis.

Parameters
tol[in] Geometric tolerance.
flag[out] Receives the status of computation.
Remarks
Possible values for flag are as follows:

kOk kDegenerateGeometry

If flag is not specified, the following exception may be thrown:

Throws:

eDegenerateGeometry

◆ orthogonalizeAxes() [2/2]

void OdGeEllipArc3d::orthogonalizeAxes ( const OdGeTol tol = OdGeContext::gTol)

Makes the minor axis orthogonal to the major axis.

Parameters
tol[in] Geometric tolerance.
Remarks
The following exception may be thrown:

Throws:

eDegenerateGeometry

◆ projIntersectWith()

bool OdGeEllipArc3d::projIntersectWith ( const OdGeLinearEnt3d line,
const OdGeVector3d projDir,
int &  numInt,
OdGePoint3d pntOnEllipse1,
OdGePoint3d pntOnEllipse2,
OdGePoint3d pntOnLine1,
OdGePoint3d pntOnLine2,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if the projected points of the elliptical arc intersect with the specified linear entity and returns the number of intersections and points of intersection.

Parameters
line[in] A 3D linear entity with which the intersection is calculated.
projDir[in] Projection direction.
numInt[out] Receives the number of intersections.
pntOnEllipse1[out] Receives the first intersection point on the elliptical arc.
pntOnEllipse2[out] Receives the second intersection point on the elliptical arc.
pntOnLine1[out] Receives the first intersection point on the line.
pntOnLine2[out] Receives the second intersection point on the line.
tol[in] Geometric tolerance.
Returns
A boolean value that indicates whether projected points of the elliptical arc intersect with a given line.

◆ set() [1/3]

OdGeEllipArc3d & OdGeEllipArc3d::set ( const OdGeCircArc3d arc)

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

Parameters
arc[in] A 3D circular arc with the parameters to be copied.
Returns
Reference to this OdGeEllipArc3d object.

◆ set() [2/3]

OdGeEllipArc3d & OdGeEllipArc3d::set ( const OdGePoint3d center,
const OdGeVector3d majorAxis,
const OdGeVector3d 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] Center of the elliptical arc.
majorAxis[in] Major axis of the elliptical arc.
minorAxis[in] Minor axis of the elliptical arc.
majorRadius[in] Major radius of the elliptical arc.
minorRadius[in] Minor radius of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.

◆ set() [3/3]

OdGeEllipArc3d & OdGeEllipArc3d::set ( const OdGePoint3d center,
const OdGeVector3d majorAxis,
const OdGeVector3d 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] Center of the elliptical arc.
majorAxis[in] Major axis of the elliptical arc.
minorAxis[in] Minor axis of the elliptical arc.
majorRadius[in] Major radius of the elliptical arc.
minorRadius[in] Minor radius of the elliptical arc.
startAng[in] Starting angle of the elliptical arc.
endAng[in] Ending angle of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.
Remarks
All angles are expressed in radians.

◆ setAngles()

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

Sets the starting and ending angles of the elliptical arc.

Parameters
startAng[in] Starting angle of the elliptical arc.
endAng[in] Ending angle of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.
Remarks
All angles are expressed in radians.

◆ setAxes()

OdGeEllipArc3d & OdGeEllipArc3d::setAxes ( const OdGeVector3d majorAxis,
const OdGeVector3d minorAxis 
)

Sets the major and minor axes of the elliptical arc.

Parameters
majorAxis[in] Major axis of the elliptical arc.
minorAxis[in] Minor axis of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.

◆ setCenter()

OdGeEllipArc3d & OdGeEllipArc3d::setCenter ( const OdGePoint3d center)

Sets the center of the elliptical arc.

Parameters
center[in] Center of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.

◆ setMajorRadius()

OdGeEllipArc3d & OdGeEllipArc3d::setMajorRadius ( double  rad)

Sets the major radius of the elliptical arc.

Parameters
rad[in] Major radius of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.

◆ setMinorRadius()

OdGeEllipArc3d & OdGeEllipArc3d::setMinorRadius ( double  rad)

Sets the minor radius of the elliptical arc.

Parameters
rad[in] Minor radius of the elliptical arc.
Returns
Reference to this OdGeEllipArc3d object.

◆ startAng()

double OdGeEllipArc3d::startAng ( ) const

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

Returns
A double value that represents a start angle.
Remarks
All angles are expressed in radians.
The result of this method should not be used as a curve parameter. The angles and its corresponding parameter may differ.

◆ startPoint()

OdGePoint3d OdGeEllipArc3d::startPoint ( ) const

Returns the start point of this elliptical arc.

Returns
An instance of the OdGePoint3d class.

◆ tangentAt()

OdGeVector3d OdGeEllipArc3d::tangentAt ( double  param) const

Returns the tangent vector at the point specified by param.

Parameters
param[in] Parameter corresponding to the point at which to compute the tangent.

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