Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
gp_Parab2d Class Reference

Describes a parabola in the plane (2D space). A parabola is defined by its focal length (that is, the distance between its focus and apex) and positioned in the plane with a coordinate system (a gp_Ax22d object) where: More...

#include <gp_Parab2d.hxx>

Public Member Functions

constexpr gp_Parab2d () noexcept
 Creates an indefinite parabola.
 
constexpr gp_Parab2d (const gp_Ax2d &theMirrorAxis, const double theFocalLength, const bool theSense=true)
 Creates a parabola with its vertex point, its axis of symmetry ("XAxis") and its focal length. The sense of parametrization is given by theSense. If theSense == TRUE (by default) then right-handed coordinate system is used, otherwise - left-handed. Warnings : It is possible to have FocalLength = 0. In this case, the parabola looks like a line, which is parallel to the symmetry-axis. Raises ConstructionError if FocalLength < 0.0.
 
constexpr gp_Parab2d (const gp_Ax22d &theAxes, const double theFocalLength)
 Creates a parabola with its vertex point, its axis of symmetry ("XAxis"), correspond Y-axis and its focal length. Warnings : It is possible to have FocalLength = 0. In this case, the parabola looks like a line, which is parallel to the symmetry-axis. Raises ConstructionError if Focal < 0.0.
 
 gp_Parab2d (const gp_Ax2d &theDirectrix, const gp_Pnt2d &theFocus, const bool theSense=true)
 Creates a parabola with the directrix and the focus point. Y-axis of the parabola (in User Coordinate System - UCS) is the direction of theDirectrix. X-axis always directs from theDirectrix to theFocus point and always comes through theFocus. Apex of the parabola is a middle point between the theFocus and the intersection point of theDirectrix and the X-axis. Warnings : It is possible to have FocalLength = 0 (when theFocus lies in theDirectrix). In this case, X-direction of the parabola is defined by theSense parameter. If theSense == TRUE (by default) then right-handed coordinate system is used, otherwise - left-handed. Result parabola will look like a line, which is perpendicular to the directrix.
 
void SetFocal (const double theFocal)
 Changes the focal distance of the parabola Warnings : It is possible to have theFocal = 0. Raises ConstructionError if theFocal < 0.0.
 
constexpr void SetLocation (const gp_Pnt2d &theP) noexcept
 Changes the "Location" point of the parabola. It is the vertex of the parabola.
 
constexpr void SetMirrorAxis (const gp_Ax2d &theA)
 Modifies this parabola, by redefining its local coordinate system so that its origin and "X Direction" become those of the axis MA. The "Y Direction" of the local coordinate system is then recomputed. The orientation of the local coordinate system is not modified.
 
constexpr void SetAxis (const gp_Ax22d &theA) noexcept
 Changes the local coordinate system of the parabola. The "Location" point of A becomes the vertex of the parabola.
 
void Coefficients (double &theA, double &theB, double &theC, double &theD, double &theE, double &theF) const
 Computes the coefficients of the implicit equation of the parabola (in WCS - World Coordinate System).
 
gp_Ax2d Directrix () const noexcept
 Computes the directrix of the parabola. The directrix is:
 
constexpr double Focal () const noexcept
 Returns the distance between the vertex and the focus of the parabola.
 
gp_Pnt2d Focus () const noexcept
 Returns the focus of the parabola.
 
constexpr const gp_Pnt2dLocation () const noexcept
 Returns the vertex of the parabola.
 
gp_Ax2d MirrorAxis () const noexcept
 Returns the symmetry axis of the parabola. The "Location" point of this axis is the vertex of the parabola.
 
constexpr const gp_Ax22dAxis () const noexcept
 Returns the local coordinate system of the parabola. The "Location" point of this axis is the vertex of the parabola.
 
constexpr double Parameter () const noexcept
 Returns the distance between the focus and the directrix of the parabola.
 
void Reverse () noexcept
 
gp_Parab2d Reversed () const noexcept
 Reverses the orientation of the local coordinate system of this parabola (the "Y Direction" is reversed). Therefore, the implicit orientation of this parabola is reversed. Note:
 
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_Parab2d Mirrored (const gp_Pnt2d &theP) const noexcept
 Performs the symmetrical transformation of a parabola with respect to the point theP which is the center of the symmetry.
 
void Mirror (const gp_Ax2d &theA) noexcept
 
gp_Parab2d Mirrored (const gp_Ax2d &theA) const noexcept
 Performs the symmetrical transformation of a parabola with respect to an axis placement which is the axis of the symmetry.
 
void Rotate (const gp_Pnt2d &theP, const double theAng)
 
gp_Parab2d Rotated (const gp_Pnt2d &theP, const double theAng) const
 Rotates a parabola. theP is the center of the rotation. theAng is the angular value of the rotation in radians.
 
void Scale (const gp_Pnt2d &theP, const double theS)
 
gp_Parab2d Scaled (const gp_Pnt2d &theP, const double theS) const
 Scales a parabola. theS is the scaling value. If theS is negative the direction of the symmetry axis "XAxis" is reversed and the direction of the "YAxis" too.
 
void Transform (const gp_Trsf2d &theT)
 
gp_Parab2d Transformed (const gp_Trsf2d &theT) const
 Transforms an parabola with the transformation theT from class Trsf2d.
 
constexpr void Translate (const gp_Vec2d &theV) noexcept
 
constexpr gp_Parab2d Translated (const gp_Vec2d &theV) const noexcept
 Translates a parabola in the direction of the vectorthe 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_Parab2d Translated (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2) const noexcept
 Translates a parabola from the point theP1 to the point theP2.
 

Detailed Description

Describes a parabola in the plane (2D space). A parabola is defined by its focal length (that is, the distance between its focus and apex) and positioned in the plane with a coordinate system (a gp_Ax22d object) where:

Constructor & Destructor Documentation

◆ gp_Parab2d() [1/4]

constexpr gp_Parab2d::gp_Parab2d ( )
inlineconstexprnoexcept

Creates an indefinite parabola.

◆ gp_Parab2d() [2/4]

constexpr gp_Parab2d::gp_Parab2d ( const gp_Ax2d & theMirrorAxis,
const double theFocalLength,
const bool theSense = true )
inlineconstexpr

Creates a parabola with its vertex point, its axis of symmetry ("XAxis") and its focal length. The sense of parametrization is given by theSense. If theSense == TRUE (by default) then right-handed coordinate system is used, otherwise - left-handed. Warnings : It is possible to have FocalLength = 0. In this case, the parabola looks like a line, which is parallel to the symmetry-axis. Raises ConstructionError if FocalLength < 0.0.

◆ gp_Parab2d() [3/4]

constexpr gp_Parab2d::gp_Parab2d ( const gp_Ax22d & theAxes,
const double theFocalLength )
inlineconstexpr

Creates a parabola with its vertex point, its axis of symmetry ("XAxis"), correspond Y-axis and its focal length. Warnings : It is possible to have FocalLength = 0. In this case, the parabola looks like a line, which is parallel to the symmetry-axis. Raises ConstructionError if Focal < 0.0.

◆ gp_Parab2d() [4/4]

gp_Parab2d::gp_Parab2d ( const gp_Ax2d & theDirectrix,
const gp_Pnt2d & theFocus,
const bool theSense = true )

Creates a parabola with the directrix and the focus point. Y-axis of the parabola (in User Coordinate System - UCS) is the direction of theDirectrix. X-axis always directs from theDirectrix to theFocus point and always comes through theFocus. Apex of the parabola is a middle point between the theFocus and the intersection point of theDirectrix and the X-axis. Warnings : It is possible to have FocalLength = 0 (when theFocus lies in theDirectrix). In this case, X-direction of the parabola is defined by theSense parameter. If theSense == TRUE (by default) then right-handed coordinate system is used, otherwise - left-handed. Result parabola will look like a line, which is perpendicular to the directrix.

Member Function Documentation

◆ Axis()

constexpr const gp_Ax22d & gp_Parab2d::Axis ( ) const
inlineconstexprnoexcept

Returns the local coordinate system of the parabola. The "Location" point of this axis is the vertex of the parabola.

◆ Coefficients()

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

Computes the coefficients of the implicit equation of the parabola (in WCS - World Coordinate System).

theA * (X**2) + theB * (Y**2) + 2*theC*(X*Y) + 2*theD*X + 2*theE*Y + theF = 0.

◆ Directrix()

gp_Ax2d gp_Parab2d::Directrix ( ) const
inlinenoexcept

Computes the directrix of the parabola. The directrix is:

  • a line parallel to the "Y Direction" of the local coordinate system of this parabola, and
  • located on the negative side of the axis of symmetry, at a distance from the apex which is equal to the focal length of this parabola. The directrix is returned as an axis (a gp_Ax2d object), the origin of which is situated on the "X Axis" of this parabola.

◆ Focal()

constexpr double gp_Parab2d::Focal ( ) const
inlineconstexprnoexcept

Returns the distance between the vertex and the focus of the parabola.

◆ Focus()

gp_Pnt2d gp_Parab2d::Focus ( ) const
inlinenoexcept

Returns the focus of the parabola.

◆ IsDirect()

constexpr bool gp_Parab2d::IsDirect ( ) const
inlineconstexprnoexcept

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

◆ Location()

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

Returns the vertex of the parabola.

◆ Mirror() [1/2]

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

◆ Mirror() [2/2]

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

◆ MirrorAxis()

gp_Ax2d gp_Parab2d::MirrorAxis ( ) const
inlinenoexcept

Returns the symmetry axis of the parabola. The "Location" point of this axis is the vertex of the parabola.

◆ Mirrored() [1/2]

gp_Parab2d gp_Parab2d::Mirrored ( const gp_Ax2d & theA) const
noexcept

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

◆ Mirrored() [2/2]

gp_Parab2d gp_Parab2d::Mirrored ( const gp_Pnt2d & theP) const
noexcept

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

◆ Parameter()

constexpr double gp_Parab2d::Parameter ( ) const
inlineconstexprnoexcept

Returns the distance between the focus and the directrix of the parabola.

◆ Reverse()

void gp_Parab2d::Reverse ( )
inlinenoexcept

◆ Reversed()

gp_Parab2d gp_Parab2d::Reversed ( ) const
inlinenoexcept

Reverses the orientation of the local coordinate system of this parabola (the "Y Direction" is reversed). Therefore, the implicit orientation of this parabola is reversed. Note:

  • Reverse assigns the result to this parabola, while
  • Reversed creates a new one.

◆ Rotate()

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

◆ Rotated()

gp_Parab2d gp_Parab2d::Rotated ( const gp_Pnt2d & theP,
const double theAng ) const
inline

Rotates a parabola. theP is the center of the rotation. theAng is the angular value of the rotation in radians.

◆ Scale()

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

◆ Scaled()

gp_Parab2d gp_Parab2d::Scaled ( const gp_Pnt2d & theP,
const double theS ) const
inline

Scales a parabola. theS is the scaling value. If theS is negative the direction of the symmetry axis "XAxis" is reversed and the direction of the "YAxis" too.

◆ SetAxis()

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

Changes the local coordinate system of the parabola. The "Location" point of A becomes the vertex of the parabola.

◆ SetFocal()

void gp_Parab2d::SetFocal ( const double theFocal)
inline

Changes the focal distance of the parabola Warnings : It is possible to have theFocal = 0. Raises ConstructionError if theFocal < 0.0.

◆ SetLocation()

constexpr void gp_Parab2d::SetLocation ( const gp_Pnt2d & theP)
inlineconstexprnoexcept

Changes the "Location" point of the parabola. It is the vertex of the parabola.

◆ SetMirrorAxis()

constexpr void gp_Parab2d::SetMirrorAxis ( const gp_Ax2d & theA)
inlineconstexpr

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

◆ Transform()

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

◆ Transformed()

gp_Parab2d gp_Parab2d::Transformed ( const gp_Trsf2d & theT) const
inline

Transforms an parabola with the transformation theT from class Trsf2d.

◆ Translate() [1/2]

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

◆ Translate() [2/2]

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

◆ Translated() [1/2]

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

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

◆ Translated() [2/2]

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

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


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