OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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: More...

    #include <gp_Torus.hxx>

    Public Member Functions

    constexpr gp_Torus () noexcept
     creates an indefinite Torus.
    constexpr gp_Torus (const gp_Ax3 &theA3, const double theMajorRadius, const double theMinorRadius)
     a torus centered on the origin of coordinate system theA3, with major radius theMajorRadius and minor radius theMinorRadius, and with the reference plane defined by the origin, the "X Direction" and the "Y Direction" of theA3. Warnings : It is not forbidden to create a torus with theMajorRadius = theMinorRadius = 0.0 Raises ConstructionError if theMinorRadius < 0.0 or if theMajorRadius < 0.0
    void SetAxis (const gp_Ax1 &theA1)
     Modifies this torus, by redefining its local coordinate system so that:
    constexpr void SetLocation (const gp_Pnt &theLoc) noexcept
     Changes the location of the torus.
    void SetMajorRadius (const double theMajorRadius)
     Assigns value to the major radius of this torus. Raises ConstructionError if theMajorRadius - MinorRadius <= Resolution().
    void SetMinorRadius (const double theMinorRadius)
     Assigns value to the minor radius of this torus. Raises ConstructionError if theMinorRadius < 0.0 or if MajorRadius - theMinorRadius <= Resolution from gp.
    constexpr void SetPosition (const gp_Ax3 &theA3) noexcept
     Changes the local coordinate system of the surface.
    constexpr double Area () const noexcept
     Computes the area of the torus.
    constexpr void UReverse () noexcept
     Reverses the U parametrization of the torus reversing the YAxis.
    constexpr void VReverse () noexcept
     Reverses the V parametrization of the torus reversing the ZAxis.
    bool Direct () const
     returns true if the Ax3, the local coordinate system of this torus, is right handed.
    constexpr const gp_Ax1Axis () const noexcept
     returns the symmetry axis of the torus.
    void Coefficients (NCollection_Array1< double > &theCoef) const
     Computes the coefficients of the implicit equation of the surface in the absolute Cartesian coordinate system:
    constexpr const gp_PntLocation () const noexcept
     Returns the Torus's location.
    constexpr const gp_Ax3Position () const noexcept
     Returns the local coordinates system of the torus.
    constexpr double MajorRadius () const noexcept
     returns the major radius of the torus.
    constexpr double MinorRadius () const noexcept
     returns the minor radius of the torus.
    constexpr double Volume () const noexcept
     Computes the volume of the torus.
    constexpr gp_Ax1 XAxis () const noexcept
     returns the axis X of the torus.
    constexpr gp_Ax1 YAxis () const noexcept
     returns the axis Y of the torus.
    void Mirror (const gp_Pnt &theP) noexcept
    gp_Torus Mirrored (const gp_Pnt &theP) const noexcept
     Performs the symmetrical transformation of a torus with respect to the point theP which is the center of the symmetry.
    void Mirror (const gp_Ax1 &theA1) noexcept
    gp_Torus Mirrored (const gp_Ax1 &theA1) const noexcept
     Performs the symmetrical transformation of a torus with respect to an axis placement which is the axis of the symmetry.
    void Mirror (const gp_Ax2 &theA2) noexcept
    gp_Torus Mirrored (const gp_Ax2 &theA2) const noexcept
     Performs the symmetrical transformation of a torus with respect to a plane. The axis placement theA2 locates the plane of the of the symmetry : (Location, XDirection, YDirection).
    void Rotate (const gp_Ax1 &theA1, const double theAng)
    gp_Torus Rotated (const gp_Ax1 &theA1, const double theAng) const
     Rotates a torus. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.
    void Scale (const gp_Pnt &theP, const double theS)
    gp_Torus Scaled (const gp_Pnt &theP, const double theS) 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 &theT)
    gp_Torus Transformed (const gp_Trsf &theT) const
     Transforms a torus with the transformation theT from class Trsf.
    constexpr void Translate (const gp_Vec &theV) noexcept
    constexpr gp_Torus Translated (const gp_Vec &theV) const noexcept
     Translates a torus in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.
    constexpr void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2) noexcept
    constexpr gp_Torus Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const noexcept
     Translates a torus from the point theP1 to the point theP2.

    Detailed Description

    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 Direction" of the coordinate system. This circle is located in the plane defined by the origin, the "X 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 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 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.

    Constructor & Destructor Documentation

    ◆ gp_Torus() [1/2]

    gp_Torus::gp_Torus ( )
    inlineconstexprnoexcept

    creates an indefinite Torus.

    ◆ gp_Torus() [2/2]

    gp_Torus::gp_Torus ( const gp_Ax3 & theA3,
    const double theMajorRadius,
    const double theMinorRadius )
    inlineconstexpr

    a torus centered on the origin of coordinate system theA3, with major radius theMajorRadius and minor radius theMinorRadius, and with the reference plane defined by the origin, the "X Direction" and the "Y Direction" of theA3. Warnings : It is not forbidden to create a torus with theMajorRadius = theMinorRadius = 0.0 Raises ConstructionError if theMinorRadius < 0.0 or if theMajorRadius < 0.0

    Member Function Documentation

    ◆ Area()

    double gp_Torus::Area ( ) const
    inlineconstexprnoexcept

    Computes the area of the torus.

    ◆ Axis()

    const gp_Ax1 & gp_Torus::Axis ( ) const
    inlineconstexprnoexcept

    returns the symmetry axis of the torus.

    ◆ Coefficients()

    void gp_Torus::Coefficients ( NCollection_Array1< double > & theCoef) 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^2 * Y * Z +
    Coef(14) * X * Y^2 * Z + Coef(15) * X * Y * Z^2 +
    Coef(16) * X^3 + Coef(17) * Y^3 + Coef(18) * Z^3 +
    Coef(19) * X^2 * Y + Coef(20) * X^2 * Z + Coef(21) * Y^2 * X +
    Coef(22) * Y^2 * Z + Coef(23) * Z^2 * X + Coef(24) * Z^2 * Y +
    Coef(25) * X * Y * Z +
    Coef(26) * X^2 + Coef(27) * Y^2 + Coef(28) * Z^2 +
    Coef(29) * X * Y + Coef(30) * X * Z + Coef(31) * Y * Z +
    Coef(32) * X + Coef(33) * Y + Coef(34) * Z +
    Coef(35) = 0.0

    Raises DimensionError if the length of theCoef is lower than 35.

    ◆ Direct()

    bool gp_Torus::Direct ( ) const
    inline

    returns true if the Ax3, the local coordinate system of this torus, is right handed.

    ◆ Location()

    const gp_Pnt & gp_Torus::Location ( ) const
    inlineconstexprnoexcept

    Returns the Torus's location.

    ◆ MajorRadius()

    double gp_Torus::MajorRadius ( ) const
    inlineconstexprnoexcept

    returns the major radius of the torus.

    ◆ MinorRadius()

    double gp_Torus::MinorRadius ( ) const
    inlineconstexprnoexcept

    returns the minor radius of the torus.

    ◆ Mirror() [1/3]

    void gp_Torus::Mirror ( const gp_Ax1 & theA1)
    noexcept

    ◆ Mirror() [2/3]

    void gp_Torus::Mirror ( const gp_Ax2 & theA2)
    noexcept

    ◆ Mirror() [3/3]

    void gp_Torus::Mirror ( const gp_Pnt & theP)
    noexcept

    ◆ Mirrored() [1/3]

    gp_Torus gp_Torus::Mirrored ( const gp_Ax1 & theA1) const
    nodiscardnoexcept

    Performs the symmetrical transformation of a torus with respect to an axis placement which is the axis of the symmetry.

    ◆ Mirrored() [2/3]

    gp_Torus gp_Torus::Mirrored ( const gp_Ax2 & theA2) const
    nodiscardnoexcept

    Performs the symmetrical transformation of a torus with respect to a plane. The axis placement theA2 locates the plane of the of the symmetry : (Location, XDirection, YDirection).

    ◆ Mirrored() [3/3]

    gp_Torus gp_Torus::Mirrored ( const gp_Pnt & theP) const
    nodiscardnoexcept

    Performs the symmetrical transformation of a torus with respect to the point theP which is the center of the symmetry.

    ◆ Position()

    const gp_Ax3 & gp_Torus::Position ( ) const
    inlineconstexprnoexcept

    Returns the local coordinates system of the torus.

    ◆ Rotate()

    void gp_Torus::Rotate ( const gp_Ax1 & theA1,
    const double theAng )
    inline

    ◆ Rotated()

    gp_Torus gp_Torus::Rotated ( const gp_Ax1 & theA1,
    const double theAng ) const
    inlinenodiscard

    Rotates a torus. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.

    ◆ Scale()

    void gp_Torus::Scale ( const gp_Pnt & theP,
    const double theS )
    inline

    ◆ Scaled()

    gp_Torus gp_Torus::Scaled ( const gp_Pnt & theP,
    const double theS ) const
    inlinenodiscard

    Scales a torus. S is the scaling value. The absolute value of S is used to scale the torus.

    ◆ SetAxis()

    void gp_Torus::SetAxis ( const gp_Ax1 & theA1)
    inline

    Modifies this torus, by redefining its local coordinate system so that:

    • its origin and "main Direction" become those of the axis theA1 (the "X Direction" and "Y Direction" are then recomputed). Raises ConstructionError if the direction of theA1 is parallel to the "XDirection" of the coordinate system of the toroidal surface.

    ◆ SetLocation()

    void gp_Torus::SetLocation ( const gp_Pnt & theLoc)
    inlineconstexprnoexcept

    Changes the location of the torus.

    ◆ SetMajorRadius()

    void gp_Torus::SetMajorRadius ( const double theMajorRadius)
    inline

    Assigns value to the major radius of this torus. Raises ConstructionError if theMajorRadius - MinorRadius <= Resolution().

    ◆ SetMinorRadius()

    void gp_Torus::SetMinorRadius ( const double theMinorRadius)
    inline

    Assigns value to the minor radius of this torus. Raises ConstructionError if theMinorRadius < 0.0 or if MajorRadius - theMinorRadius <= Resolution from gp.

    ◆ SetPosition()

    void gp_Torus::SetPosition ( const gp_Ax3 & theA3)
    inlineconstexprnoexcept

    Changes the local coordinate system of the surface.

    ◆ Transform()

    void gp_Torus::Transform ( const gp_Trsf & theT)
    inline

    ◆ Transformed()

    gp_Torus gp_Torus::Transformed ( const gp_Trsf & theT) const
    inlinenodiscard

    Transforms a torus with the transformation theT from class Trsf.

    ◆ Translate() [1/2]

    void gp_Torus::Translate ( const gp_Pnt & theP1,
    const gp_Pnt & theP2 )
    inlineconstexprnoexcept

    ◆ Translate() [2/2]

    void gp_Torus::Translate ( const gp_Vec & theV)
    inlineconstexprnoexcept

    ◆ Translated() [1/2]

    gp_Torus gp_Torus::Translated ( const gp_Pnt & theP1,
    const gp_Pnt & theP2 ) const
    inlinenodiscardconstexprnoexcept

    Translates a torus from the point theP1 to the point theP2.

    ◆ Translated() [2/2]

    gp_Torus gp_Torus::Translated ( const gp_Vec & theV) const
    inlinenodiscardconstexprnoexcept

    Translates a torus in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.

    ◆ UReverse()

    void gp_Torus::UReverse ( )
    inlineconstexprnoexcept

    Reverses the U parametrization of the torus reversing the YAxis.

    ◆ Volume()

    double gp_Torus::Volume ( ) const
    inlineconstexprnoexcept

    Computes the volume of the torus.

    ◆ VReverse()

    void gp_Torus::VReverse ( )
    inlineconstexprnoexcept

    Reverses the V parametrization of the torus reversing the ZAxis.

    ◆ XAxis()

    gp_Ax1 gp_Torus::XAxis ( ) const
    inlineconstexprnoexcept

    returns the axis X of the torus.

    ◆ YAxis()

    gp_Ax1 gp_Torus::YAxis ( ) const
    inlineconstexprnoexcept

    returns the axis Y of the torus.


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