|
| OdGeTorus () |
|
| OdGeTorus (double majorRadius, double minorRadius, const OdGePoint3d ¢er, const OdGeVector3d &axisOfSymmetry) |
|
| OdGeTorus (double majorRadius, double minorRadius, const OdGePoint3d ¢er, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, double startAngleU, double endAngleU, double startAngleV, double endAngleV) |
|
| OdGeTorus (const OdGeTorus &source) |
|
double | majorRadius () const |
|
double | minorRadius () const |
|
void | getAnglesInU (double &startAngleU, double &endAngleU) const |
|
void | getAnglesInV (double &startAngleV, double &endAngleV) const |
|
OdGePoint3d | center () const |
|
OdGeVector3d | axisOfSymmetry () const |
|
OdGeVector3d | refAxis () const |
|
bool | isOuterNormal () const |
|
OdGeTorus & | setMajorRadius (double radius) |
|
OdGeTorus & | setMinorRadius (double radius) |
|
OdGeTorus & | setAnglesInU (double startAngleU, double endAngleU) |
|
OdGeTorus & | setAnglesInV (double startAngleV, double endAngleV) |
|
OdGeTorus & | set (double majorRadius, double minorRadius, const OdGePoint3d ¢er, const OdGeVector3d &axisOfSymmetry) |
|
OdGeTorus & | set (double majorRadius, double minorRadius, const OdGePoint3d ¢er, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, double startAngleU, double endAngleU, double startAngleV, double endAngleV) |
|
OdGeTorus & | operator= (const OdGeTorus &torus) |
|
bool | intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, OdGePoint3d &p3, OdGePoint3d &p4, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isLemon () const |
|
bool | isApple () const |
|
bool | isVortex () const |
|
bool | isDoughnut () const |
|
bool | isDegenerate () const |
|
bool | isHollow () const |
|
bool | isReverseV () const |
|
void | setReverseV (bool isReverseV) |
|
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 toroidal segments.
The torus is located in space by its center, which is a point on the axis of symmetry.
The center of the circular arc is at a distance of majorRadius from the center of the torus. The radius of the circular arc is the minorRadius.
Parameter U parameterizes the circular tube, which for a closed circle defaults to the range [-OdaPI, OdaPI). Applying the right hand rule along the (axisOfSymmetry X refAxis) defines the increasing direction for U.
Parameter V is the longitude (about the axis of symmetry), which for a closed torus defaults to the range [-OdaPI, OdaPI). Zero corresponds to the refAxis (which is a vector orthogonal to the axis of symmetry). Applying the right hand rule along the symmetric axis defines the increasing direction for V. However, if isReverseV() is true, the increasing direction for V is defined by the left hand rule.
The torus is periodic in U, V with a period of Oda2PI. [umin, umax] x [vmin, vmax] defines a four sided toroidal patch bounded by four circular arcs. Following constraints apply to the definition of a toroidal patch.
umin < umax and |umin - umax| <= Oda2PI. vmin < vmax and |vmin - vmax| <= Oda2PI
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
<link ge_OdGeTorus, Working with Toruses>
Definition at line 72 of file GeTorus.h.