OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

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_Ax1Axis () 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_PntLocation () const
 Returns the Torus's location.
.
const gp_Ax3Position () 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:
Generated on Mon Aug 25 13:12:41 2008 for OpenCASCADE by  doxygen 1.4.1