CFx SDK Documentation  2022 SP0
Public Member Functions | List of all members
OdGeEllipCone Class Reference

#include <GeEllipCone.h>

Inheritance diagram for OdGeEllipCone:
OdGeSurface OdGeEntity3d

Public Member Functions

 OdGeEllipCone ()
 
 OdGeEllipCone (const OdGeEllipCone &)
 
 OdGeEllipCone (double cosineAngle, double sineAngle, const OdGePoint3d &origin, double minorRadius, double majorRadius, const OdGeVector3d &axisOfSymmetry)
 
 OdGeEllipCone (double cosineAngle, double sineAngle, const OdGePoint3d &baseOrigin, double minorRadius, double majorRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &majorAxis, const OdGeInterval &height, double startAng, double endAng)
 
double radiusRatio () const
 
double minorRadius () const
 
double majorRadius () const
 
OdGePoint3d baseCenter () const
 
void getAngles (double &startAng, double &endAng) const
 
double halfAngle () const
 
void getHalfAngle (double &cosineAngle, double &sineAngle) const
 
void getHeight (OdGeInterval &height) const
 
double heightAt (double u) const
 
OdGeVector3d axisOfSymmetry () const
 
OdGeVector3d majorAxis () const
 
OdGeVector3d minorAxis () const
 
OdGePoint3d apex () const
 
bool isClosed (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isOuterNormal () const
 
OdGeEllipConesetMinorRadius (double minorRadius)
 
OdGeEllipConesetMajorRadius (double majorRadius)
 
OdGeEllipConesetAngles (double startAng, double endAng)
 
OdGeEllipConesetHeight (const OdGeInterval &height)
 
OdGeEllipConeset (double cosineAngle, double sineAngle, const OdGePoint3d &center, double minorRadius, double majorRadius, const OdGeVector3d &axisOfSymmetry)
 
OdGeEllipConeset (double cosineAngle, double sineAngle, const OdGePoint3d &center, double minorRadius, double majorRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &majorAxis, const OdGeInterval &height, double startAng, double endAng)
 
OdGeEllipConeoperator= (const OdGeEllipCone &)
 
- Public Member Functions inherited from OdGeSurface
OdGePoint2d paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, OdGePoint2d &paramPoint, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
void getClosestPointTo (const OdGePoint3d &point, OdGePointOnSurface &pntOnSurface, const OdGeTol &tol=OdGeContext::gTol) const
 
double distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isNormalReversed () const
 
OdGeSurfacereverseNormal ()
 
void getEnvelope (OdGeInterval &intrvlU, OdGeInterval &intrvlV) const
 
bool isClosedInU (const OdGeTol &tol=OdGeContext::gTol) const
 
bool isClosedInV (const OdGeTol &tol=OdGeContext::gTol) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const
 
OdGeSurfaceoperator= (const OdGeSurface &surf)
 
bool project (const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const
 
bool getReparameterization (bool &swapUV, double &uCoeffA, double &vCoeffA, double &uCoeffB, double &vCoeffB) const
 
void setReparameterization (bool swapUV=false, double uCoeffA=1., double vCoeffA=1., double uCoeffB=0., double vCoeffB=0.)
 
void getImplicitEnvelope (OdGeInterval &implicitIntrvlU, OdGeInterval &implicitIntrvlV) const
 
bool setEnvelope (const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV)
 
- 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 OdGeSurface
 OdGeSurface ()
 
 OdGeSurface (const OdGeSurface &surf)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class represents right elliptical cones.

Remarks
A elliptical cone is defined by its major and minor radii origin (a point on the axis of symmetry) axis of symmetry major axis height

The "base" is the cross section which contains the origin.

The major and minor radii must be greater than 0.

The cone may extend on either side of the base.

The half angle is constrained to the interval (0, OdaPI/2), and is measured from the symmetric axis of this elliptical cone to a point on the major axis.

A negative angle results in an apex which is opposite the direction of the symmetric axis.

Parameter V is the revolution angle measured from the refAxis (which is perpendicular to the axis of symmetry). For a closed cone, it defaults to [-OdaPI, OdaPI). The positive direction of V is defined by applying the right hand rule applied along the axis of symmetry. The surface is periodic in V with a period of Oda2PI.

The angle of point on an ellipse is measured by projecting the point on the ellipse perpendicular to major axis onto a circle whose center is the center of the ellipse and whose radius is the major radius of the 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, is the angle of the point on the ellipse.

Parameter U varies along the axis of symmetry. U is dimensionless, and increases in the direction of the axis of symmetry. U = 0 corresponds to center of the base of this cone, and U = 1 corresponds to the apex of this cone.

[umin, umax] by [vmin, vmax] defines a conical patch with four sides bounded by two straight lines (at angles vmin and vmax), and two circular arcs (at umin and umax). The following must be observed when defining a cone:

umin < umax |vmax - vmin| <= Oda2PI majorRadius > 0.0 minorRadius > 0.0

The height interval of this elliptical cone is specified relative to its origin (note that the height increases in the direction of the symmetric axis).

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeCone.html, Working with Cones>

Definition at line 103 of file GeEllipCone.h.

Constructor & Destructor Documentation

◆ OdGeEllipCone() [1/4]

OdGeEllipCone::OdGeEllipCone ( )
Parameters
cosineAngle[in] The cosine of the angle between the generating line passing through the major axis, and the axis of symmetry.
sineAngle[in] The sine of the angle between the generating line passing through the major axis, and the axis of symmetry.
majorRadius[in] The major radius of this elliptical cone.
minorRadius[in] The minor radius of this elliptical cone.
baseOrigin[in] The origin of this elliptical cone.
axisOfSymmetry[in] Axis of symmetry (rotation).
majorAxis[in] The major axis of this elliptical cone.
height[in] Height interval of this elliptical cone.
startAng[in] Starting angle of this elliptical cone.
endAng[in] Ending angle of this elliptical cone.
Remarks
All angles are expressed in radians.

◆ OdGeEllipCone() [2/4]

OdGeEllipCone::OdGeEllipCone ( const OdGeEllipCone )

◆ OdGeEllipCone() [3/4]

OdGeEllipCone::OdGeEllipCone ( double  cosineAngle,
double  sineAngle,
const OdGePoint3d origin,
double  minorRadius,
double  majorRadius,
const OdGeVector3d axisOfSymmetry 
)

◆ OdGeEllipCone() [4/4]

OdGeEllipCone::OdGeEllipCone ( double  cosineAngle,
double  sineAngle,
const OdGePoint3d baseOrigin,
double  minorRadius,
double  majorRadius,
const OdGeVector3d axisOfSymmetry,
const OdGeVector3d majorAxis,
const OdGeInterval height,
double  startAng,
double  endAng 
)

Member Function Documentation

◆ apex()

OdGePoint3d OdGeEllipCone::apex ( ) const

Returns the apex of this elliptical cone.

◆ axisOfSymmetry()

OdGeVector3d OdGeEllipCone::axisOfSymmetry ( ) const

Returns the axis of symmetry of this elliptical cone.

◆ baseCenter()

OdGePoint3d OdGeEllipCone::baseCenter ( ) const

Returns the center of the base.

◆ getAngles()

void OdGeEllipCone::getAngles ( double &  startAng,
double &  endAng 
) const

Returns the starting and ending angles of this elliptical cone.

Parameters
startAng[out] Receives the start angle.
endAng[out] Receives the end angle.
Remarks
All angles are expressed in radians.

◆ getHalfAngle()

void OdGeEllipCone::getHalfAngle ( double &  cosineAngle,
double &  sineAngle 
) const

Returns the angle between the generating line passing through the major axis, and the axis of symmetry.

◆ getHeight()

void OdGeEllipCone::getHeight ( OdGeInterval height) const

Returns the interval of the axis of symmetry.

Parameters
height[out] Receives the interval of the axis of symmetry.

◆ halfAngle()

double OdGeEllipCone::halfAngle ( ) const

Returns the angle between the generating line passing through the major axis, and the axis of symmetry.

◆ heightAt()

double OdGeEllipCone::heightAt ( double  u) const

Returns the height of this elliptical cone corresponding to the specified position on the U-axis.

Remarks
Parameter U varies along the axis of symmetry. U is dimensionless, and increases in the direction of the axis of symmetry.
Parameters
u[in] Position on the U-axis of this elliptical cone.

◆ isClosed()

bool OdGeEllipCone::isClosed ( const OdGeTol tol = OdGeContext::gTol) const

Returns true if and only if the base of this elliptical cone is a full ellipse within the specified tolerance.

Parameters
tol[in] Geometric tolerance.

◆ isOuterNormal()

bool OdGeEllipCone::isOuterNormal ( ) const

Returns true if and only if the normal to this surface is pointing outward.

◆ majorAxis()

OdGeVector3d OdGeEllipCone::majorAxis ( ) const

Returns the major axis of this elliptical cone.

◆ majorRadius()

double OdGeEllipCone::majorRadius ( ) const

Returns the major radius of this elliptical cone.

◆ minorAxis()

OdGeVector3d OdGeEllipCone::minorAxis ( ) const

Returns the minor axis of this elliptical cone.

◆ minorRadius()

double OdGeEllipCone::minorRadius ( ) const

Returns the minor radius of this elliptical cone.

◆ operator=()

OdGeEllipCone& OdGeEllipCone::operator= ( const OdGeEllipCone )

◆ radiusRatio()

double OdGeEllipCone::radiusRatio ( ) const

Returns the ratio of the minor to the major radius of this elliptical cone.

◆ set() [1/2]

OdGeEllipCone& OdGeEllipCone::set ( double  cosineAngle,
double  sineAngle,
const OdGePoint3d center,
double  minorRadius,
double  majorRadius,
const OdGeVector3d axisOfSymmetry 
)

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

Parameters
cosineAngle[in] The cosine of the angle between the generating line passing through the major axis, and the axis of symmetry.
sineAngle[in] The sine of the angle between the generating line passing through the major axis, and the axis of symmetry.
majorRadius[in] The major radius of this elliptical cone.
minorRadius[in] The minor radius of this elliptical cone.
center[in] The origin of this elliptical cone.
axisOfSymmetry[in] Axis of symmetry (rotation).
Remarks
All angles are expressed in radians.

◆ set() [2/2]

OdGeEllipCone& OdGeEllipCone::set ( double  cosineAngle,
double  sineAngle,
const OdGePoint3d center,
double  minorRadius,
double  majorRadius,
const OdGeVector3d axisOfSymmetry,
const OdGeVector3d majorAxis,
const OdGeInterval height,
double  startAng,
double  endAng 
)

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

Parameters
cosineAngle[in] The cosine of the angle between the generating line passing through the major axis, and the axis of symmetry.
sineAngle[in] The sine of the angle between the generating line passing through the major axis, and the axis of symmetry.
majorRadius[in] The major radius of this elliptical cone.
minorRadius[in] The minor radius of this elliptical cone.
center[in] The origin of this elliptical cone.
axisOfSymmetry[in] Axis of symmetry (rotation).
majorAxis[in] The major axis of this elliptical cone.
height[in] Height interval of this elliptical cone.
startAng[in] Starting angle of this elliptical cone.
endAng[in] Ending angle of this elliptical cone in.
Remarks
All angles are expressed in radians.

◆ setAngles()

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

Sets the starting and ending angles of this elliptical cone.

Parameters
startAng[in] Start angle in radians.
endAng[in] End angle in radians.

◆ setHeight()

OdGeEllipCone& OdGeEllipCone::setHeight ( const OdGeInterval height)

Sets the height interval of this elliptical cone.

Parameters
height[in] Height interval of this elliptical cone.

◆ setMajorRadius()

OdGeEllipCone& OdGeEllipCone::setMajorRadius ( double  majorRadius)

Sets major radius of this elliptical cone.

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

◆ setMinorRadius()

OdGeEllipCone& OdGeEllipCone::setMinorRadius ( double  minorRadius)

Sets minor radius of this elliptical cone.

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

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