|
| | 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 |
| |
| | 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 |
| |
| 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 |
| |
| OdGeSurface & | reverseNormal () |
| |
| 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 ¶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) |
| |
| 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) |
| |
| void | getEnvelope (OdGeUvBox &uvbox) const |
| |
| void | evaluate (const OdGePoint2d ¶m, int numDeriv, OdGeVector3d *values, OdGeVector3d *normal=NULL) const |
| |
| OdGeExtents3d | getGeomExtents (const OdGeUvBox &range=OdGeUvBox(), const OdGeMatrix3d *coordSystem=NULL) const |
| |
| OdGePoint2d | paramOf (const OdGePoint3d &point, const OdGeUvBox *uvBox, const OdGeTol &tol=OdGeContext::gTol) const |
| |
| 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 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 U.
Parameter v parameterizes the circular tube, which for a closed circle defaults to the range [-OdaPI, OdaPI). Applying the right hand rule along the refAxis X-axisOfSymmetry defines the increasing direction for v.
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.html, Working with Toruses>
Definition at line 72 of file GeTorus.h.