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

ModelingData
TKG3d
Geom


Geom_ToroidalSurface 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 is the center of the torus.
- The surface is obtained by rotating a circle around
the "main Direction". This circle has a radius equal
to the minor radius, and is located in the plane
defined by the origin, "X Direction" and "main <br> Direction". It is centered on the "X Axis", on its
positive side, and positioned at a distance from the
origin equal to the major radius. This circle is the
"reference circle" of the torus.
- The plane defined by the origin, the "X Direction"
and the "Y Direction" is called the "reference plane" of the torus.
This coordinate system is the "local coordinate <br> system" of the torus. The following apply:
- Rotation around its "main Axis", in the trigonometric
sense given by "X Direction" and "Y Direction",
defines the u parametric direction.
- The "X Axis" gives the origin for the u parameter.
- Rotation around an axis parallel to the "Y Axis" and
passing through the center of the "reference circle"
gives the v parameter on the "reference circle".
- The "X Axis" gives the origin of the v parameter on
the "reference circle".
- The v parametric direction is oriented by the
inverse of the "main Direction", i.e. near 0, as v
increases, the Z coordinate decreases. (This
implies that the "Y Direction" orients the reference
circle only when the local coordinate system is direct.)
- The u isoparametric curve is a circle obtained by
rotating the "reference circle" of the torus through
an angle u about the "main Axis".
The parametric equation of the torus is :
P(u, v) = O + (R + r*cos(v)) * (cos(u)*XDir +
sin(u)*YDir ) + r*sin(v)*ZDir, where:
- O, XDir, YDir and ZDir are respectively the
origin, the "X Direction", the "Y Direction" and the "Z <br> Direction" of the local coordinate system,
- r and R are, respectively, the minor and major radius.
The parametric range of the two parameters is:
- [ 0, 2.*Pi ] for u
- [ 0, 2.*Pi ] for v
.

#include <Geom_ToroidalSurface.hxx>

Inheritance diagram for Geom_ToroidalSurface:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT Geom_ToroidalSurface (const gp_Ax3 &A3, const Standard_Real MajorRadius, const Standard_Real MinorRadius)
 A3 is the local coordinate system of the surface.
The orientation of increasing V parametric value is defined
by the rotation around the main axis (ZAxis) in the
trigonometric sense. The parametrization of the surface in the
U direction is defined such as the normal Vector (N = D1U ^ D1V)
is oriented towards the "outside region" of the surface.
Warnings :
It is not forbidden to create a toroidal surface with
MajorRadius = MinorRadius = 0.0
Raised if MinorRadius < 0.0 or if MajorRadius < 0.0
.
Standard_EXPORT Geom_ToroidalSurface (const gp_Torus &T)
 Creates a ToroidalSurface from a non transient Torus from
package gp.
.
Standard_EXPORT void SetMajorRadius (const Standard_Real MajorRadius)
 Modifies this torus by changing its major radius.
Exceptions
Standard_ConstructionError if:
- MajorRadius is negative, or
- MajorRadius - r is less than or equal to
gp::Resolution(), where r is the minor radius of this torus.
.
Standard_EXPORT void SetMinorRadius (const Standard_Real MinorRadius)
 Modifies this torus by changing its minor radius.
Exceptions
Standard_ConstructionError if:
- MinorRadius is negative, or
- R - MinorRadius is less than or equal to
gp::Resolution(), where R is the major radius of this torus.
.
Standard_EXPORT void SetTorus (const gp_Torus &T)
 Converts the gp_Torus torus T into this torus.
.
Standard_EXPORT gp_Torus Torus () const
 Returns the non transient torus with the same geometric
properties as <me>.
.
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const
 Return the parameter on the Ureversed surface for
the point of parameter U on <me>.
Return 2.PI - U.
.
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real U) const
 Return the parameter on the Ureversed surface for
the point of parameter U on <me>.
Return 2.PI - U.
.
Standard_EXPORT Standard_Real Area () const
 Computes the aera of the surface.
.
Standard_EXPORT void Bounds (Standard_Real &U1, Standard_Real &U2, Standard_Real &V1, Standard_Real &V2) const
 Returns the parametric bounds U1, U2, V1 and V2 of this torus.
For a torus: U1 = V1 = 0 and V1 = V2 = 2*PI .
.
Standard_EXPORT void Coefficients (TColStd_Array1OfReal &Coef) const
 Returns 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
//! Raised if the length of Coef is lower than 31.
.
Standard_EXPORT Standard_Real MajorRadius () const
 Returns the major radius, or the minor radius, of this torus.
.
Standard_EXPORT Standard_Real MinorRadius () const
 Returns the major radius, or the minor radius, of this torus.
.
Standard_EXPORT Standard_Real Volume () const
 Computes the volume.
.
Standard_EXPORT Standard_Boolean IsUClosed () const
 Returns True.
.
Standard_EXPORT Standard_Boolean IsVClosed () const
 Returns True.
.
Standard_EXPORT Standard_Boolean IsUPeriodic () const
 Returns True.
.
Standard_EXPORT Standard_Boolean IsVPeriodic () const
 Returns True.
.
Standard_EXPORT Handle_Geom_Curve UIso (const Standard_Real U) const
 Computes the U isoparametric curve.

For a toroidal surface the UIso curve is a circle.
The center of the Uiso circle is at the distance MajorRadius
from the location point of the toroidal surface.
Warnings :
The radius of the circle can be zero if for the surface
MinorRadius = 0.0
.
Standard_EXPORT Handle_Geom_Curve VIso (const Standard_Real V) const
 Computes the V isoparametric curve.

For a ToroidalSurface the VIso curve is a circle.
The axis of the circle is the main axis (ZAxis) of the
toroidal surface.
Warnings :
The radius of the circle can be zero if for the surface
MajorRadius = MinorRadius
.
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const
 Computes the point P (U, V) on the surface.
P (U, V) = Loc + MinorRadius * Sin (V) * Zdir +
(MajorRadius + MinorRadius * Cos(V)) *
(cos (U) * XDir + sin (U) * YDir)
where Loc is the origin of the placement plane (XAxis, YAxis)
XDir is the direction of the XAxis and YDir the direction of
the YAxis and ZDir the direction of the ZAxis.
.
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const
 Computes the current point and the first derivatives in
the directions U and V.
.
Standard_EXPORT void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV) const
 Computes the current point, the first and the second derivatives
in the directions U and V.
.
Standard_EXPORT void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV, gp_Vec &D3U, gp_Vec &D3V, gp_Vec &D3UUV, gp_Vec &D3UVV) const
 Computes the current point, the first,the second and the
third derivatives in the directions U and V.
.
Standard_EXPORT gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const
 Computes the derivative of order Nu in the direction u and
Nv in the direction v.
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
.
Standard_EXPORT void Transform (const gp_Trsf &T)
 Applies the transformation T to this torus.
.
Standard_EXPORT Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this torus.
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Attributes

Standard_Real majorRadius
Standard_Real minorRadius

Constructor & Destructor Documentation

Standard_EXPORT Geom_ToroidalSurface::Geom_ToroidalSurface const gp_Ax3 &  A3,
const Standard_Real  MajorRadius,
const Standard_Real  MinorRadius
 

Standard_EXPORT Geom_ToroidalSurface::Geom_ToroidalSurface const gp_Torus &  T  ) 
 


Member Function Documentation

Standard_EXPORT Standard_Real Geom_ToroidalSurface::Area  )  const
 

Standard_EXPORT void Geom_ToroidalSurface::Bounds Standard_Real &  U1,
Standard_Real &  U2,
Standard_Real &  V1,
Standard_Real &  V2
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_ToroidalSurface::Coefficients TColStd_Array1OfReal &  Coef  )  const
 

Standard_EXPORT Handle_Geom_Geometry Geom_ToroidalSurface::Copy  )  const [virtual]
 

Implements Geom_Geometry.

Standard_EXPORT void Geom_ToroidalSurface::D0 const Standard_Real  U,
const Standard_Real  V,
gp_Pnt &  P
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_ToroidalSurface::D1 const Standard_Real  U,
const Standard_Real  V,
gp_Pnt &  P,
gp_Vec &  D1U,
gp_Vec &  D1V
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_ToroidalSurface::D2 const Standard_Real  U,
const Standard_Real  V,
gp_Pnt &  P,
gp_Vec &  D1U,
gp_Vec &  D1V,
gp_Vec &  D2U,
gp_Vec &  D2V,
gp_Vec &  D2UV
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_ToroidalSurface::D3 const Standard_Real  U,
const Standard_Real  V,
gp_Pnt &  P,
gp_Vec &  D1U,
gp_Vec &  D1V,
gp_Vec &  D2U,
gp_Vec &  D2V,
gp_Vec &  D2UV,
gp_Vec &  D3U,
gp_Vec &  D3V,
gp_Vec &  D3UUV,
gp_Vec &  D3UVV
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT gp_Vec Geom_ToroidalSurface::DN const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  Nu,
const Standard_Integer  Nv
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT const Geom_ToroidalSurface::Handle Standard_Type   )  const
 

Reimplemented from Geom_ElementarySurface.

Standard_EXPORT Standard_Boolean Geom_ToroidalSurface::IsUClosed  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_ToroidalSurface::IsUPeriodic  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_ToroidalSurface::IsVClosed  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_ToroidalSurface::IsVPeriodic  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Real Geom_ToroidalSurface::MajorRadius  )  const
 

Standard_EXPORT Standard_Real Geom_ToroidalSurface::MinorRadius  )  const
 

Standard_EXPORT void Geom_ToroidalSurface::SetMajorRadius const Standard_Real  MajorRadius  ) 
 

Standard_EXPORT void Geom_ToroidalSurface::SetMinorRadius const Standard_Real  MinorRadius  ) 
 

Standard_EXPORT void Geom_ToroidalSurface::SetTorus const gp_Torus &  T  ) 
 

Standard_EXPORT gp_Torus Geom_ToroidalSurface::Torus  )  const
 

Standard_EXPORT void Geom_ToroidalSurface::Transform const gp_Trsf &  T  )  [virtual]
 

Implements Geom_Geometry.

Standard_EXPORT Handle_Geom_Curve Geom_ToroidalSurface::UIso const Standard_Real  U  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Real Geom_ToroidalSurface::UReversedParameter const Standard_Real  U  )  const [virtual]
 

Implements Geom_ElementarySurface.

Standard_EXPORT Handle_Geom_Curve Geom_ToroidalSurface::VIso const Standard_Real  V  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Real Geom_ToroidalSurface::Volume  )  const
 

Standard_EXPORT Standard_Real Geom_ToroidalSurface::VReversedParameter const Standard_Real  U  )  const [virtual]
 

Implements Geom_ElementarySurface.


Field Documentation

Standard_Real Geom_ToroidalSurface::majorRadius [private]
 

Standard_Real Geom_ToroidalSurface::minorRadius [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:22:58 2008 for OpenCASCADE by  doxygen 1.4.1