OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
gp


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:
- 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 <br> 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:
.

#include <gp_Hypr.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 gp_Hypr ()
 Creates of an indefinite hyperbola.
.
 gp_Hypr (const gp_Ax2 &A2, const Standard_Real MajorRadius, const Standard_Real MinorRadius)
 Creates a hyperbola with radii MajorRadius and
MinorRadius, positioned in the space by the
coordinate system A2 such that:
- the origin of A2 is the center of the hyperbola,
- the "X Direction" of A2 defines the major axis of
the hyperbola, that is, the major radius
MajorRadius is measured along this axis, and
- the "Y Direction" of A2 defines the minor axis of
the hyperbola, that is, the minor radius
MinorRadius is measured along this axis.
Note: This class does not prevent the creation of a
hyperbola where:
- MajorAxis is equal to MinorAxis, or
- MajorAxis is less than MinorAxis.
Exceptions
Standard_ConstructionError if MajorAxis or MinorAxis is negative.
Raises ConstructionError if MajorRadius < 0.0 or MinorRadius < 0.0
//! Raised if MajorRadius < 0.0 or MinorRadius < 0.0
.
void SetAxis (const gp_Ax1 &A1)
 Modifies this hyperbola, by redefining its local coordinate
system so that:
- its origin and "main Direction" become those of the
axis A1 (the "X Direction" and "Y Direction" are then
recomputed in the same way as for any gp_Ax2).
Raises ConstructionError if the direction of A1 is parallel to the direction of
the "XAxis" of the hyperbola.
.
void SetLocation (const gp_Pnt &P)
 Modifies this hyperbola, by redefining its local coordinate
system so that its origin becomes P.
.
void SetMajorRadius (const Standard_Real MajorRadius)
 Modifies the major radius of this hyperbola.
Exceptions
Standard_ConstructionError if MajorRadius is negative.
.
void SetMinorRadius (const Standard_Real MinorRadius)
 Modifies the minor radius of this hyperbola.
Exceptions
Standard_ConstructionError if MinorRadius is negative.
.
void SetPosition (const gp_Ax2 &A2)
 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 excentricity 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
- 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 <br> Axis") and of this hyperboReturns the "XAxis" of the hyperbola.
.
gp_Ax1 YAxis () const
 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
.
Standard_EXPORT void Mirror (const gp_Pnt &P)
Standard_EXPORT gp_Hypr Mirrored (const gp_Pnt &P) const
 Performs the symmetrical transformation of an hyperbola with
respect to the point P which is the center of the symmetry.
.
Standard_EXPORT void Mirror (const gp_Ax1 &A1)
Standard_EXPORT gp_Hypr Mirrored (const gp_Ax1 &A1) const
 Performs the symmetrical transformation of an hyperbola with
respect to an axis placement which is the axis of the symmetry.
.
Standard_EXPORT void Mirror (const gp_Ax2 &A2)
Standard_EXPORT gp_Hypr Mirrored (const gp_Ax2 &A2) const
 Performs the symmetrical transformation of an hyperbola with
respect to a plane. The axis placement A2 locates the plane
of the symmetry (Location, XDirection, YDirection).
.
void Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
gp_Hypr Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const
 Rotates an hyperbola. A1 is the axis of the rotation.
Ang is the angular value of the rotation in radians.
.
void Scale (const gp_Pnt &P, const Standard_Real S)
gp_Hypr Scaled (const gp_Pnt &P, const Standard_Real S) const
 Scales an hyperbola. S is the scaling value.
.
void Transform (const gp_Trsf &T)
gp_Hypr Transformed (const gp_Trsf &T) const
 Transforms an hyperbola with the transformation T from
class Trsf.
.
void Translate (const gp_Vec &V)
gp_Hypr Translated (const gp_Vec &V) const
 Translates an hyperbola in the direction of the vector V.
The magnitude of the translation is the vector's magnitude.
.
void Translate (const gp_Pnt &P1, const gp_Pnt &P2)
gp_Hypr Translated (const gp_Pnt &P1, const gp_Pnt &P2) const
 Translates an hyperbola from the point P1 to the point P2.
.
const gp_Ax2_CSFDB_Getgp_Hyprpos () const
Standard_Real _CSFDB_Getgp_HyprmajorRadius () const
void _CSFDB_Setgp_HyprmajorRadius (const Standard_Real p)
Standard_Real _CSFDB_Getgp_HyprminorRadius () const
void _CSFDB_Setgp_HyprminorRadius (const Standard_Real p)

Private Attributes

gp_Ax2 pos
Standard_Real majorRadius
Standard_Real minorRadius

Friends

Standard_EXPORT friend Handle_Standard_Type & gp_Hypr_Type_ ()


Constructor & Destructor Documentation

gp_Hypr::gp_Hypr  )  [inline]
 

gp_Hypr::gp_Hypr const gp_Ax2 A2,
const Standard_Real  MajorRadius,
const Standard_Real  MinorRadius
[inline]
 


Member Function Documentation

Standard_Real gp_Hypr::_CSFDB_Getgp_HyprmajorRadius  )  const [inline]
 

Standard_Real gp_Hypr::_CSFDB_Getgp_HyprminorRadius  )  const [inline]
 

const gp_Ax2& gp_Hypr::_CSFDB_Getgp_Hyprpos  )  const [inline]
 

void gp_Hypr::_CSFDB_Setgp_HyprmajorRadius const Standard_Real  p  )  [inline]
 

void gp_Hypr::_CSFDB_Setgp_HyprminorRadius const Standard_Real  p  )  [inline]
 

gp_Ax1 gp_Hypr::Asymptote1  )  const [inline]
 

gp_Ax1 gp_Hypr::Asymptote2  )  const [inline]
 

const gp_Ax1 & gp_Hypr::Axis  )  const [inline]
 

gp_Hypr gp_Hypr::ConjugateBranch1  )  const [inline]
 

gp_Hypr gp_Hypr::ConjugateBranch2  )  const [inline]
 

gp_Ax1 gp_Hypr::Directrix1  )  const [inline]
 

gp_Ax1 gp_Hypr::Directrix2  )  const [inline]
 

Standard_Real gp_Hypr::Eccentricity  )  const [inline]
 

Standard_Real gp_Hypr::Focal  )  const [inline]
 

gp_Pnt gp_Hypr::Focus1  )  const [inline]
 

gp_Pnt gp_Hypr::Focus2  )  const [inline]
 

const gp_Pnt & gp_Hypr::Location  )  const [inline]
 

Standard_Real gp_Hypr::MajorRadius  )  const [inline]
 

Standard_Real gp_Hypr::MinorRadius  )  const [inline]
 

Standard_EXPORT void gp_Hypr::Mirror const gp_Ax2 A2  ) 
 

Standard_EXPORT void gp_Hypr::Mirror const gp_Ax1 A1  ) 
 

Standard_EXPORT void gp_Hypr::Mirror const gp_Pnt P  ) 
 

Standard_EXPORT gp_Hypr gp_Hypr::Mirrored const gp_Ax2 A2  )  const
 

Standard_EXPORT gp_Hypr gp_Hypr::Mirrored const gp_Ax1 A1  )  const
 

Standard_EXPORT gp_Hypr gp_Hypr::Mirrored const gp_Pnt P  )  const
 

void gp_Hypr::operator delete void *  anAddress  )  [inline]
 

void* gp_Hypr::operator new size_t  size  )  [inline]
 

void* gp_Hypr::operator new size_t  ,
void *  anAddress
[inline]
 

gp_Hypr gp_Hypr::OtherBranch  )  const [inline]
 

Standard_Real gp_Hypr::Parameter  )  const [inline]
 

const gp_Ax2 & gp_Hypr::Position  )  const [inline]
 

void gp_Hypr::Rotate const gp_Ax1 A1,
const Standard_Real  Ang
[inline]
 

gp_Hypr gp_Hypr::Rotated const gp_Ax1 A1,
const Standard_Real  Ang
const [inline]
 

void gp_Hypr::Scale const gp_Pnt P,
const Standard_Real  S
[inline]
 

gp_Hypr gp_Hypr::Scaled const gp_Pnt P,
const Standard_Real  S
const [inline]
 

void gp_Hypr::SetAxis const gp_Ax1 A1  )  [inline]
 

void gp_Hypr::SetLocation const gp_Pnt P  )  [inline]
 

void gp_Hypr::SetMajorRadius const Standard_Real  MajorRadius  )  [inline]
 

void gp_Hypr::SetMinorRadius const Standard_Real  MinorRadius  )  [inline]
 

void gp_Hypr::SetPosition const gp_Ax2 A2  )  [inline]
 

void gp_Hypr::Transform const gp_Trsf T  )  [inline]
 

gp_Hypr gp_Hypr::Transformed const gp_Trsf T  )  const [inline]
 

void gp_Hypr::Translate const gp_Pnt P1,
const gp_Pnt P2
[inline]
 

void gp_Hypr::Translate const gp_Vec V  )  [inline]
 

gp_Hypr gp_Hypr::Translated const gp_Pnt P1,
const gp_Pnt P2
const [inline]
 

gp_Hypr gp_Hypr::Translated const gp_Vec V  )  const [inline]
 

gp_Ax1 gp_Hypr::XAxis  )  const [inline]
 

gp_Ax1 gp_Hypr::YAxis  )  const [inline]
 


Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Hypr_Type_  )  [friend]
 


Field Documentation

Standard_Real gp_Hypr::majorRadius [private]
 

Standard_Real gp_Hypr::minorRadius [private]
 

gp_Ax2 gp_Hypr::pos [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:12:40 2008 for OpenCASCADE by  doxygen 1.4.1