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

ModelingData
TKG3d
Geom


Geom_Hyperbola Class Reference

Describes a branch of a hyperbola in 3D space.
A hyperbola is defined by its major and minor radii
and, as with any conic curve, is positioned in space
with a right-handed coordinate system (gp_Ax2 object) where:
- the origin is the center of the hyperbola,
- the "X Direction" defines the major axis, and
- the "Y Direction" defines the minor axis.
The origin, "X Direction" and "Y Direction" of this
coordinate system define the plane of the hyperbola.
The coordinate system is the local coordinate
system of the hyperbola.
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 vector normal to the plane of the hyperbola. The
axis, of which the origin and unit vector are
respectively the origin and "main Direction" of the
local coordinate system, is termed the "Axis" or "main <br> Axis" of the hyperbola.
The "main Direction" of the local coordinate system
gives an explicit orientation to the hyperbola,
determining the direction in which the parameter
increases along the hyperbola.
The Geom_Hyperbola hyperbola is parameterized as follows:
P(U) = O + MajRad*Cosh(U)*XDir + MinRad*Sinh(U)*YDir, where:
- P is the point of parameter U,
- O, XDir and YDir are respectively the origin, "X <br> Direction" and "Y Direction" of its local coordinate system,
- MajRad and MinRad are the major and minor radii of the hyperbola.
The "X Axis" of the local coordinate system therefore
defines the origin of the parameter of the hyperbola.
The parameter range is ] -infinite, +infinite [.
The following diagram illustrates the respective
positions, in the plane of the hyperbola, of the three
branches of hyperbolas constructed using the
functions OtherBranch, ConjugateBranch1 and
ConjugateBranch2: Defines the main branch of an hyperbola.
^YAxis
|
FirstConjugateBranch
|
Other | Main
--------------------- C ------------------------------>XAxis
Branch | Branch
|
SecondConjugateBranch
|
Warning
The value of the major radius (on the major axis) can
be less than the value of the minor radius (on the minor axis).
.

#include <Geom_Hyperbola.hxx>

Inheritance diagram for Geom_Hyperbola:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT Geom_Hyperbola (const gp_Hypr &H)
 Constructs a hyperbola by conversion of the gp_Hypr hyperbola H.
.
Standard_EXPORT Geom_Hyperbola (const gp_Ax2 &A2, const Standard_Real MajorRadius, const Standard_Real MinorRadius)
 Constructs a hyperbola defined by its major and
minor radii, MajorRadius and MinorRadius, where A2 locates the
hyperbola and defines its orientation in 3D space such that:
- the center of the hyperbola is the origin of A2,
- the "X Direction" of A2 defines the major axis
of the hyperbola, i.e. the major radius
MajorRadius is measured along this axis,
- the "Y Direction" of A2 defines the minor axis
of the hyperbola, i.e. the minor radius
MinorRadius is measured along this axis,
- A2 is the local coordinate system of the hyperbola.
Exceptions
Standard_ConstructionError if:
- MajorRadius is less than 0.0,
- MinorRadius is less than 0.0.
.
Standard_EXPORT void SetHypr (const gp_Hypr &H)
 Converts the gp_Hypr hyperbola H into this hyperbola.
.
Standard_EXPORT void SetMajorRadius (const Standard_Real MajorRadius)
 Assigns a value to the major radius of this hyperbola.
Exceptions
Standard_ConstructionError if:
- MajorRadius is less than 0.0, or
- MinorRadius is less than 0.0.Raised if MajorRadius < 0.0
.
Standard_EXPORT void SetMinorRadius (const Standard_Real MinorRadius)
 Assigns a value to the minor radius of this hyperbola.
Exceptions
Standard_ConstructionError if:
- MajorRadius is less than 0.0, or
- MinorRadius is less than 0.0.Raised if MajorRadius < 0.0
.
Standard_EXPORT gp_Hypr Hypr () const
 returns the non transient parabola from gp with the same
geometric properties as <me>.

Standard_EXPORT Standard_Real ReversedParameter (const Standard_Real U) const
 Computes the parameter on the reversed hyperbola,
for the point of parameter U on this hyperbola.
For a hyperbola, the returned value is: -U.
.
Standard_EXPORT Standard_Real FirstParameter () const
 Returns RealFirst from Standard.
.
Standard_EXPORT Standard_Real LastParameter () const
 returns RealLast from Standard.

Standard_EXPORT Standard_Boolean IsClosed () const
 Returns False.
.
Standard_EXPORT Standard_Boolean IsPeriodic () const
 return False for an hyperbola.

Standard_EXPORT 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.
Raises ConstructionError if MajorRadius = 0.0
.
Standard_EXPORT 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.
Raises ConstructionError if MajorRadius = 0.0
.
Standard_EXPORT gp_Hypr ConjugateBranch1 () const
 This branch of hyperbola is on the positive side of the
YAxis of <me>.
.
Standard_EXPORT gp_Hypr ConjugateBranch2 () const
 This branch of hyperbola is on the negative side of the
YAxis of <me>.
Note: The diagram given under the class purpose
indicates where these two branches of hyperbola are
positioned in relation to this branch of hyperbola.
.
Standard_EXPORT 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
directrix1 and the XAxis is the location point of the directrix1.
This point is on the positive side of the XAxis.
.
Standard_EXPORT gp_Ax1 Directrix2 () const
 This line is obtained by the symmetrical transformation
of "directrix1" with respect to the YAxis of the hyperbola.
.
Standard_EXPORT 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.
//! raised if MajorRadius = 0.0
.
Standard_EXPORT Standard_Real Focal () const
 Computes the focal distance. It is the distance between the
two focus of the hyperbola.
.
Standard_EXPORT gp_Pnt Focus1 () const
 Returns the first focus of the hyperbola. This focus is on the
positive side of the XAxis of the hyperbola.
.
Standard_EXPORT gp_Pnt Focus2 () const
 Returns the second focus of the hyperbola. This focus is on the
negative side of the XAxis of the hyperbola.
.
Standard_EXPORT Standard_Real MajorRadius () const
 Returns the major or minor radius of this hyperbola.
The major radius is also the distance between the
center of the hyperbola and the apex of the main
branch (located on the "X Axis" of the hyperbola).
.
Standard_EXPORT Standard_Real MinorRadius () const
 Returns the major or minor radius of this hyperbola.
The minor radius is also the distance between the
center of the hyperbola and the apex of a conjugate
branch (located on the "Y Axis" of the hyperbola).
.
Standard_EXPORT gp_Hypr OtherBranch () const
 Computes the "other" branch of this hyperbola. This
is the symmetrical branch with respect to the center of this hyperbola.
Note: The diagram given under the class purpose
indicates where the "other" branch is positioned in
relation to this branch of the hyperbola.
.
Standard_EXPORT Standard_Real Parameter () const
 Returns p = (e * e - 1) * MajorRadius where e is the
eccentricity of the hyperbola.
//! raised if MajorRadius = 0.0
.
Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt &P) const
 Returns in P the point of parameter U.
P = C + MajorRadius * Cosh (U) * XDir +
MinorRadius * Sinh (U) * YDir
where C is the center of the hyperbola , XDir the XDirection and
YDir the YDirection of the hyperbola's local coordinate system.
.
Standard_EXPORT void D1 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1) const
 Returns the point P of parameter U and the first derivative V1.
.
Standard_EXPORT void D2 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2) const
 Returns the point P of parameter U, the first and second
derivatives V1 and V2.
.
Standard_EXPORT void D3 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3) const
 Returns the point P of parameter U, the first second and
third derivatives V1 V2 and V3.
.
Standard_EXPORT gp_Vec DN (const Standard_Real U, const Standard_Integer N) const
 The returned vector gives the value of the derivative for the
order of derivation N.
//! Raised if N < 1.
.
Standard_EXPORT void Transform (const gp_Trsf &T)
 Applies the transformation T to this hyperbola.
.
Standard_EXPORT Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this hyperbola.
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Attributes

Standard_Real majorRadius
Standard_Real minorRadius

Constructor & Destructor Documentation

Standard_EXPORT Geom_Hyperbola::Geom_Hyperbola const gp_Hypr &  H  ) 
 

Standard_EXPORT Geom_Hyperbola::Geom_Hyperbola const gp_Ax2 &  A2,
const Standard_Real  MajorRadius,
const Standard_Real  MinorRadius
 


Member Function Documentation

Standard_EXPORT gp_Ax1 Geom_Hyperbola::Asymptote1  )  const
 

Standard_EXPORT gp_Ax1 Geom_Hyperbola::Asymptote2  )  const
 

Standard_EXPORT gp_Hypr Geom_Hyperbola::ConjugateBranch1  )  const
 

Standard_EXPORT gp_Hypr Geom_Hyperbola::ConjugateBranch2  )  const
 

Standard_EXPORT Handle_Geom_Geometry Geom_Hyperbola::Copy  )  const [virtual]
 

Implements Geom_Geometry.

Standard_EXPORT void Geom_Hyperbola::D0 const Standard_Real  U,
gp_Pnt &  P
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT void Geom_Hyperbola::D1 const Standard_Real  U,
gp_Pnt &  P,
gp_Vec &  V1
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT void Geom_Hyperbola::D2 const Standard_Real  U,
gp_Pnt &  P,
gp_Vec &  V1,
gp_Vec &  V2
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT void Geom_Hyperbola::D3 const Standard_Real  U,
gp_Pnt &  P,
gp_Vec &  V1,
gp_Vec &  V2,
gp_Vec &  V3
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT gp_Ax1 Geom_Hyperbola::Directrix1  )  const
 

Standard_EXPORT gp_Ax1 Geom_Hyperbola::Directrix2  )  const
 

Standard_EXPORT gp_Vec Geom_Hyperbola::DN const Standard_Real  U,
const Standard_Integer  N
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Real Geom_Hyperbola::Eccentricity  )  const [virtual]
 

Implements Geom_Conic.

Standard_EXPORT Standard_Real Geom_Hyperbola::FirstParameter  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Real Geom_Hyperbola::Focal  )  const
 

Standard_EXPORT gp_Pnt Geom_Hyperbola::Focus1  )  const
 

Standard_EXPORT gp_Pnt Geom_Hyperbola::Focus2  )  const
 

Standard_EXPORT const Geom_Hyperbola::Handle Standard_Type   )  const
 

Reimplemented from Geom_Conic.

Standard_EXPORT gp_Hypr Geom_Hyperbola::Hypr  )  const
 

Standard_EXPORT Standard_Boolean Geom_Hyperbola::IsClosed  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Boolean Geom_Hyperbola::IsPeriodic  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Real Geom_Hyperbola::LastParameter  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Real Geom_Hyperbola::MajorRadius  )  const
 

Standard_EXPORT Standard_Real Geom_Hyperbola::MinorRadius  )  const
 

Standard_EXPORT gp_Hypr Geom_Hyperbola::OtherBranch  )  const
 

Standard_EXPORT Standard_Real Geom_Hyperbola::Parameter  )  const
 

Standard_EXPORT Standard_Real Geom_Hyperbola::ReversedParameter const Standard_Real  U  )  const [virtual]
 

Implements Geom_Conic.

Standard_EXPORT void Geom_Hyperbola::SetHypr const gp_Hypr &  H  ) 
 

Standard_EXPORT void Geom_Hyperbola::SetMajorRadius const Standard_Real  MajorRadius  ) 
 

Standard_EXPORT void Geom_Hyperbola::SetMinorRadius const Standard_Real  MinorRadius  ) 
 

Standard_EXPORT void Geom_Hyperbola::Transform const gp_Trsf &  T  )  [virtual]
 

Implements Geom_Geometry.


Field Documentation

Standard_Real Geom_Hyperbola::majorRadius [private]
 

Standard_Real Geom_Hyperbola::minorRadius [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:22:55 2008 for OpenCASCADE by  doxygen 1.4.1