|
| 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) |
|
| OdGeEllipCone (const OdGeEllipCone &cone) |
|
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 |
|
OdGeEllipCone & | setMinorRadius (double minorRadius) |
|
OdGeEllipCone & | setMajorRadius (double majorRadius) |
|
OdGeEllipCone & | setAngles (double startAng, double endAng) |
|
OdGeEllipCone & | setHeight (const OdGeInterval &height) |
|
double | getPoleParam () const |
|
bool | intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGeEllipCone & | set (double cosineAngle, double sineAngle, const OdGePoint3d ¢er, double minorRadius, double majorRadius, const OdGeVector3d &axisOfSymmetry) |
|
OdGeEllipCone & | set (double cosineAngle, double sineAngle, const OdGePoint3d ¢er, double minorRadius, double majorRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &majorAxis, const OdGeInterval &height, double startAng, double endAng) |
|
OdGeEllipCone & | operator= (const OdGeEllipCone &cone) |
|
double | getUParamScale () const |
|
void | setUParamScale (double uScale=0.0) |
|
OdGePoint2d | paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint2d | paramOf (const OdGePoint3d &point, const OdGeUvBox *uvBox, const OdGeTol &tol=OdGeContext::gTol) const |
|
| TD_USING (OdGeEntity3d::isOn) |
|
bool | isOn (const OdGePoint3d &point, OdGePoint2d ¶mPoint, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint3d | closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint3d | closestPointTo (const OdGePoint3d &point, OdGePoint2d *param, const OdGeUvBox *uvBox, 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 |
|
bool | isLeftHanded () const |
|
OdGeSurface & | reverseNormal () |
|
void | getEnvelope (OdGeInterval &intrvlU, OdGeInterval &intrvlV) const |
|
void | getEnvelope (OdGeUvBox &uvbox) const |
|
bool | isClosedInU (const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isClosedInV (const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint3d | evalPoint (const OdGePoint2d ¶m) const |
|
OdGePoint3d | evalPoint (const OdGePoint2d ¶m, int numDeriv, OdGeVector3dArray &derivatives) const |
|
OdGePoint3d | evalPoint (const OdGePoint2d ¶m, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const |
|
OdGeSurface & | operator= (const OdGeSurface &surf) |
|
OdGeExtents3d | getGeomExtents (const OdGeUvBox &range=OdGeUvBox(), const OdGeMatrix3d *coordSystem=NULL) const |
|
bool | project (const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | setEnvelope (const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV) |
|
OdGeCurve3d * | makeIsoparamCurve (bool byU, double param) const |
|
OdGeCurve3d * | makeIsoparamCurve (bool byU, double param, const OdGeInterval &interval) const |
|
bool | getPoles (OdGeDoubleArray *uParams, OdGeDoubleArray *vParams, OdGePoint3dArray *uPoints, OdGePoint3dArray *vPoints, double tol=1e-13) const |
|
| ODRX_HEAP_OPERATORS () |
|
| ~OdGeEntity3d () |
|
bool | isKindOf (OdGe::EntityId entType) const |
|
OdGe::EntityId | type () const |
|
OdGeEntity3d * | copy () const |
|
OdGeEntity3d & | operator= (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 |
|
OdGeEntity3d & | transformBy (const OdGeMatrix3d &xfm) |
|
OdGeEntity3d & | translateBy (const OdGeVector3d &translateVec) |
|
OdGeEntity3d & | rotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin) |
|
OdGeEntity3d & | mirror (const OdGePlane &plane) |
|
OdGeEntity3d & | scaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin) |
|
bool | isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
This class represents right elliptical cones.
The cross section containing the origin is referred to as the base. The radii at the base cannot be zero. This elliptical cone may extend on either side of the base. This elliptical cone extends only on one direction from the apex, i.e. it is not a double elliptical cone.
The half angle is measured from the symmetric axis of this elliptical cone to a point on the major axis. If cosine of the half angle is positive, this elliptical cone is convex. If cosine of the half angle is negative, this elliptical cone is concave. If cosine and sine of the half angle have the same sign, the apex is on the opposite direction of the symmetric axis and radius increases along the symmetric axis. If cosine and sine of the half angle have different signs, the apex is on the direction of the symmetric axis and radius decreases along the symmetric axis. Both cosine and sine of the half angle can't be zeros.
Parameter V is the angle of revolution measured from the major axis to the axis of symmetry. For a closed elliptical cone, it defaults to [-OdaPI, OdaPI). The right hand rule applied along the direction of the axis of symmetry defines the positive direction of V. 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 which lies on the same plane, which center is the center of the ellipse and which 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.
The height interval of this elliptical cone is specified relative to its origin. Height increases in the direction of the symmetric axis. Height interval must be bounded.
Parameter U varies along the generating line. U is dimensionless, measured in U parameter scale (which equals to the major radius by default), multiplied by the absolute value of cosine of the half angle. U increases in the direction of the axis of symmetry. However, if U parameter scale is negative, U decreases in the direction of the axis of symmetry. U = 0 corresponds to the base of this elliptical cone.
If cosine and sine of the half angle have the same sign, U and height are less than zero at the apex. If cosine and sine of the half angle have different signs, U and height are greater than zero at the apex.
[umin, umax] x [vmin, vmax] defines a four sided conical patch 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 an elliptical cone:
umin < umax |vmax - vmin| <= Oda2PI. majorRadius > 0.0 minorRadius > 0.0
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
- See also
- <link ge_OdGeCone, Working with Cones>
Definition at line 118 of file GeEllipCone.h.