|
| OdGeCone () |
|
| OdGeCone (double cosineAngle, double sineAngle, const OdGePoint3d &baseOrigin, double baseRadius, const OdGeVector3d &axisOfSymmetry) |
|
| OdGeCone (double cosineAngle, double sineAngle, const OdGePoint3d &baseOrigin, double baseRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng) |
|
| OdGeCone (const OdGeCone &cone) |
|
double | baseRadius () const |
|
OdGePoint3d | baseCenter () const |
|
void | getAngles (double &startAng, double &endAng) const |
|
double | halfAngle () const |
|
void | getHalfAngle (double &cosineAngle, double &sineAngle) const |
|
void | getHalfAngleSigned (double &cosineAngle, double &sineAngle) const |
|
void | getHeight (OdGeInterval &height) const |
|
double | heightAt (double u) const |
|
OdGeVector3d | axisOfSymmetry () const |
|
OdGeVector3d | refAxis () const |
|
OdGePoint3d | apex () const |
|
bool | isClosed (const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isOuterNormal () const |
|
OdGeCone & | setBaseRadius (double baseRadius) |
|
OdGeCone & | setAngles (double startAng, double endAng) |
|
OdGeCone & | setHeight (const OdGeInterval &height) |
|
double | getPoleParam () const |
|
OdGeCone & | set (double cosineAngle, double sineAngle, const OdGePoint3d &baseCenter, double baseRadius, const OdGeVector3d &axisOfSymmetry) |
|
OdGeCone & | set (double cosineAngle, double sineAngle, const OdGePoint3d &baseCenter, double baseRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng) |
|
OdGeCone & | operator= (const OdGeCone &cone) |
|
bool | intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const |
|
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 circular cones.
axis of symmetry height sine and cosine of the half angle origin (a point on the axis of symmetry) radius at the origin U parameter scale.
The cross section containing the origin is referred to as the base. The radius at the base cannot be zero.
This cone may extend on either side of the base. This cone extends only on one direction from the apex, i.e. it is not a double cone.
The half angle is measured between the symmetric axis and the generating line of this cone. If cosine of the half angle is positive, this cone is convex. If cosine of the half angle is negative, this 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.
The height interval of this cone is specified relative to its origin. Height increases in the direction of the symmetric axis. Height interval must be bounded.
Parameter V is the angle of revolution measured from the refAxis (an axis perpendicular to the axis of symmetry). For a closed 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.
Parameter U varies along the generating line. U is dimensionless, measured in U parameter scale (which equals to the 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 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 a cone:
umin < umax |vmax - vmin| <= Oda2PI. baseRadius > 0.0
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
- See also
- <link ge_OdGeCone, Working with Cones>
Definition at line 107 of file GeCone.h.