Open CASCADE Technology 7.8.2.dev
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

 gp_Elips2d ()
 Creates an indefinite ellipse.
 
 gp_Elips2d (const gp_Ax2d &theMajorAxis, const Standard_Real theMajorRadius, const Standard_Real theMinorRadius, const Standard_Boolean theIsSense=Standard_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.
 
 gp_Elips2d (const gp_Ax22d &theA, const Standard_Real theMajorRadius, const Standard_Real theMinorRadius)
 Creates an ellipse with radii MajorRadius and MinorRadius, positioned in the plane by coordinate system theA where:
 
void SetLocation (const gp_Pnt2d &theP)
 Modifies this ellipse, by redefining its local coordinate system so that.
 
void SetMajorRadius (const Standard_Real theMajorRadius)
 Changes the value of the major radius. Raises ConstructionError if theMajorRadius < MinorRadius.
 
void SetMinorRadius (const Standard_Real theMinorRadius)
 Changes the value of the minor radius. Raises ConstructionError if MajorRadius < theMinorRadius or MinorRadius < 0.0.
 
void SetAxis (const gp_Ax22d &theA)
 Modifies this ellipse, by redefining its local coordinate system so that it becomes theA.
 
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.
 
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.
 
Standard_Real Area () const
 Computes the area of the ellipse.
 
void Coefficients (Standard_Real &theA, Standard_Real &theB, Standard_Real &theC, Standard_Real &theD, Standard_Real &theE, Standard_Real &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.
 
Standard_Real 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.
 
Standard_Real 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.
 
const gp_Pnt2dLocation () const
 Returns the center of the ellipse.
 
Standard_Real MajorRadius () const
 Returns the major radius of the Ellipse.
 
Standard_Real MinorRadius () const
 Returns the minor radius of the Ellipse.
 
Standard_Real Parameter () const
 Returns p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0.
 
const gp_Ax22dAxis () const
 Returns the major axis of the ellipse.
 
gp_Ax2d XAxis () const
 Returns the major axis of the ellipse.
 
gp_Ax2d YAxis () const
 Returns the minor axis of the ellipse. Reverses the direction of the circle.
 
void Reverse ()
 
gp_Elips2d Reversed () const
 
Standard_Boolean IsDirect () const
 Returns true if the local coordinate system is direct and false in the other case.
 
void Mirror (const gp_Pnt2d &theP)
 
gp_Elips2d Mirrored (const gp_Pnt2d &theP) const
 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)
 
gp_Elips2d Mirrored (const gp_Ax2d &theA) const
 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 Standard_Real theAng)
 
gp_Elips2d Rotated (const gp_Pnt2d &theP, const Standard_Real theAng) const
 
void Scale (const gp_Pnt2d &theP, const Standard_Real theS)
 
gp_Elips2d Scaled (const gp_Pnt2d &theP, const Standard_Real 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.
 
void Translate (const gp_Vec2d &theV)
 
gp_Elips2d Translated (const gp_Vec2d &theV) const
 Translates a ellipse in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.
 
void Translate (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2)
 
gp_Elips2d Translated (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2) const
 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
    Standard_Real MinorRadius() const
    Returns the minor radius of the Ellipse.
    Definition gp_Elips2d.hxx:193
    Standard_Real MajorRadius() const
    Returns the major radius of the Ellipse.
    Definition gp_Elips2d.hxx:190
    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 ( )
inline

Creates an indefinite ellipse.

◆ gp_Elips2d() [2/3]

gp_Elips2d::gp_Elips2d ( const gp_Ax2d & theMajorAxis,
const Standard_Real theMajorRadius,
const Standard_Real theMinorRadius,
const Standard_Boolean theIsSense = Standard_True )
inline

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 Standard_Real theMajorRadius,
const Standard_Real theMinorRadius )
inline

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

Standard_Real gp_Elips2d::Area ( ) const
inline

Computes the area of the ellipse.

◆ Axis()

const gp_Ax22d & gp_Elips2d::Axis ( ) const
inline

Returns the major axis of the ellipse.

◆ Coefficients()

void gp_Elips2d::Coefficients ( Standard_Real & theA,
Standard_Real & theB,
Standard_Real & theC,
Standard_Real & theD,
Standard_Real & theE,
Standard_Real & 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()

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

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

Standard_Boolean gp_Elips2d::IsDirect ( ) const
inline

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

◆ Location()

const gp_Pnt2d & gp_Elips2d::Location ( ) const
inline

Returns the center of the ellipse.

◆ MajorRadius()

Standard_Real gp_Elips2d::MajorRadius ( ) const
inline

Returns the major radius of the Ellipse.

◆ MinorRadius()

Standard_Real gp_Elips2d::MinorRadius ( ) const
inline

Returns the minor radius of the Ellipse.

◆ Mirror() [1/2]

void gp_Elips2d::Mirror ( const gp_Ax2d & theA)

◆ Mirror() [2/2]

void gp_Elips2d::Mirror ( const gp_Pnt2d & theP)

◆ Mirrored() [1/2]

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

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

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

◆ Parameter()

Standard_Real gp_Elips2d::Parameter ( ) const
inline

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

◆ Reverse()

void gp_Elips2d::Reverse ( )
inline

◆ Reversed()

gp_Elips2d gp_Elips2d::Reversed ( ) const
inline

◆ Rotate()

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

◆ Rotated()

gp_Elips2d gp_Elips2d::Rotated ( const gp_Pnt2d & theP,
const Standard_Real theAng ) const
inline

◆ Scale()

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

◆ Scaled()

gp_Elips2d gp_Elips2d::Scaled ( const gp_Pnt2d & theP,
const Standard_Real theS ) const
inline

Scales a ellipse. theS is the scaling value.

◆ SetAxis()

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

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

◆ SetLocation()

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

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

  • its origin becomes theP.

◆ SetMajorRadius()

void gp_Elips2d::SetMajorRadius ( const Standard_Real theMajorRadius)
inline

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

◆ SetMinorRadius()

void gp_Elips2d::SetMinorRadius ( const Standard_Real 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)
inline

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

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]

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

◆ Translate() [2/2]

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

◆ Translated() [1/2]

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

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

◆ Translated() [2/2]

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

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
inline

Returns the major axis of the ellipse.

◆ YAxis()

gp_Ax2d gp_Elips2d::YAxis ( ) const
inline

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


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