Open CASCADE Technology 7.8.2.dev
gp_Hypr Class Reference

Describes a branch of a hyperbola in 3D space. A hyperbola is defined by its major and minor radii and positioned in space with a coordinate system (a gp_Ax2 object) of which: More...

#include <gp_Hypr.hxx>

Public Member Functions

 gp_Hypr ()
 Creates of an indefinite hyperbola.
 
 gp_Hypr (const gp_Ax2 &theA2, const Standard_Real theMajorRadius, const Standard_Real theMinorRadius)
 Creates a hyperbola with radius theMajorRadius and theMinorRadius, positioned in the space by the coordinate system theA2 such that:
 
void SetAxis (const gp_Ax1 &theA1)
 Modifies this hyperbola, by redefining its local coordinate system so that:
 
void SetLocation (const gp_Pnt &theP)
 Modifies this hyperbola, by redefining its local coordinate system so that its origin becomes theP.
 
void SetMajorRadius (const Standard_Real theMajorRadius)
 Modifies the major radius of this hyperbola. Exceptions Standard_ConstructionError if theMajorRadius is negative.
 
void SetMinorRadius (const Standard_Real theMinorRadius)
 Modifies the minor radius of this hyperbola. Exceptions Standard_ConstructionError if theMinorRadius is negative.
 
void SetPosition (const gp_Ax2 &theA2)
 Modifies this hyperbola, by redefining its local coordinate system so that it becomes A2.
 
gp_Ax1 Asymptote1 () const
 In the local coordinate system of the hyperbola the equation of the hyperbola is (X*X)/(A*A) - (Y*Y)/(B*B) = 1.0 and the equation of the first asymptote is Y = (B/A)*X where A is the major radius and B is the minor radius. Raises ConstructionError if MajorRadius = 0.0.
 
gp_Ax1 Asymptote2 () const
 In the local coordinate system of the hyperbola the equation of the hyperbola is (X*X)/(A*A) - (Y*Y)/(B*B) = 1.0 and the equation of the first asymptote is Y = -(B/A)*X. where A is the major radius and B is the minor radius. Raises ConstructionError if MajorRadius = 0.0.
 
const gp_Ax1Axis () const
 Returns the axis passing through the center, and normal to the plane of this hyperbola.
 
gp_Hypr ConjugateBranch1 () const
 Computes the branch of hyperbola which is on the positive side of the "YAxis" of <me>.
 
gp_Hypr ConjugateBranch2 () const
 Computes the branch of hyperbola which is on the negative side of the "YAxis" of <me>.
 
gp_Ax1 Directrix1 () const
 This directrix is the line normal to the XAxis of the hyperbola in the local plane (Z = 0) at a distance d = MajorRadius / e from the center of the hyperbola, where e is the eccentricity of the hyperbola. This line is parallel to the "YAxis". The intersection point between the directrix1 and the "XAxis" is the "Location" point of the directrix1. This point is on the positive side of the "XAxis".
 
gp_Ax1 Directrix2 () const
 This line is obtained by the symmetrical transformation of "Directrix1" with respect to the "YAxis" of the hyperbola.
 
Standard_Real Eccentricity () const
 Returns the eccentricity of the hyperbola (e > 1). If f is the distance between the location of the hyperbola and the Focus1 then the eccentricity e = f / MajorRadius. Raises DomainError if MajorRadius = 0.0.
 
Standard_Real Focal () const
 Computes the focal distance. It is the distance between the the two focus of the hyperbola.
 
gp_Pnt Focus1 () const
 Returns the first focus of the hyperbola. This focus is on the positive side of the "XAxis" of the hyperbola.
 
gp_Pnt Focus2 () const
 Returns the second focus of the hyperbola. This focus is on the negative side of the "XAxis" of the hyperbola.
 
const gp_PntLocation () const
 Returns the location point of the hyperbola. It is the intersection point between the "XAxis" and the "YAxis".
 
Standard_Real MajorRadius () const
 Returns the major radius of the hyperbola. It is the radius on the "XAxis" of the hyperbola.
 
Standard_Real MinorRadius () const
 Returns the minor radius of the hyperbola. It is the radius on the "YAxis" of the hyperbola.
 
gp_Hypr OtherBranch () const
 Returns the branch of hyperbola obtained by doing the symmetrical transformation of <me> with respect to the "YAxis" of <me>.
 
Standard_Real Parameter () const
 Returns p = (e * e - 1) * MajorRadius where e is the eccentricity of the hyperbola. Raises DomainError if MajorRadius = 0.0.
 
const gp_Ax2Position () const
 Returns the coordinate system of the hyperbola.
 
gp_Ax1 XAxis () const
 Computes an axis, whose.
 
gp_Ax1 YAxis () const
 Computes an axis, whose.
 
void Mirror (const gp_Pnt &theP)
 
gp_Hypr Mirrored (const gp_Pnt &theP) const
 Performs the symmetrical transformation of an hyperbola with respect to the point theP which is the center of the symmetry.
 
void Mirror (const gp_Ax1 &theA1)
 
gp_Hypr Mirrored (const gp_Ax1 &theA1) const
 Performs the symmetrical transformation of an hyperbola with respect to an axis placement which is the axis of the symmetry.
 
void Mirror (const gp_Ax2 &theA2)
 
gp_Hypr Mirrored (const gp_Ax2 &theA2) const
 Performs the symmetrical transformation of an hyperbola with respect to a plane. The axis placement theA2 locates the plane of the symmetry (Location, XDirection, YDirection).
 
void Rotate (const gp_Ax1 &theA1, const Standard_Real theAng)
 
gp_Hypr Rotated (const gp_Ax1 &theA1, const Standard_Real theAng) const
 Rotates an hyperbola. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.
 
void Scale (const gp_Pnt &theP, const Standard_Real theS)
 
gp_Hypr Scaled (const gp_Pnt &theP, const Standard_Real theS) const
 Scales an hyperbola. theS is the scaling value.
 
void Transform (const gp_Trsf &theT)
 
gp_Hypr Transformed (const gp_Trsf &theT) const
 Transforms an hyperbola with the transformation theT from class Trsf.
 
void Translate (const gp_Vec &theV)
 
gp_Hypr Translated (const gp_Vec &theV) const
 Translates an hyperbola in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.
 
void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2)
 
gp_Hypr Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const
 Translates an hyperbola from the point theP1 to the point theP2.
 

Detailed Description

Describes a branch of a hyperbola in 3D space. A hyperbola is defined by its major and minor radii and positioned in space with a coordinate system (a gp_Ax2 object) of which:

  • the origin is the center of the hyperbola,
  • the "X Direction" defines the major axis of the hyperbola, and
  • the "Y Direction" defines the minor axis of the hyperbola. The origin, "X Direction" and "Y Direction" of this coordinate system together define the plane of the hyperbola. This coordinate system is the "local coordinate system" of the hyperbola. In this coordinate system, the equation of the hyperbola is: X*X/(MajorRadius**2)-Y*Y/(MinorRadius**2) = 1.0 The branch of the hyperbola described is the one located on the positive side of the major axis. The "main Direction" of the local coordinate system is a normal vector to the plane of the hyperbola. This vector gives an implicit orientation to the hyperbola. We refer to the "main Axis" of the local coordinate system as the "Axis" of the hyperbola. The following schema shows the plane of the hyperbola, and in it, the respective positions of the three branches of hyperbolas constructed with the functions OtherBranch, ConjugateBranch1, and ConjugateBranch2:
    |
    FirstConjugateBranch
    |
    Other | Main
    --------------------- C ------------------------------>XAxis
    Branch | Branch
    |
    |
    SecondConjugateBranch
    gp_Ax1 YAxis() const
    Computes an axis, whose.
    Definition gp_Hypr.hxx:266
    Warning The major radius can be less than the minor radius. See Also gce_MakeHypr which provides functions for more complex hyperbola constructions Geom_Hyperbola which provides additional functions for constructing hyperbolas and works, in particular, with the parametric equations of hyperbolas

Constructor & Destructor Documentation

◆ gp_Hypr() [1/2]

gp_Hypr::gp_Hypr ( )
inline

Creates of an indefinite hyperbola.

◆ gp_Hypr() [2/2]

gp_Hypr::gp_Hypr ( const gp_Ax2 & theA2,
const Standard_Real theMajorRadius,
const Standard_Real theMinorRadius )
inline

Creates a hyperbola with radius theMajorRadius and theMinorRadius, positioned in the space by the coordinate system theA2 such that:

  • the origin of theA2 is the center of the hyperbola,
  • the "X Direction" of theA2 defines the major axis of the hyperbola, that is, the major radius theMajorRadius is measured along this axis, and
  • the "Y Direction" of theA2 defines the minor axis of the hyperbola, that is, the minor radius theMinorRadius is measured along this axis. Note: This class does not prevent the creation of a hyperbola where:
  • theMajorAxis is equal to theMinorAxis, or
  • theMajorAxis is less than theMinorAxis. Exceptions Standard_ConstructionError if theMajorAxis or theMinorAxis is negative. Raises ConstructionError if theMajorRadius < 0.0 or theMinorRadius < 0.0 Raised if theMajorRadius < 0.0 or theMinorRadius < 0.0

Member Function Documentation

◆ Asymptote1()

gp_Ax1 gp_Hypr::Asymptote1 ( ) const
inline

In the local coordinate system of the hyperbola the equation of the hyperbola is (X*X)/(A*A) - (Y*Y)/(B*B) = 1.0 and the equation of the first asymptote is Y = (B/A)*X where A is the major radius and B is the minor radius. Raises ConstructionError if MajorRadius = 0.0.

◆ Asymptote2()

gp_Ax1 gp_Hypr::Asymptote2 ( ) const
inline

In the local coordinate system of the hyperbola the equation of the hyperbola is (X*X)/(A*A) - (Y*Y)/(B*B) = 1.0 and the equation of the first asymptote is Y = -(B/A)*X. where A is the major radius and B is the minor radius. Raises ConstructionError if MajorRadius = 0.0.

◆ Axis()

const gp_Ax1 & gp_Hypr::Axis ( ) const
inline

Returns the axis passing through the center, and normal to the plane of this hyperbola.

◆ ConjugateBranch1()

gp_Hypr gp_Hypr::ConjugateBranch1 ( ) const
inline

Computes the branch of hyperbola which is on the positive side of the "YAxis" of <me>.

◆ ConjugateBranch2()

gp_Hypr gp_Hypr::ConjugateBranch2 ( ) const
inline

Computes the branch of hyperbola which is on the negative side of the "YAxis" of <me>.

◆ Directrix1()

gp_Ax1 gp_Hypr::Directrix1 ( ) const
inline

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

◆ Directrix2()

gp_Ax1 gp_Hypr::Directrix2 ( ) const
inline

This line is obtained by the symmetrical transformation of "Directrix1" with respect to the "YAxis" of the hyperbola.

◆ Eccentricity()

Standard_Real gp_Hypr::Eccentricity ( ) const
inline

Returns the eccentricity of the hyperbola (e > 1). If f is the distance between the location of the hyperbola and the Focus1 then the eccentricity e = f / MajorRadius. Raises DomainError if MajorRadius = 0.0.

◆ Focal()

Standard_Real gp_Hypr::Focal ( ) const
inline

Computes the focal distance. It is the distance between the the two focus of the hyperbola.

◆ Focus1()

gp_Pnt gp_Hypr::Focus1 ( ) const
inline

Returns the first focus of the hyperbola. This focus is on the positive side of the "XAxis" of the hyperbola.

◆ Focus2()

gp_Pnt gp_Hypr::Focus2 ( ) const
inline

Returns the second focus of the hyperbola. This focus is on the negative side of the "XAxis" of the hyperbola.

◆ Location()

const gp_Pnt & gp_Hypr::Location ( ) const
inline

Returns the location point of the hyperbola. It is the intersection point between the "XAxis" and the "YAxis".

◆ MajorRadius()

Standard_Real gp_Hypr::MajorRadius ( ) const
inline

Returns the major radius of the hyperbola. It is the radius on the "XAxis" of the hyperbola.

◆ MinorRadius()

Standard_Real gp_Hypr::MinorRadius ( ) const
inline

Returns the minor radius of the hyperbola. It is the radius on the "YAxis" of the hyperbola.

◆ Mirror() [1/3]

void gp_Hypr::Mirror ( const gp_Ax1 & theA1)

◆ Mirror() [2/3]

void gp_Hypr::Mirror ( const gp_Ax2 & theA2)

◆ Mirror() [3/3]

void gp_Hypr::Mirror ( const gp_Pnt & theP)

◆ Mirrored() [1/3]

gp_Hypr gp_Hypr::Mirrored ( const gp_Ax1 & theA1) const

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

◆ Mirrored() [2/3]

gp_Hypr gp_Hypr::Mirrored ( const gp_Ax2 & theA2) const

Performs the symmetrical transformation of an hyperbola with respect to a plane. The axis placement theA2 locates the plane of the symmetry (Location, XDirection, YDirection).

◆ Mirrored() [3/3]

gp_Hypr gp_Hypr::Mirrored ( const gp_Pnt & theP) const

Performs the symmetrical transformation of an hyperbola with respect to the point theP which is the center of the symmetry.

◆ OtherBranch()

gp_Hypr gp_Hypr::OtherBranch ( ) const
inline

Returns the branch of hyperbola obtained by doing the symmetrical transformation of <me> with respect to the "YAxis" of <me>.

◆ Parameter()

Standard_Real gp_Hypr::Parameter ( ) const
inline

Returns p = (e * e - 1) * MajorRadius where e is the eccentricity of the hyperbola. Raises DomainError if MajorRadius = 0.0.

◆ Position()

const gp_Ax2 & gp_Hypr::Position ( ) const
inline

Returns the coordinate system of the hyperbola.

◆ Rotate()

void gp_Hypr::Rotate ( const gp_Ax1 & theA1,
const Standard_Real theAng )
inline

◆ Rotated()

gp_Hypr gp_Hypr::Rotated ( const gp_Ax1 & theA1,
const Standard_Real theAng ) const
inline

Rotates an hyperbola. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.

◆ Scale()

void gp_Hypr::Scale ( const gp_Pnt & theP,
const Standard_Real theS )
inline

◆ Scaled()

gp_Hypr gp_Hypr::Scaled ( const gp_Pnt & theP,
const Standard_Real theS ) const
inline

Scales an hyperbola. theS is the scaling value.

◆ SetAxis()

void gp_Hypr::SetAxis ( const gp_Ax1 & theA1)
inline

Modifies this hyperbola, by redefining its local coordinate system so that:

  • its origin and "main Direction" become those of the axis theA1 (the "X Direction" and "Y Direction" are then recomputed in the same way as for any gp_Ax2). Raises ConstructionError if the direction of theA1 is parallel to the direction of the "XAxis" of the hyperbola.

◆ SetLocation()

void gp_Hypr::SetLocation ( const gp_Pnt & theP)
inline

Modifies this hyperbola, by redefining its local coordinate system so that its origin becomes theP.

◆ SetMajorRadius()

void gp_Hypr::SetMajorRadius ( const Standard_Real theMajorRadius)
inline

Modifies the major radius of this hyperbola. Exceptions Standard_ConstructionError if theMajorRadius is negative.

◆ SetMinorRadius()

void gp_Hypr::SetMinorRadius ( const Standard_Real theMinorRadius)
inline

Modifies the minor radius of this hyperbola. Exceptions Standard_ConstructionError if theMinorRadius is negative.

◆ SetPosition()

void gp_Hypr::SetPosition ( const gp_Ax2 & theA2)
inline

Modifies this hyperbola, by redefining its local coordinate system so that it becomes A2.

◆ Transform()

void gp_Hypr::Transform ( const gp_Trsf & theT)
inline

◆ Transformed()

gp_Hypr gp_Hypr::Transformed ( const gp_Trsf & theT) const
inline

Transforms an hyperbola with the transformation theT from class Trsf.

◆ Translate() [1/2]

void gp_Hypr::Translate ( const gp_Pnt & theP1,
const gp_Pnt & theP2 )
inline

◆ Translate() [2/2]

void gp_Hypr::Translate ( const gp_Vec & theV)
inline

◆ Translated() [1/2]

gp_Hypr gp_Hypr::Translated ( const gp_Pnt & theP1,
const gp_Pnt & theP2 ) const
inline

Translates an hyperbola from the point theP1 to the point theP2.

◆ Translated() [2/2]

gp_Hypr gp_Hypr::Translated ( const gp_Vec & theV) const
inline

Translates an hyperbola in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.

◆ XAxis()

gp_Ax1 gp_Hypr::XAxis ( ) const
inline

Computes an axis, whose.

  • the origin is the center of this hyperbola, and
  • the unit vector is the "X Direction" of the local coordinate system of this hyperbola. These axes are, the major axis (the "X Axis") and of this hyperboReturns the "XAxis" of the hyperbola.

◆ YAxis()

gp_Ax1 gp_Hypr::YAxis ( ) const
inline

Computes an axis, whose.

  • the origin is the center of this hyperbola, and
  • the unit vector is the "Y Direction" of the local coordinate system of this hyperbola. These axes are the minor axis (the "Y Axis") of this hyperbola

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