# FoundationClasses
TKMath
gp

# gp_Torus Class Reference

Describes a torus.
A torus is defined by its major and minor radii and
positioned in space with a coordinate system (a gp_Ax3
object) as follows:
- The origin of the coordinate system is the center of the torus;
- The surface is obtained by rotating a circle of radius
equal to the minor radius of the torus about the "main <br> Direction" of the coordinate system. This circle is
located in the plane defined by the origin, the "X <br> Direction" and the "main Direction" of the coordinate
system. It is centered on the "X Axis" of this coordinate
system, and located at a distance, from the origin of
this coordinate system, equal to the major radius of the torus;
- The "X Direction" and "Y Direction" define the
reference plane of the torus.
The coordinate system described above is the "local <br> coordinate system" of the torus.
Note: when a gp_Torus torus is converted into a
Geom_ToroidalSurface torus, some implicit properties
of its local coordinate system are used explicitly:
- its origin, "X Direction", "Y Direction" and "main <br> Direction" are used directly to define the parametric
directions on the torus and the origin of the parameters,
- its implicit orientation (right-handed or left-handed)
gives the orientation (direct, indirect) to the
Geom_ToroidalSurface torus.
See Also
gce_MakeTorus which provides functions for more
complex torus constructions
Geom_ToroidalSurface which provides additional
functions for constructing tori and works, in particular,
with the parametric equations of tori.
.

`#include <gp_Torus.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
| gp_Torus ()
| creates an indefinite Torus.
| gp_Torus (const gp_Ax3 &A3, const Standard_Real MajorRadius, const Standard_Real MinorRadius)
| a torus centered on the origin of coordinate system A3, with major radius MajorRadius and minor radius MinorRadius, and with the reference plane defined by the origin, the "X Direction" and the "Y Direction" of A3. Warnings : It is not forbidden to create a torus with MajorRadius = MinorRadius = 0.0 Raises ConstructionError if MinorRadius < 0.0 or if MajorRadius < 0.0
void | SetAxis (const gp_Ax1 &A1)
| Modifies this torus, by redefining its local coordinate system so that: - its origin and "main Direction" become those of the axis A1 (the "X Direction" and "Y Direction" are then recomputed). Raises ConstructionError if the direction of A1 is parallel to the "XDirection" of the coordinate system of the toroidal surface. .
void | SetLocation (const gp_Pnt &Loc)
| Changes the location of the torus. .
void | SetMajorRadius (const Standard_Real MajorRadius)
| Assigns value to the major radius of this torus. Raises ConstructionError if MajorRadius - MinorRadius <= Resolution() .
void | SetMinorRadius (const Standard_Real MinorRadius)
| Assigns value to the minor radius of this torus. Raises ConstructionError if MinorRadius < 0.0 or if MajorRadius - MinorRadius <= Resolution from gp. .
void | SetPosition (const gp_Ax3 &A3)
| Changes the local coordinate system of the surface. .
Standard_Real | Area () const
| Computes the area of the torus. .
void | UReverse ()
| Reverses the U parametrization of the torus reversing the YAxis. .
Standard_EXPORT void | VReverse ()
| Reverses the V parametrization of the torus reversing the ZAxis. .
Standard_Boolean | Direct () const
| returns true if the Ax3, the local coordinate system of this torus, is right handed.
const gp_Ax1 & | Axis () const
| returns the symmetry axis of the torus.
Standard_EXPORT void | Coefficients (TColStd_Array1OfReal &Coef) const

Computes the coefficients of the implicit equation of the surface
in the absolute cartesian coordinate system :
Coef(1) * X**4 + Coef(2) * Y**4 + Coef(3) * Z**4 +
Coef(4) * X**3 * Y + Coef(5) * X**3 * Z + Coef(6) * Y**3 * X +
Coef(7) * Y**3 * Z + Coef(8) * Z**3 * X + Coef(9) * Z**3 * Y +
Coef(10) * X**2 * Y**2 + Coef(11) * X**2 * Z**2 +
Coef(12) * Y**2 * Z**2 + Coef(13) * X**3 + Coef(14) * Y**3 +
Coef(15) * Z**3 + Coef(16) * X**2 * Y + Coef(17) * X**2 * Z +
Coef(18) * Y**2 * X + Coef(19) * Y**2 * Z + Coef(20) * Z**2 * X +
Coef(21) * Z**2 * Y + Coef(22) * X**2 + Coef(23) * Y**2 +
Coef(24) * Z**2 + Coef(25) * X * Y + Coef(26) * X * Z +
Coef(27) * Y * Z + Coef(28) * X + Coef(29) * Y + Coef(30) * Z +
Coef(31) = 0.0
Raises DimensionError if the length of Coef is lower than 31.
.

const gp_Pnt & | Location () const
| Returns the Torus's location. .
const gp_Ax3 & | Position () const
| Returns the local coordinates system of the torus. .
Standard_Real | MajorRadius () const
| returns the major radius of the torus.
Standard_Real | MinorRadius () const
| returns the minor radius of the torus.
Standard_Real | Volume () const
| Computes the volume of the torus. .
gp_Ax1 | XAxis () const
| returns the axis X of the torus.
gp_Ax1 | YAxis () const
| returns the axis Y of the torus.
Standard_EXPORT void | Mirror (const gp_Pnt &P)
Standard_EXPORT gp_Torus | Mirrored (const gp_Pnt &P) const
| Performs the symmetrical transformation of a torus with respect to the point P which is the center of the symmetry. .
Standard_EXPORT void | Mirror (const gp_Ax1 &A1)
Standard_EXPORT gp_Torus | Mirrored (const gp_Ax1 &A1) const
| Performs the symmetrical transformation of a torus with respect to an axis placement which is the axis of the symmetry. .
Standard_EXPORT void | Mirror (const gp_Ax2 &A2)
Standard_EXPORT gp_Torus | Mirrored (const gp_Ax2 &A2) const
| Performs the symmetrical transformation of a torus with respect to a plane. The axis placement A2 locates the plane of the of the symmetry : (Location, XDirection, YDirection). .
void | Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
gp_Torus | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const
| Rotates a torus. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians. .
void | Scale (const gp_Pnt &P, const Standard_Real S)
gp_Torus | Scaled (const gp_Pnt &P, const Standard_Real S) const
| Scales a torus. S is the scaling value. The absolute value of S is used to scale the torus .
void | Transform (const gp_Trsf &T)
gp_Torus | Transformed (const gp_Trsf &T) const
| Transforms a torus with the transformation T from class Trsf. .
void | Translate (const gp_Vec &V)
gp_Torus | Translated (const gp_Vec &V) const
| Translates a torus in the direction of the vector V. The magnitude of the translation is the vector's magnitude. .
void | Translate (const gp_Pnt &P1, const gp_Pnt &P2)
gp_Torus | Translated (const gp_Pnt &P1, const gp_Pnt &P2) const
| Translates a torus from the point P1 to the point P2. .
const gp_Ax3 & | _CSFDB_Getgp_Toruspos () const
Standard_Real | _CSFDB_Getgp_TorusmajorRadius () const
void | _CSFDB_Setgp_TorusmajorRadius (const Standard_Real p)
Standard_Real | _CSFDB_Getgp_TorusminorRadius () const
void | _CSFDB_Setgp_TorusminorRadius (const Standard_Real p)

## Private Attributes

gp_Ax3 | pos
Standard_Real | majorRadius
Standard_Real | minorRadius

## Friends

Standard_EXPORT friend Handle_Standard_Type & | gp_Torus_Type_ ()

## Constructor & Destructor Documentation

gp_Torus::gp_Torus | ( |  | ) | `[inline]`

gp_Torus::gp_Torus | ( | const gp_Ax3 & | A3,
|  | const Standard_Real | MajorRadius,
|  | const Standard_Real | MinorRadius
| ) | `[inline]`

## Member Function Documentation

Standard_Real gp_Torus::_CSFDB_Getgp_TorusmajorRadius | ( |  | ) | const`[inline]`

Standard_Real gp_Torus::_CSFDB_Getgp_TorusminorRadius | ( |  | ) | const`[inline]`

const gp_Ax3& gp_Torus::_CSFDB_Getgp_Toruspos | ( |  | ) | const`[inline]`

void gp_Torus::_CSFDB_Setgp_TorusmajorRadius | ( | const Standard_Real | p | ) | `[inline]`

void gp_Torus::_CSFDB_Setgp_TorusminorRadius | ( | const Standard_Real | p | ) | `[inline]`

Standard_Real gp_Torus::Area | ( |  | ) | const`[inline]`

const gp_Ax1 & gp_Torus::Axis | ( |  | ) | const`[inline]`

Standard_EXPORT void gp_Torus::Coefficients | ( | TColStd_Array1OfReal & | Coef | ) | const

Standard_Boolean gp_Torus::Direct | ( |  | ) | const`[inline]`

const gp_Pnt & gp_Torus::Location | ( |  | ) | const`[inline]`

Standard_Real gp_Torus::MajorRadius | ( |  | ) | const`[inline]`

Standard_Real gp_Torus::MinorRadius | ( |  | ) | const`[inline]`

Standard_EXPORT void gp_Torus::Mirror | ( | const gp_Ax2 & | A2 | ) |

Standard_EXPORT void gp_Torus::Mirror | ( | const gp_Ax1 & | A1 | ) |

Standard_EXPORT void gp_Torus::Mirror | ( | const gp_Pnt & | P | ) |

Standard_EXPORT gp_Torus gp_Torus::Mirrored | ( | const gp_Ax2 & | A2 | ) | const

Standard_EXPORT gp_Torus gp_Torus::Mirrored | ( | const gp_Ax1 & | A1 | ) | const

Standard_EXPORT gp_Torus gp_Torus::Mirrored | ( | const gp_Pnt & | P | ) | const

void gp_Torus::operator delete | ( | void * | anAddress | ) | `[inline]`

void* gp_Torus::operator new | ( | size_t | size | ) | `[inline]`

void* gp_Torus::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

const gp_Ax3 & gp_Torus::Position | ( |  | ) | const`[inline]`

void gp_Torus::Rotate | ( | const gp_Ax1 & | A1,
|  | const Standard_Real | Ang
| ) | `[inline]`

gp_Torus gp_Torus::Rotated | ( | const gp_Ax1 & | A1,
|  | const Standard_Real | Ang
| ) | const`[inline]`

void gp_Torus::Scale | ( | const gp_Pnt & | P,
|  | const Standard_Real | S
| ) | `[inline]`

gp_Torus gp_Torus::Scaled | ( | const gp_Pnt & | P,
|  | const Standard_Real | S
| ) | const`[inline]`

void gp_Torus::SetAxis | ( | const gp_Ax1 & | A1 | ) | `[inline]`

void gp_Torus::SetLocation | ( | const gp_Pnt & | Loc | ) | `[inline]`

void gp_Torus::SetMajorRadius | ( | const Standard_Real | MajorRadius | ) | `[inline]`

void gp_Torus::SetMinorRadius | ( | const Standard_Real | MinorRadius | ) | `[inline]`

void gp_Torus::SetPosition | ( | const gp_Ax3 & | A3 | ) | `[inline]`

void gp_Torus::Transform | ( | const gp_Trsf & | T | ) | `[inline]`

gp_Torus gp_Torus::Transformed | ( | const gp_Trsf & | T | ) | const`[inline]`

void gp_Torus::Translate | ( | const gp_Pnt & | P1,
|  | const gp_Pnt & | P2
| ) | `[inline]`

void gp_Torus::Translate | ( | const gp_Vec & | V | ) | `[inline]`

gp_Torus gp_Torus::Translated | ( | const gp_Pnt & | P1,
|  | const gp_Pnt & | P2
| ) | const`[inline]`

gp_Torus gp_Torus::Translated | ( | const gp_Vec & | V | ) | const`[inline]`

void gp_Torus::UReverse | ( |  | ) | `[inline]`

Standard_Real gp_Torus::Volume | ( |  | ) | const`[inline]`

void gp_Torus::VReverse | ( |  | ) | `[inline]`

gp_Ax1 gp_Torus::XAxis | ( |  | ) | const`[inline]`

gp_Ax1 gp_Torus::YAxis | ( |  | ) | const`[inline]`

## Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Torus_Type_ | ( |  | ) | `[friend]`

## Field Documentation

Standard_Real gp_Torus::majorRadius `[private]`

Standard_Real gp_Torus::minorRadius `[private]`

gp_Ax3 gp_Torus::pos `[private]`

The documentation for this class was generated from the following files:

- gp_Torus.hxx
- gp_Torus.lxx