Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
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:

Constructor & Destructor Documentation

◆ gp_Elips2d() [1/3]

constexpr gp_Elips2d::gp_Elips2d ( )
inlineconstexprnoexcept

Creates an indefinite ellipse.

◆ gp_Elips2d() [2/3]

constexpr 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]

constexpr 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()

constexpr double gp_Elips2d::Area ( ) const
inlineconstexprnoexcept

Computes the area of the ellipse.

◆ Axis()

constexpr 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()

constexpr bool gp_Elips2d::IsDirect ( ) const
inlineconstexprnoexcept

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

◆ Location()

constexpr const gp_Pnt2d & gp_Elips2d::Location ( ) const
inlineconstexprnoexcept

Returns the center of the ellipse.

◆ MajorRadius()

constexpr double gp_Elips2d::MajorRadius ( ) const
inlineconstexprnoexcept

Returns the major radius of the Ellipse.

◆ MinorRadius()

constexpr 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
noexcept

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
noexcept

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

◆ Parameter()

constexpr 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
inlinenoexcept

◆ 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
inline

◆ 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
inline

Scales a ellipse. theS is the scaling value.

◆ SetAxis()

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

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

◆ SetLocation()

constexpr 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()

constexpr 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()

constexpr 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
inline

Transforms an ellipse with the transformation theT from class Trsf2d.

◆ Translate() [1/2]

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

◆ Translate() [2/2]

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

◆ Translated() [1/2]

constexpr gp_Elips2d gp_Elips2d::Translated ( const gp_Pnt2d & theP1,
const gp_Pnt2d & theP2 ) const
inlineconstexprnoexcept

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

◆ Translated() [2/2]

constexpr gp_Elips2d gp_Elips2d::Translated ( const gp_Vec2d & theV) const
inlineconstexprnoexcept

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: