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_Cone Class Reference

    Defines an infinite conical surface. A cone is defined by its half-angle (can be negative) at the apex and positioned in space with a coordinate system (a gp_Ax3 object) and a "reference radius" where: More...

    #include <gp_Cone.hxx>

    Public Member Functions

    constexpr gp_Cone () noexcept
     Creates an indefinite Cone.
    constexpr gp_Cone (const gp_Ax3 &theA3, const double theAng, const double theRadius)
     Creates an infinite conical surface. theA3 locates the cone in the space and defines the reference plane of the surface. Ang is the conical surface semi-angle. Its absolute value is in range ]0, PI/2[. theRadius is the radius of the circle in the reference plane of the cone. theRaises ConstructionError.
    void SetAxis (const gp_Ax1 &theA1)
     Changes the symmetry axis of the cone. Raises ConstructionError the direction of theA1 is parallel to the "XDirection" of the coordinate system of the cone.
    constexpr void SetLocation (const gp_Pnt &theLoc) noexcept
     Changes the location of the cone.
    constexpr void SetPosition (const gp_Ax3 &theA3) noexcept
     Changes the local coordinate system of the cone. This coordinate system defines the reference plane of the cone.
    void SetRadius (const double theR)
     Changes the radius of the cone in the reference plane of the cone. Raised if theR < 0.0.
    void SetSemiAngle (const double theAng)
     Changes the semi-angle of the cone. Semi-angle can be negative. Its absolute value std::abs(theAng) is in range ]0,PI/2[. Raises ConstructionError if std::abs(theAng) < Resolution from gp or std::abs(theAng) >= PI/2.
    gp_Pnt Apex () const
     Computes the cone's top. The Apex of the cone is on the negative side of the symmetry axis of the cone.
    constexpr void UReverse () noexcept
     Reverses the U parametrization of the cone reversing the YAxis.
    constexpr void VReverse () noexcept
     Reverses the V parametrization of the cone reversing the ZAxis.
    bool Direct () const
     Returns true if the local coordinate system of this cone is right-handed.
    constexpr const gp_Ax1Axis () const noexcept
     returns the symmetry axis of the cone.
    void Coefficients (double &theA1, double &theA2, double &theA3, double &theB1, double &theB2, double &theB3, double &theC1, double &theC2, double &theC3, double &theD) const
     Computes the coefficients of the implicit equation of the quadric in the absolute cartesian coordinates system : theA1.X**2 + theA2.Y**2 + theA3.Z**2 + 2.(theB1.X.Y + theB2.X.Z + theB3.Y.Z) + 2.(theC1.X + theC2.Y + theC3.Z) + theD = 0.0.
    constexpr const gp_PntLocation () const noexcept
     returns the "Location" point of the cone.
    constexpr const gp_Ax3Position () const noexcept
     Returns the local coordinates system of the cone.
    constexpr double RefRadius () const noexcept
     Returns the radius of the cone in the reference plane.
    constexpr double SemiAngle () const noexcept
     Returns the half-angle at the apex of this cone. Attention! Semi-angle can be negative.
    constexpr gp_Ax1 XAxis () const noexcept
     Returns the XAxis of the reference plane.
    constexpr gp_Ax1 YAxis () const noexcept
     Returns the YAxis of the reference plane.
    void Mirror (const gp_Pnt &theP) noexcept
    gp_Cone Mirrored (const gp_Pnt &theP) const noexcept
     Performs the symmetrical transformation of a cone with respect to the point theP which is the center of the symmetry.
    void Mirror (const gp_Ax1 &theA1) noexcept
    gp_Cone Mirrored (const gp_Ax1 &theA1) const noexcept
     Performs the symmetrical transformation of a cone with respect to an axis placement which is the axis of the symmetry.
    void Mirror (const gp_Ax2 &theA2) noexcept
    gp_Cone Mirrored (const gp_Ax2 &theA2) const noexcept
     Performs the symmetrical transformation of a cone 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_Cone Rotated (const gp_Ax1 &theA1, const double theAng) const
     Rotates a cone. theA1 is the axis of the rotation. Ang is the angular value of the rotation in radians.
    void Scale (const gp_Pnt &theP, const double theS)
    gp_Cone Scaled (const gp_Pnt &theP, const double theS) const
     Scales a cone. theS is the scaling value. The absolute value of theS is used to scale the cone.
    void Transform (const gp_Trsf &theT)
    gp_Cone Transformed (const gp_Trsf &theT) const
     Transforms a cone with the transformation theT from class Trsf.
    constexpr void Translate (const gp_Vec &theV) noexcept
    constexpr gp_Cone Translated (const gp_Vec &theV) const noexcept
     Translates a cone 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_Cone Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const noexcept
     Translates a cone from the point P1 to the point P2.

    Detailed Description

    Defines an infinite conical surface. A cone is defined by its half-angle (can be negative) at the apex and positioned in space with a coordinate system (a gp_Ax3 object) and a "reference radius" where:

    • the "main Axis" of the coordinate system is the axis of revolution of the cone,
    • the plane defined by the origin, the "X Direction" and the "Y Direction" of the coordinate system is the reference plane of the cone; the intersection of the cone with this reference plane is a circle of radius equal to the reference radius, if the half-angle is positive, the apex of the cone is on the negative side of the "main Axis" of the coordinate system. If the half-angle is negative, the apex is on the positive side. This coordinate system is the "local coordinate system" of the cone. Note: when a gp_Cone cone is converted into a Geom_ConicalSurface cone, 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 cone and the origin of the parameters,
    • its implicit orientation (right-handed or left-handed) gives the orientation (direct or indirect) of the Geom_ConicalSurface cone. See Also gce_MakeCone which provides functions for more complex cone constructions Geom_ConicalSurface which provides additional functions for constructing cones and works, in particular, with the parametric equations of cones gp_Ax3

    Constructor & Destructor Documentation

    ◆ gp_Cone() [1/2]

    gp_Cone::gp_Cone ( )
    inlineconstexprnoexcept

    Creates an indefinite Cone.

    ◆ gp_Cone() [2/2]

    gp_Cone::gp_Cone ( const gp_Ax3 & theA3,
    const double theAng,
    const double theRadius )
    inlineconstexpr

    Creates an infinite conical surface. theA3 locates the cone in the space and defines the reference plane of the surface. Ang is the conical surface semi-angle. Its absolute value is in range ]0, PI/2[. theRadius is the radius of the circle in the reference plane of the cone. theRaises ConstructionError.

    • if theRadius is lower than 0.0
    • std::abs(theAng) < Resolution from gp or std::abs(theAng) >= (PI/2) - Resolution.

    Member Function Documentation

    ◆ Apex()

    gp_Pnt gp_Cone::Apex ( ) const
    inline

    Computes the cone's top. The Apex of the cone is on the negative side of the symmetry axis of the cone.

    ◆ Axis()

    const gp_Ax1 & gp_Cone::Axis ( ) const
    inlineconstexprnoexcept

    returns the symmetry axis of the cone.

    ◆ Coefficients()

    void gp_Cone::Coefficients ( double & theA1,
    double & theA2,
    double & theA3,
    double & theB1,
    double & theB2,
    double & theB3,
    double & theC1,
    double & theC2,
    double & theC3,
    double & theD ) const

    Computes the coefficients of the implicit equation of the quadric in the absolute cartesian coordinates system : theA1.X**2 + theA2.Y**2 + theA3.Z**2 + 2.(theB1.X.Y + theB2.X.Z + theB3.Y.Z) + 2.(theC1.X + theC2.Y + theC3.Z) + theD = 0.0.

    ◆ Direct()

    bool gp_Cone::Direct ( ) const
    inline

    Returns true if the local coordinate system of this cone is right-handed.

    ◆ Location()

    const gp_Pnt & gp_Cone::Location ( ) const
    inlineconstexprnoexcept

    returns the "Location" point of the cone.

    ◆ Mirror() [1/3]

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

    ◆ Mirror() [2/3]

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

    ◆ Mirror() [3/3]

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

    ◆ Mirrored() [1/3]

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

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

    ◆ Mirrored() [2/3]

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

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

    ◆ Mirrored() [3/3]

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

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

    ◆ Position()

    const gp_Ax3 & gp_Cone::Position ( ) const
    inlineconstexprnoexcept

    Returns the local coordinates system of the cone.

    ◆ RefRadius()

    double gp_Cone::RefRadius ( ) const
    inlineconstexprnoexcept

    Returns the radius of the cone in the reference plane.

    ◆ Rotate()

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

    ◆ Rotated()

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

    Rotates a cone. theA1 is the axis of the rotation. Ang is the angular value of the rotation in radians.

    ◆ Scale()

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

    ◆ Scaled()

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

    Scales a cone. theS is the scaling value. The absolute value of theS is used to scale the cone.

    ◆ SemiAngle()

    double gp_Cone::SemiAngle ( ) const
    inlineconstexprnoexcept

    Returns the half-angle at the apex of this cone. Attention! Semi-angle can be negative.

    ◆ SetAxis()

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

    Changes the symmetry axis of the cone. Raises ConstructionError the direction of theA1 is parallel to the "XDirection" of the coordinate system of the cone.

    ◆ SetLocation()

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

    Changes the location of the cone.

    ◆ SetPosition()

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

    Changes the local coordinate system of the cone. This coordinate system defines the reference plane of the cone.

    ◆ SetRadius()

    void gp_Cone::SetRadius ( const double theR)
    inline

    Changes the radius of the cone in the reference plane of the cone. Raised if theR < 0.0.

    ◆ SetSemiAngle()

    void gp_Cone::SetSemiAngle ( const double theAng)
    inline

    Changes the semi-angle of the cone. Semi-angle can be negative. Its absolute value std::abs(theAng) is in range ]0,PI/2[. Raises ConstructionError if std::abs(theAng) < Resolution from gp or std::abs(theAng) >= PI/2.

    • Resolution

    ◆ Transform()

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

    ◆ Transformed()

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

    Transforms a cone with the transformation theT from class Trsf.

    ◆ Translate() [1/2]

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

    ◆ Translate() [2/2]

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

    ◆ Translated() [1/2]

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

    Translates a cone from the point P1 to the point P2.

    ◆ Translated() [2/2]

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

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

    ◆ UReverse()

    void gp_Cone::UReverse ( )
    inlineconstexprnoexcept

    Reverses the U parametrization of the cone reversing the YAxis.

    ◆ VReverse()

    void gp_Cone::VReverse ( )
    inlineconstexprnoexcept

    Reverses the V parametrization of the cone reversing the ZAxis.

    ◆ XAxis()

    gp_Ax1 gp_Cone::XAxis ( ) const
    inlineconstexprnoexcept

    Returns the XAxis of the reference plane.

    ◆ YAxis()

    gp_Ax1 gp_Cone::YAxis ( ) const
    inlineconstexprnoexcept

    Returns the YAxis of the reference plane.


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