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

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

    #include <gp_Elips2d.hxx>

    Public Member Functions

    constexpr gp_Elips2d () noexcept
     Creates an indefinite ellipse.
    constexpr gp_Elips2d (const gp_Ax2d &theMajorAxis, const double theMajorRadius, const double theMinorRadius, const bool theIsSense=true)
     Creates an ellipse with the major axis, the major and the minor radius. The location of the theMajorAxis is the center of the ellipse. The sense of parametrization is given by theIsSense. Warnings: It is possible to create an ellipse with theMajorRadius = theMinorRadius. Raises ConstructionError if theMajorRadius < theMinorRadius or theMinorRadius < 0.0.
    constexpr gp_Elips2d (const gp_Ax22d &theA, const double theMajorRadius, const double theMinorRadius)
     Creates an ellipse with radii MajorRadius and MinorRadius, positioned in the plane by coordinate system theA where:
    constexpr void SetLocation (const gp_Pnt2d &theP) noexcept
     Modifies this ellipse, by redefining its local coordinate system so that.
    void SetMajorRadius (const double theMajorRadius)
     Changes the value of the major radius. Raises ConstructionError if theMajorRadius < MinorRadius.
    void SetMinorRadius (const double theMinorRadius)
     Changes the value of the minor radius. Raises ConstructionError if MajorRadius < theMinorRadius or MinorRadius < 0.0.
    constexpr void SetAxis (const gp_Ax22d &theA) noexcept
     Modifies this ellipse, by redefining its local coordinate system so that it becomes theA.
    constexpr void SetXAxis (const gp_Ax2d &theA)
     Modifies this ellipse, by redefining its local coordinate system so that its origin and its "X Direction" become those of the axis theA. The "Y Direction" is then recomputed. The orientation of the local coordinate system is not modified.
    constexpr void SetYAxis (const gp_Ax2d &theA)
     Modifies this ellipse, by redefining its local coordinate system so that its origin and its "Y Direction" become those of the axis theA. The "X Direction" is then recomputed. The orientation of the local coordinate system is not modified.
    constexpr double Area () const noexcept
     Computes the area of the ellipse.
    void Coefficients (double &theA, double &theB, double &theC, double &theD, double &theE, double &theF) const
     Returns the coefficients of the implicit equation of the ellipse. theA * (X**2) + theB * (Y**2) + 2*theC*(X*Y) + 2*theD*X + 2*theE*Y + theF = 0.
    gp_Ax2d Directrix1 () const
     This directrix is the line normal to the XAxis of the ellipse in the local plane (Z = 0) at a distance d = MajorRadius / e from the center of the ellipse, where e is the eccentricity of the ellipse. This line is parallel to the "YAxis". The intersection point between directrix1 and the "XAxis" is the location point of the directrix1. This point is on the positive side of the "XAxis".
    gp_Ax2d Directrix2 () const
     This line is obtained by the symmetrical transformation of "Directrix1" with respect to the minor axis of the ellipse.
    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. Returns 0 if MajorRadius = 0.
    double Focal () const
     Returns the distance between the center of the ellipse and focus1 or focus2.
    gp_Pnt2d Focus1 () const
     Returns the first focus of the ellipse. This focus is on the positive side of the major axis of the ellipse.
    gp_Pnt2d Focus2 () const
     Returns the second focus of the ellipse. This focus is on the negative side of the major axis of the ellipse.
    constexpr const gp_Pnt2dLocation () const noexcept
     Returns the center 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.
    constexpr double Parameter () const noexcept
     Returns p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0.
    constexpr const gp_Ax22dAxis () const noexcept
     Returns the major axis of the ellipse.
    gp_Ax2d XAxis () const noexcept
     Returns the major axis of the ellipse.
    gp_Ax2d YAxis () const noexcept
     Returns the minor axis of the ellipse. Reverses the direction of the circle.
    void Reverse () noexcept
    gp_Elips2d Reversed () const noexcept
    constexpr bool IsDirect () const noexcept
     Returns true if the local coordinate system is direct and false in the other case.
    void Mirror (const gp_Pnt2d &theP) noexcept
    gp_Elips2d Mirrored (const gp_Pnt2d &theP) const noexcept
     Performs the symmetrical transformation of a ellipse with respect to the point theP which is the center of the symmetry.
    void Mirror (const gp_Ax2d &theA) noexcept
    gp_Elips2d Mirrored (const gp_Ax2d &theA) const noexcept
     Performs the symmetrical transformation of a ellipse with respect to an axis placement which is the axis of the symmetry.
    void Rotate (const gp_Pnt2d &theP, const double theAng)
    gp_Elips2d Rotated (const gp_Pnt2d &theP, const double theAng) const
    void Scale (const gp_Pnt2d &theP, const double theS)
    gp_Elips2d Scaled (const gp_Pnt2d &theP, const double theS) const
     Scales a ellipse. theS is the scaling value.
    void Transform (const gp_Trsf2d &theT)
    gp_Elips2d Transformed (const gp_Trsf2d &theT) const
     Transforms an ellipse with the transformation theT from class Trsf2d.
    constexpr void Translate (const gp_Vec2d &theV) noexcept
    constexpr gp_Elips2d Translated (const gp_Vec2d &theV) const noexcept
     Translates a ellipse in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.
    constexpr void Translate (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2) noexcept
    constexpr gp_Elips2d Translated (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2) const noexcept
     Translates a ellipse from the point theP1 to the point theP2.

    Detailed Description

    Describes an ellipse in the plane (2D space). An ellipse is defined by its major and minor radii and positioned in the plane with a coordinate system (a gp_Ax22d 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. This coordinate system is the "local coordinate system" of the ellipse. Its orientation (direct or indirect) gives an implicit orientation to 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_Elips2d.hxx:197
      constexpr double MinorRadius() const noexcept
      Returns the minor radius of the Ellipse.
      Definition gp_Elips2d.hxx:200
      See Also gce_MakeElips2d which provides functions for more complex ellipse constructions Geom2d_Ellipse which provides additional functions for constructing ellipses and works, in particular, with the parametric equations of ellipses

    Constructor & Destructor Documentation

    ◆ gp_Elips2d() [1/3]

    gp_Elips2d::gp_Elips2d ( )
    inlineconstexprnoexcept

    Creates an indefinite ellipse.

    ◆ gp_Elips2d() [2/3]

    gp_Elips2d::gp_Elips2d ( const gp_Ax2d & theMajorAxis,
    const double theMajorRadius,
    const double theMinorRadius,
    const bool theIsSense = true )
    inlineconstexpr

    Creates an ellipse with the major axis, the major and the minor radius. The location of the theMajorAxis is the center of the ellipse. The sense of parametrization is given by theIsSense. Warnings: It is possible to create an ellipse with theMajorRadius = theMinorRadius. Raises ConstructionError if theMajorRadius < theMinorRadius or theMinorRadius < 0.0.

    ◆ gp_Elips2d() [3/3]

    gp_Elips2d::gp_Elips2d ( const gp_Ax22d & theA,
    const double theMajorRadius,
    const double theMinorRadius )
    inlineconstexpr

    Creates an ellipse with radii MajorRadius and MinorRadius, positioned in the plane by coordinate system theA where:

    • the origin of theA is the center of the ellipse,
    • the "X Direction" of theA defines the major axis of the ellipse, that is, the major radius MajorRadius is measured along this axis, and
    • the "Y Direction" of theA defines the minor axis of the ellipse, that is, the minor radius theMinorRadius is measured along this axis, and
    • the orientation (direct or indirect sense) of theA gives the orientation of the ellipse. Warnings : It is possible to create an ellipse with theMajorRadius = theMinorRadius. Raises ConstructionError if theMajorRadius < theMinorRadius or theMinorRadius < 0.0

    Member Function Documentation

    ◆ Area()

    double gp_Elips2d::Area ( ) const
    inlineconstexprnoexcept

    Computes the area of the ellipse.

    ◆ Axis()

    const gp_Ax22d & gp_Elips2d::Axis ( ) const
    inlineconstexprnoexcept

    Returns the major axis of the ellipse.

    ◆ Coefficients()

    void gp_Elips2d::Coefficients ( double & theA,
    double & theB,
    double & theC,
    double & theD,
    double & theE,
    double & theF ) const

    Returns the coefficients of the implicit equation of the ellipse. theA * (X**2) + theB * (Y**2) + 2*theC*(X*Y) + 2*theD*X + 2*theE*Y + theF = 0.

    ◆ Directrix1()

    gp_Ax2d gp_Elips2d::Directrix1 ( ) const
    inline

    This directrix is the line normal to the XAxis of the ellipse in the local plane (Z = 0) at a distance d = MajorRadius / e from the center of the ellipse, where e is the eccentricity of the ellipse. This line is parallel to the "YAxis". The intersection point between directrix1 and the "XAxis" is the location point of the directrix1. This point is on the positive side of the "XAxis".

    Raised if Eccentricity = 0.0. (The ellipse degenerates into a circle)

    ◆ Directrix2()

    gp_Ax2d gp_Elips2d::Directrix2 ( ) const
    inline

    This line is obtained by the symmetrical transformation of "Directrix1" with respect to the minor axis of the ellipse.

    Raised if Eccentricity = 0.0. (The ellipse degenerates into a circle).

    ◆ Eccentricity()

    double gp_Elips2d::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. Returns 0 if MajorRadius = 0.

    ◆ Focal()

    double gp_Elips2d::Focal ( ) const
    inline

    Returns the distance between the center of the ellipse and focus1 or focus2.

    ◆ Focus1()

    gp_Pnt2d gp_Elips2d::Focus1 ( ) const
    inline

    Returns the first focus of the ellipse. This focus is on the positive side of the major axis of the ellipse.

    ◆ Focus2()

    gp_Pnt2d gp_Elips2d::Focus2 ( ) const
    inline

    Returns the second focus of the ellipse. This focus is on the negative side of the major axis of the ellipse.

    ◆ IsDirect()

    bool gp_Elips2d::IsDirect ( ) const
    inlineconstexprnoexcept

    Returns true if the local coordinate system is direct and false in the other case.

    ◆ Location()

    const gp_Pnt2d & gp_Elips2d::Location ( ) const
    inlineconstexprnoexcept

    Returns the center of the ellipse.

    ◆ MajorRadius()

    double gp_Elips2d::MajorRadius ( ) const
    inlineconstexprnoexcept

    Returns the major radius of the Ellipse.

    ◆ MinorRadius()

    double gp_Elips2d::MinorRadius ( ) const
    inlineconstexprnoexcept

    Returns the minor radius of the Ellipse.

    ◆ Mirror() [1/2]

    void gp_Elips2d::Mirror ( const gp_Ax2d & theA)
    noexcept

    ◆ Mirror() [2/2]

    void gp_Elips2d::Mirror ( const gp_Pnt2d & theP)
    noexcept

    ◆ Mirrored() [1/2]

    gp_Elips2d gp_Elips2d::Mirrored ( const gp_Ax2d & theA) const
    nodiscardnoexcept

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

    ◆ Mirrored() [2/2]

    gp_Elips2d gp_Elips2d::Mirrored ( const gp_Pnt2d & theP) const
    nodiscardnoexcept

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

    ◆ Parameter()

    double gp_Elips2d::Parameter ( ) const
    inlineconstexprnoexcept

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

    ◆ Reverse()

    void gp_Elips2d::Reverse ( )
    inlinenoexcept

    ◆ Reversed()

    gp_Elips2d gp_Elips2d::Reversed ( ) const
    inlinenodiscardnoexcept

    ◆ Rotate()

    void gp_Elips2d::Rotate ( const gp_Pnt2d & theP,
    const double theAng )
    inline

    ◆ Rotated()

    gp_Elips2d gp_Elips2d::Rotated ( const gp_Pnt2d & theP,
    const double theAng ) const
    inlinenodiscard

    ◆ Scale()

    void gp_Elips2d::Scale ( const gp_Pnt2d & theP,
    const double theS )
    inline

    ◆ Scaled()

    gp_Elips2d gp_Elips2d::Scaled ( const gp_Pnt2d & theP,
    const double theS ) const
    inlinenodiscard

    Scales a ellipse. theS is the scaling value.

    ◆ SetAxis()

    void gp_Elips2d::SetAxis ( const gp_Ax22d & theA)
    inlineconstexprnoexcept

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

    ◆ SetLocation()

    void gp_Elips2d::SetLocation ( const gp_Pnt2d & theP)
    inlineconstexprnoexcept

    Modifies this ellipse, by redefining its local coordinate system so that.

    • its origin becomes theP.

    ◆ SetMajorRadius()

    void gp_Elips2d::SetMajorRadius ( const double theMajorRadius)
    inline

    Changes the value of the major radius. Raises ConstructionError if theMajorRadius < MinorRadius.

    ◆ SetMinorRadius()

    void gp_Elips2d::SetMinorRadius ( const double theMinorRadius)
    inline

    Changes the value of the minor radius. Raises ConstructionError if MajorRadius < theMinorRadius or MinorRadius < 0.0.

    ◆ SetXAxis()

    void gp_Elips2d::SetXAxis ( const gp_Ax2d & theA)
    inlineconstexpr

    Modifies this ellipse, by redefining its local coordinate system so that its origin and its "X Direction" become those of the axis theA. The "Y Direction" is then recomputed. The orientation of the local coordinate system is not modified.

    ◆ SetYAxis()

    void gp_Elips2d::SetYAxis ( const gp_Ax2d & theA)
    inlineconstexpr

    Modifies this ellipse, by redefining its local coordinate system so that its origin and its "Y Direction" become those of the axis theA. The "X Direction" is then recomputed. The orientation of the local coordinate system is not modified.

    ◆ Transform()

    void gp_Elips2d::Transform ( const gp_Trsf2d & theT)
    inline

    ◆ Transformed()

    gp_Elips2d gp_Elips2d::Transformed ( const gp_Trsf2d & theT) const
    inlinenodiscard

    Transforms an ellipse with the transformation theT from class Trsf2d.

    ◆ Translate() [1/2]

    void gp_Elips2d::Translate ( const gp_Pnt2d & theP1,
    const gp_Pnt2d & theP2 )
    inlineconstexprnoexcept

    ◆ Translate() [2/2]

    void gp_Elips2d::Translate ( const gp_Vec2d & theV)
    inlineconstexprnoexcept

    ◆ Translated() [1/2]

    gp_Elips2d gp_Elips2d::Translated ( const gp_Pnt2d & theP1,
    const gp_Pnt2d & theP2 ) const
    inlinenodiscardconstexprnoexcept

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

    ◆ Translated() [2/2]

    gp_Elips2d gp_Elips2d::Translated ( const gp_Vec2d & theV) const
    inlinenodiscardconstexprnoexcept

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

    ◆ XAxis()

    gp_Ax2d gp_Elips2d::XAxis ( ) const
    inlinenoexcept

    Returns the major axis of the ellipse.

    ◆ YAxis()

    gp_Ax2d gp_Elips2d::YAxis ( ) const
    inlinenoexcept

    Returns the minor axis of the ellipse. Reverses the direction of the circle.


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