Open CASCADE Technology
7.5.0
|
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. More... | |
gp_Elips2d (const gp_Ax2d &MajorAxis, const Standard_Real MajorRadius, const Standard_Real MinorRadius, const Standard_Boolean Sense=Standard_True) | |
Creates an ellipse with the major axis, the major and the minor radius. The location of the MajorAxis is the center of the ellipse. The sense of parametrization is given by Sense. Warnings : It is possible to create an ellipse with MajorRadius = MinorRadius. Raises ConstructionError if MajorRadius < MinorRadius or MinorRadius < 0.0. More... | |
gp_Elips2d (const gp_Ax22d &A, const Standard_Real MajorRadius, const Standard_Real MinorRadius) | |
Creates an ellipse with radii MajorRadius and MinorRadius, positioned in the plane by coordinate system A where: More... | |
void | SetLocation (const gp_Pnt2d &P) |
Modifies this ellipse, by redefining its local coordinate system so that. More... | |
void | SetMajorRadius (const Standard_Real MajorRadius) |
Changes the value of the major radius. Raises ConstructionError if MajorRadius < MinorRadius. More... | |
void | SetMinorRadius (const Standard_Real MinorRadius) |
Changes the value of the minor radius. Raises ConstructionError if MajorRadius < MinorRadius or MinorRadius < 0.0. More... | |
void | SetAxis (const gp_Ax22d &A) |
Modifies this ellipse, by redefining its local coordinate system so that it becomes A. More... | |
void | SetXAxis (const gp_Ax2d &A) |
Modifies this ellipse, by redefining its local coordinate system so that its origin and its "X Direction" become those of the axis A. The "Y Direction" is then recomputed. The orientation of the local coordinate system is not modified. More... | |
void | SetYAxis (const gp_Ax2d &A) |
Modifies this ellipse, by redefining its local coordinate system so that its origin and its "Y Direction" become those of the axis A. The "X Direction" is then recomputed. The orientation of the local coordinate system is not modified. More... | |
Standard_Real | Area () const |
Computes the area of the ellipse. More... | |
void | Coefficients (Standard_Real &A, Standard_Real &B, Standard_Real &C, Standard_Real &D, Standard_Real &E, Standard_Real &F) const |
Returns the coefficients of the implicit equation of the ellipse. A * (X**2) + B * (Y**2) + 2*C*(X*Y) + 2*D*X + 2*E*Y + F = 0. More... | |
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". More... | |
gp_Ax2d | Directrix2 () const |
This line is obtained by the symmetrical transformation of "Directrix1" with respect to the minor axis of the ellipse. More... | |
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. More... | |
Standard_Real | Focal () const |
Returns the distance between the center of the ellipse and focus1 or focus2. More... | |
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. More... | |
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. More... | |
const gp_Pnt2d & | Location () const |
Returns the center of the ellipse. More... | |
Standard_Real | MajorRadius () const |
Returns the major radius of the Ellipse. More... | |
Standard_Real | MinorRadius () const |
Returns the minor radius of the Ellipse. More... | |
Standard_Real | Parameter () const |
Returns p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0. More... | |
const gp_Ax22d & | Axis () const |
Returns the major axis of the ellipse. More... | |
gp_Ax2d | XAxis () const |
Returns the major axis of the ellipse. More... | |
gp_Ax2d | YAxis () const |
Returns the minor axis of the ellipse. Reverses the direction of the circle. More... | |
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. More... | |
void | Mirror (const gp_Pnt2d &P) |
gp_Elips2d | Mirrored (const gp_Pnt2d &P) const |
Performs the symmetrical transformation of a ellipse with respect to the point P which is the center of the symmetry. More... | |
void | Mirror (const gp_Ax2d &A) |
gp_Elips2d | Mirrored (const gp_Ax2d &A) const |
Performs the symmetrical transformation of a ellipse with respect to an axis placement which is the axis of the symmetry. More... | |
void | Rotate (const gp_Pnt2d &P, const Standard_Real Ang) |
gp_Elips2d | Rotated (const gp_Pnt2d &P, const Standard_Real Ang) const |
void | Scale (const gp_Pnt2d &P, const Standard_Real S) |
gp_Elips2d | Scaled (const gp_Pnt2d &P, const Standard_Real S) const |
Scales a ellipse. S is the scaling value. More... | |
void | Transform (const gp_Trsf2d &T) |
gp_Elips2d | Transformed (const gp_Trsf2d &T) const |
Transforms an ellipse with the transformation T from class Trsf2d. More... | |
void | Translate (const gp_Vec2d &V) |
gp_Elips2d | Translated (const gp_Vec2d &V) const |
Translates a ellipse in the direction of the vector V. The magnitude of the translation is the vector's magnitude. More... | |
void | Translate (const gp_Pnt2d &P1, const gp_Pnt2d &P2) |
gp_Elips2d | Translated (const gp_Pnt2d &P1, const gp_Pnt2d &P2) const |
Translates a ellipse from the point P1 to the point P2. More... | |
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:
gp_Elips2d::gp_Elips2d | ( | ) |
Creates an indefinite ellipse.
gp_Elips2d::gp_Elips2d | ( | const gp_Ax2d & | MajorAxis, |
const Standard_Real | MajorRadius, | ||
const Standard_Real | MinorRadius, | ||
const Standard_Boolean | Sense = Standard_True |
||
) |
Creates an ellipse with the major axis, the major and the minor radius. The location of the MajorAxis is the center of the ellipse. The sense of parametrization is given by Sense. Warnings : It is possible to create an ellipse with MajorRadius = MinorRadius. Raises ConstructionError if MajorRadius < MinorRadius or MinorRadius < 0.0.
gp_Elips2d::gp_Elips2d | ( | const gp_Ax22d & | A, |
const Standard_Real | MajorRadius, | ||
const Standard_Real | MinorRadius | ||
) |
Creates an ellipse with radii MajorRadius and MinorRadius, positioned in the plane by coordinate system A where:
Standard_Real gp_Elips2d::Area | ( | ) | const |
Computes the area of the ellipse.
const gp_Ax22d& gp_Elips2d::Axis | ( | ) | const |
Returns the major axis of the ellipse.
void gp_Elips2d::Coefficients | ( | Standard_Real & | A, |
Standard_Real & | B, | ||
Standard_Real & | C, | ||
Standard_Real & | D, | ||
Standard_Real & | E, | ||
Standard_Real & | F | ||
) | const |
Returns the coefficients of the implicit equation of the ellipse. A * (X**2) + B * (Y**2) + 2*C*(X*Y) + 2*D*X + 2*E*Y + F = 0.
gp_Ax2d gp_Elips2d::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".
Raised if Eccentricity = 0.0. (The ellipse degenerates into a circle)
gp_Ax2d gp_Elips2d::Directrix2 | ( | ) | const |
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).
Standard_Real gp_Elips2d::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 gp_Elips2d::Focal | ( | ) | const |
Returns the distance between the center of the ellipse and focus1 or focus2.
gp_Pnt2d gp_Elips2d::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 gp_Elips2d::Focus2 | ( | ) | const |
Returns the second focus of the ellipse. This focus is on the negative side of the major axis of the ellipse.
Standard_Boolean gp_Elips2d::IsDirect | ( | ) | const |
Returns true if the local coordinate system is direct and false in the other case.
const gp_Pnt2d& gp_Elips2d::Location | ( | ) | const |
Returns the center of the ellipse.
Standard_Real gp_Elips2d::MajorRadius | ( | ) | const |
Returns the major radius of the Ellipse.
Standard_Real gp_Elips2d::MinorRadius | ( | ) | const |
Returns the minor radius of the Ellipse.
void gp_Elips2d::Mirror | ( | const gp_Pnt2d & | P | ) |
void gp_Elips2d::Mirror | ( | const gp_Ax2d & | A | ) |
gp_Elips2d gp_Elips2d::Mirrored | ( | const gp_Pnt2d & | P | ) | const |
Performs the symmetrical transformation of a ellipse with respect to the point P which is the center of the symmetry.
gp_Elips2d gp_Elips2d::Mirrored | ( | const gp_Ax2d & | A | ) | const |
Performs the symmetrical transformation of a ellipse with respect to an axis placement which is the axis of the symmetry.
Standard_Real gp_Elips2d::Parameter | ( | ) | const |
Returns p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0.
void gp_Elips2d::Reverse | ( | ) |
gp_Elips2d gp_Elips2d::Reversed | ( | ) | const |
void gp_Elips2d::Rotate | ( | const gp_Pnt2d & | P, |
const Standard_Real | Ang | ||
) |
gp_Elips2d gp_Elips2d::Rotated | ( | const gp_Pnt2d & | P, |
const Standard_Real | Ang | ||
) | const |
void gp_Elips2d::Scale | ( | const gp_Pnt2d & | P, |
const Standard_Real | S | ||
) |
gp_Elips2d gp_Elips2d::Scaled | ( | const gp_Pnt2d & | P, |
const Standard_Real | S | ||
) | const |
Scales a ellipse. S is the scaling value.
void gp_Elips2d::SetAxis | ( | const gp_Ax22d & | A | ) |
Modifies this ellipse, by redefining its local coordinate system so that it becomes A.
void gp_Elips2d::SetLocation | ( | const gp_Pnt2d & | P | ) |
Modifies this ellipse, by redefining its local coordinate system so that.
void gp_Elips2d::SetMajorRadius | ( | const Standard_Real | MajorRadius | ) |
Changes the value of the major radius. Raises ConstructionError if MajorRadius < MinorRadius.
void gp_Elips2d::SetMinorRadius | ( | const Standard_Real | MinorRadius | ) |
Changes the value of the minor radius. Raises ConstructionError if MajorRadius < MinorRadius or MinorRadius < 0.0.
void gp_Elips2d::SetXAxis | ( | const gp_Ax2d & | A | ) |
Modifies this ellipse, by redefining its local coordinate system so that its origin and its "X Direction" become those of the axis A. The "Y Direction" is then recomputed. The orientation of the local coordinate system is not modified.
void gp_Elips2d::SetYAxis | ( | const gp_Ax2d & | A | ) |
Modifies this ellipse, by redefining its local coordinate system so that its origin and its "Y Direction" become those of the axis A. The "X Direction" is then recomputed. The orientation of the local coordinate system is not modified.
void gp_Elips2d::Transform | ( | const gp_Trsf2d & | T | ) |
gp_Elips2d gp_Elips2d::Transformed | ( | const gp_Trsf2d & | T | ) | const |
Transforms an ellipse with the transformation T from class Trsf2d.
void gp_Elips2d::Translate | ( | const gp_Vec2d & | V | ) |
gp_Elips2d gp_Elips2d::Translated | ( | const gp_Vec2d & | V | ) | const |
Translates a ellipse in the direction of the vector V. The magnitude of the translation is the vector's magnitude.
gp_Elips2d gp_Elips2d::Translated | ( | const gp_Pnt2d & | P1, |
const gp_Pnt2d & | P2 | ||
) | const |
Translates a ellipse from the point P1 to the point P2.
gp_Ax2d gp_Elips2d::XAxis | ( | ) | const |
Returns the major axis of the ellipse.
gp_Ax2d gp_Elips2d::YAxis | ( | ) | const |
Returns the minor axis of the ellipse. Reverses the direction of the circle.