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

    Describes an ellipse in 3D space. An ellipse is defined by its major and minor radii and positioned in space with a coordinate system (a gp_Ax2 object) as follows: More...

    #include <gp_Elips.hxx>

    Public Member Functions

    constexpr gp_Elips () noexcept
     Creates an indefinite ellipse.
    constexpr gp_Elips (const gp_Ax2 &theA2, const double theMajorRadius, const double theMinorRadius)
     The major radius of the ellipse is on the "XAxis" and the minor radius is on the "YAxis" of the ellipse. The "XAxis" is defined with the "XDirection" of theA2 and the "YAxis" is defined with the "YDirection" of theA2. Warnings : It is not forbidden to create an ellipse with theMajorRadius = theMinorRadius. Raises ConstructionError if theMajorRadius < theMinorRadius or theMinorRadius < 0.
    void SetAxis (const gp_Ax1 &theA1)
     Changes the axis normal to the plane of the ellipse. It modifies the definition of this plane. The "XAxis" and the "YAxis" are recomputed. The local coordinate system is redefined so that:
    constexpr void SetLocation (const gp_Pnt &theP) noexcept
     Modifies this ellipse, by redefining its local coordinate so that its origin becomes theP.
    void SetMajorRadius (const double theMajorRadius)
     The major radius of the ellipse is on the "XAxis" (major axis) of the ellipse. Raises ConstructionError if theMajorRadius < MinorRadius.
    void SetMinorRadius (const double theMinorRadius)
     The minor radius of the ellipse is on the "YAxis" (minor axis) of the ellipse. Raises ConstructionError if theMinorRadius > MajorRadius or MinorRadius < 0.
    constexpr void SetPosition (const gp_Ax2 &theA2) noexcept
     Modifies this ellipse, by redefining its local coordinate so that it becomes theA2.
    constexpr double Area () const noexcept
     Computes the area of the Ellipse.
    constexpr const gp_Ax1Axis () const noexcept
     Computes the axis normal to the plane of the ellipse.
    gp_Ax1 Directrix1 () const
     Computes the first or second directrix of this ellipse. These are the lines, in the plane of the ellipse, normal to the major axis, at a distance equal to MajorRadius/e from the center of the ellipse, where e is the eccentricity of the ellipse. The first directrix (Directrix1) is on the positive side of the major axis. The second directrix (Directrix2) is on the negative side. The directrix is returned as an axis (gp_Ax1 object), the origin of which is situated on the "X Axis" of the local coordinate system of this ellipse. Exceptions Standard_ConstructionError if the eccentricity is null (the ellipse has degenerated into a circle).
    gp_Ax1 Directrix2 () const
     This line is obtained by the symmetrical transformation of "Directrix1" with respect to the "YAxis" of the ellipse. Exceptions Standard_ConstructionError if the eccentricity is null (the ellipse has degenerated into a circle).
    double Eccentricity () const
     Returns the eccentricity of the ellipse between 0.0 and 1.0 If f is the distance between the center of the ellipse and the Focus1 then the eccentricity e = f / MajorRadius. Raises ConstructionError if MajorRadius = 0.0.
    double Focal () const
     Computes the focal distance. It is the distance between the two focus focus1 and focus2 of the ellipse.
    gp_Pnt Focus1 () const
     Returns the first focus of the ellipse. This focus is on the positive side of the "XAxis" of the ellipse.
    gp_Pnt Focus2 () const
     Returns the second focus of the ellipse. This focus is on the negative side of the "XAxis" of the ellipse.
    constexpr const gp_PntLocation () const noexcept
     Returns the center of the ellipse. It is the "Location" point of the coordinate system of the ellipse.
    constexpr double MajorRadius () const noexcept
     Returns the major radius of the ellipse.
    constexpr double MinorRadius () const noexcept
     Returns the minor radius of the ellipse.
    double Parameter () const
     Returns p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0.
    constexpr const gp_Ax2Position () const noexcept
     Returns the coordinate system of the ellipse.
    constexpr gp_Ax1 XAxis () const noexcept
     Returns the "XAxis" of the ellipse whose origin is the center of this ellipse. It is the major axis of the ellipse.
    constexpr gp_Ax1 YAxis () const noexcept
     Returns the "YAxis" of the ellipse whose unit vector is the "X Direction" or the "Y Direction" of the local coordinate system of this ellipse. This is the minor axis of the ellipse.
    void Mirror (const gp_Pnt &theP) noexcept
    gp_Elips Mirrored (const gp_Pnt &theP) const noexcept
     Performs the symmetrical transformation of an ellipse with respect to the point theP which is the center of the symmetry.
    void Mirror (const gp_Ax1 &theA1)
    gp_Elips Mirrored (const gp_Ax1 &theA1) const
     Performs the symmetrical transformation of an ellipse with respect to an axis placement which is the axis of the symmetry.
    void Mirror (const gp_Ax2 &theA2)
    gp_Elips Mirrored (const gp_Ax2 &theA2) const
     Performs the symmetrical transformation of an ellipse with respect to a plane. The axis placement theA2 locates the plane of the symmetry (Location, XDirection, YDirection).
    void Rotate (const gp_Ax1 &theA1, const double theAng)
    gp_Elips Rotated (const gp_Ax1 &theA1, const double theAng) const
     Rotates an ellipse. 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_Elips Scaled (const gp_Pnt &theP, const double theS) const
     Scales an ellipse. theS is the scaling value.
    void Transform (const gp_Trsf &theT)
    gp_Elips Transformed (const gp_Trsf &theT) const
     Transforms an ellipse with the transformation theT from class Trsf.
    constexpr void Translate (const gp_Vec &theV) noexcept
    constexpr gp_Elips Translated (const gp_Vec &theV) const noexcept
     Translates an ellipse 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_Elips Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const noexcept
     Translates an ellipse from the point theP1 to the point theP2.

    Detailed Description

    Describes an ellipse in 3D space. An ellipse is defined by its major and minor radii and positioned in space with a coordinate system (a gp_Ax2 object) as follows:

    • the origin of the coordinate system is the center of the ellipse,
    • its "X Direction" defines the major axis of the ellipse, and
    • its "Y Direction" defines the minor axis of the ellipse. Together, the origin, "X Direction" and "Y Direction" of this coordinate system define the plane of the ellipse. This coordinate system is the "local coordinate system" of the ellipse. In this coordinate system, the equation of the ellipse is:
      X*X / (MajorRadius**2) + Y*Y / (MinorRadius**2) = 1.0
      constexpr double MajorRadius() const noexcept
      Returns the major radius of the ellipse.
      Definition gp_Elips.hxx:171
      constexpr double MinorRadius() const noexcept
      Returns the minor radius of the ellipse.
      Definition gp_Elips.hxx:174
      The "main Direction" of the local coordinate system gives the normal vector to the plane of the ellipse. This vector gives an implicit orientation to the ellipse (definition of the trigonometric sense). We refer to the "main Axis" of the local coordinate system as the "Axis" of the ellipse. See Also gce_MakeElips which provides functions for more complex ellipse constructions Geom_Ellipse which provides additional functions for constructing ellipses and works, in particular, with the parametric equations of ellipses

    Constructor & Destructor Documentation

    ◆ gp_Elips() [1/2]

    gp_Elips::gp_Elips ( )
    inlineconstexprnoexcept

    Creates an indefinite ellipse.

    ◆ gp_Elips() [2/2]

    gp_Elips::gp_Elips ( const gp_Ax2 & theA2,
    const double theMajorRadius,
    const double theMinorRadius )
    inlineconstexpr

    The major radius of the ellipse is on the "XAxis" and the minor radius is on the "YAxis" of the ellipse. The "XAxis" is defined with the "XDirection" of theA2 and the "YAxis" is defined with the "YDirection" of theA2. Warnings : It is not forbidden to create an ellipse with theMajorRadius = theMinorRadius. Raises ConstructionError if theMajorRadius < theMinorRadius or theMinorRadius < 0.

    Member Function Documentation

    ◆ Area()

    double gp_Elips::Area ( ) const
    inlineconstexprnoexcept

    Computes the area of the Ellipse.

    ◆ Axis()

    const gp_Ax1 & gp_Elips::Axis ( ) const
    inlineconstexprnoexcept

    Computes the axis normal to the plane of the ellipse.

    ◆ Directrix1()

    gp_Ax1 gp_Elips::Directrix1 ( ) const
    inline

    Computes the first or second directrix of this ellipse. These are the lines, in the plane of the ellipse, normal to the major axis, at a distance equal to MajorRadius/e from the center of the ellipse, where e is the eccentricity of the ellipse. The first directrix (Directrix1) is on the positive side of the major axis. The second directrix (Directrix2) is on the negative side. The directrix is returned as an axis (gp_Ax1 object), the origin of which is situated on the "X Axis" of the local coordinate system of this ellipse. Exceptions Standard_ConstructionError if the eccentricity is null (the ellipse has degenerated into a circle).

    ◆ Directrix2()

    gp_Ax1 gp_Elips::Directrix2 ( ) const
    inline

    This line is obtained by the symmetrical transformation of "Directrix1" with respect to the "YAxis" of the ellipse. Exceptions Standard_ConstructionError if the eccentricity is null (the ellipse has degenerated into a circle).

    ◆ Eccentricity()

    double gp_Elips::Eccentricity ( ) const
    inline

    Returns the eccentricity of the ellipse between 0.0 and 1.0 If f is the distance between the center of the ellipse and the Focus1 then the eccentricity e = f / MajorRadius. Raises ConstructionError if MajorRadius = 0.0.

    ◆ Focal()

    double gp_Elips::Focal ( ) const
    inline

    Computes the focal distance. It is the distance between the two focus focus1 and focus2 of the ellipse.

    ◆ Focus1()

    gp_Pnt gp_Elips::Focus1 ( ) const
    inline

    Returns the first focus of the ellipse. This focus is on the positive side of the "XAxis" of the ellipse.

    ◆ Focus2()

    gp_Pnt gp_Elips::Focus2 ( ) const
    inline

    Returns the second focus of the ellipse. This focus is on the negative side of the "XAxis" of the ellipse.

    ◆ Location()

    const gp_Pnt & gp_Elips::Location ( ) const
    inlineconstexprnoexcept

    Returns the center of the ellipse. It is the "Location" point of the coordinate system of the ellipse.

    ◆ MajorRadius()

    double gp_Elips::MajorRadius ( ) const
    inlineconstexprnoexcept

    Returns the major radius of the ellipse.

    ◆ MinorRadius()

    double gp_Elips::MinorRadius ( ) const
    inlineconstexprnoexcept

    Returns the minor radius of the ellipse.

    ◆ Mirror() [1/3]

    void gp_Elips::Mirror ( const gp_Ax1 & theA1)

    ◆ Mirror() [2/3]

    void gp_Elips::Mirror ( const gp_Ax2 & theA2)

    ◆ Mirror() [3/3]

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

    ◆ Mirrored() [1/3]

    gp_Elips gp_Elips::Mirrored ( const gp_Ax1 & theA1) const
    nodiscard

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

    ◆ Mirrored() [2/3]

    gp_Elips gp_Elips::Mirrored ( const gp_Ax2 & theA2) const
    nodiscard

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

    ◆ Mirrored() [3/3]

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

    Performs the symmetrical transformation of an ellipse with respect to the point theP which is the center of the symmetry.

    ◆ Parameter()

    double gp_Elips::Parameter ( ) const
    inline

    Returns p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0.

    ◆ Position()

    const gp_Ax2 & gp_Elips::Position ( ) const
    inlineconstexprnoexcept

    Returns the coordinate system of the ellipse.

    ◆ Rotate()

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

    ◆ Rotated()

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

    Rotates an ellipse. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.

    ◆ Scale()

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

    ◆ Scaled()

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

    Scales an ellipse. theS is the scaling value.

    ◆ SetAxis()

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

    Changes the axis normal to the plane of the ellipse. It modifies the definition of this plane. The "XAxis" and the "YAxis" are recomputed. The local coordinate system is redefined so that:

    • its origin and "main Direction" become those of the axis theA1 (the "X Direction" and "Y Direction" are then recomputed in the same way as for any gp_Ax2), or Raises ConstructionError if the direction of theA1 is parallel to the direction of the "XAxis" of the ellipse.

    ◆ SetLocation()

    void gp_Elips::SetLocation ( const gp_Pnt & theP)
    inlineconstexprnoexcept

    Modifies this ellipse, by redefining its local coordinate so that its origin becomes theP.

    ◆ SetMajorRadius()

    void gp_Elips::SetMajorRadius ( const double theMajorRadius)
    inline

    The major radius of the ellipse is on the "XAxis" (major axis) of the ellipse. Raises ConstructionError if theMajorRadius < MinorRadius.

    ◆ SetMinorRadius()

    void gp_Elips::SetMinorRadius ( const double theMinorRadius)
    inline

    The minor radius of the ellipse is on the "YAxis" (minor axis) of the ellipse. Raises ConstructionError if theMinorRadius > MajorRadius or MinorRadius < 0.

    ◆ SetPosition()

    void gp_Elips::SetPosition ( const gp_Ax2 & theA2)
    inlineconstexprnoexcept

    Modifies this ellipse, by redefining its local coordinate so that it becomes theA2.

    ◆ Transform()

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

    ◆ Transformed()

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

    Transforms an ellipse with the transformation theT from class Trsf.

    ◆ Translate() [1/2]

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

    ◆ Translate() [2/2]

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

    ◆ Translated() [1/2]

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

    Translates an ellipse from the point theP1 to the point theP2.

    ◆ Translated() [2/2]

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

    Translates an ellipse in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.

    ◆ XAxis()

    gp_Ax1 gp_Elips::XAxis ( ) const
    inlineconstexprnoexcept

    Returns the "XAxis" of the ellipse whose origin is the center of this ellipse. It is the major axis of the ellipse.

    ◆ YAxis()

    gp_Ax1 gp_Elips::YAxis ( ) const
    inlineconstexprnoexcept

    Returns the "YAxis" of the ellipse whose unit vector is the "X Direction" or the "Y Direction" of the local coordinate system of this ellipse. This is the minor axis of the ellipse.


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