|
| OdGeEllipCylinder () |
|
| OdGeEllipCylinder (double minorRadius, double majorRadius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry) |
|
| OdGeEllipCylinder (double minorRadius, double majorRadius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &majorAxis, const OdGeInterval &height, double startAng, double endAng) |
|
| OdGeEllipCylinder (const OdGeEllipCylinder &cylinder) |
|
double | radiusRatio () const |
|
double | minorRadius () const |
|
double | majorRadius () const |
|
OdGePoint3d | origin () const |
|
void | getAngles (double &startAng, double &endAng) const |
|
void | getHeight (OdGeInterval &height) const |
|
double | heightAt (double u) const |
|
OdGeVector3d | axisOfSymmetry () const |
|
OdGeVector3d | majorAxis () const |
|
OdGeVector3d | minorAxis () const |
|
bool | isOuterNormal () const |
|
bool | isClosed (const OdGeTol &tol=OdGeContext::gTol) const |
|
void | setIsOuterNormal (bool isOuterNormal) |
|
OdGeEllipCylinder & | setMinorRadius (double minorRadius) |
|
OdGeEllipCylinder & | setMajorRadius (double majorRadius) |
|
OdGeEllipCylinder & | setAngles (double startAng, double endAng) |
|
OdGeEllipCylinder & | setHeight (const OdGeInterval &height) |
|
OdGeEllipCylinder & | set (double minorRadius, double majorRadius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry) |
|
OdGeEllipCylinder & | set (double minorRadius, double majorRadius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &majorAxis, const OdGeInterval &height, double startAng, double endAng) |
|
bool | intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGeEllipCylinder & | operator= (const OdGeEllipCylinder &cylinder) |
|
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 cylinders with an elliptical cross-section.
It is generated by a line parallel to the axis of symmetry, along an elliptical path.
The height interval of this elliptical cylinder is specified relative to its origin. Height increases in the direction of the symmetric axis. Height interval can be unbounded.
Parameter V is the angle of revolution, measured from the major axis to the axis of symmetry. The right hand rule is applied along the direction of the axis of symmetry for positive angles. For a closed cylinder, V defaults to [-OdaPI, OdaPI).
Parameter U varies along the generating line. U is dimensionless, measured in U parameter scale (which equals to the major radius by default). 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 cylinder.
The surface of the cylinder is periodic in V with a period of Oda2PI.
[umin, umax] x [vmin, vmax] defines a four-sided cylindrical patch bounded by two straight lines (at vmin and vmax) and two circular arcs (at umin and umax). The following constraints apply to the definition of a cylindrical patch:
umin < umax |vmax - vmin| <= Oda2PI majorRadius > 0.0 minorRadius > 0.0
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, is the angle of the point on the ellipse.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
- See also
- <link ge_OdGeCylinder, Working with Cylinders>
Definition at line 94 of file GeEllipCylinder.h.