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

ModelingData
TKG2d
Geom2d


Geom2d_Hyperbola Class Reference

Describes a branch of a hyperbola in the plane (2D space).
A hyperbola is defined by its major and minor radii
and, as with any conic curve, is positioned in the
plane with a coordinate system (gp_Ax22d 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.
This 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 orientation (direct or indirect) of the local
coordinate system gives an explicit orientation to the
hyperbola, determining the direction in which the
parameter increases along the hyperbola.
The Geom2d_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:
^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).
See Also
GCE2d_MakeHyperbola which provides functions for
more complex hyperbola constructions
gp_Ax22d
gp_Hypr2d for an equivalent, non-parameterized data structure
.

#include <Geom2d_Hyperbola.hxx>

Inheritance diagram for Geom2d_Hyperbola:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT Geom2d_Hyperbola (const gp_Hypr2d &H)
 Creates an Hyperbola from a non persistent one from package gp
.
Standard_EXPORT Geom2d_Hyperbola (const gp_Ax2d &MajorAxis, const Standard_Real MajorRadius, const Standard_Real MinorRadius, const Standard_Boolean Sense=Standard_True)
 MajorAxis is the "XAxis" of the hyperbola.
The YAxis is in the direct sense if "Sense" is True;
The major radius of the hyperbola is on this "XAxis" and
the minor radius is on the "YAxis" of the hyperbola.
//! Raised if MajorRadius < 0.0 or if MinorRadius < 0.0
.
Standard_EXPORT Geom2d_Hyperbola (const gp_Ax22d &Axis, const Standard_Real MajorRadius, const Standard_Real MinorRadius)
 The XDirection of "Axis" is the "XAxis" of the hyperbola and
the YDirection of "Axis" is the "YAxis".
The major radius of the hyperbola is on this "XAxis" and
the minor radius is on the "YAxis" of the hyperbola.
//! Raised if MajorRadius < 0.0 or if MinorRadius < 0.0
.
Standard_EXPORT void SetHypr2d (const gp_Hypr2d &H)
 Converts the gp_Hypr2d hyperbola H into this hyperbola.
.
Standard_EXPORT void SetMajorRadius (const Standard_Real MajorRadius)
 Assigns a value to the major or minor radius of this hyperbola.
Exceptions
Standard_ConstructionError if:
- MajorRadius is less than 0.0,
- MinorRadius is less than 0.0.
.
Standard_EXPORT void SetMinorRadius (const Standard_Real MinorRadius)
 Assigns a value to the major or minor radius of this hyperbola.
Exceptions
Standard_ConstructionError if:
- MajorRadius is less than 0.0,
- MinorRadius is less than 0.0.
.
Standard_EXPORT gp_Hypr2d Hypr2d () const
 Converts this hyperbola into a gp_Hypr2d one.
.
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_Ax2d 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 of the hyperbola and B is the
minor radius of the hyperbola.
//! Raised if MajorRadius = 0.0
.
Standard_EXPORT gp_Ax2d 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 of the hyperbola and B is the
minor radius of the hyperbola.
//! raised if MajorRadius = 0.0
.
Standard_EXPORT gp_Hypr2d ConjugateBranch1 () const
 Computes the first conjugate branch relative to this hyperbola.
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_Hypr2d ConjugateBranch2 () const
 Computes the second conjugate branch relative to this hyperbola.
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_Ax2d 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_Ax2d 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_Pnt2d 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_Pnt2d 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_Hypr2d OtherBranch () const
 Computes the "other" branch of this hyperbola. This
is a 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.
^ YAxis
|
FirstConjugateBranch
|
Other | Main
---------------------------- C
------------------------------------------&gtXAxis
Branch | Branch
|
|
SecondConjugateBranch
|
Warning
The major radius can be less than the minor radius.
.
Standard_EXPORT Standard_Real Parameter () const
 Computes the parameter of this hyperbola.
The parameter is:
p = (e*e - 1) * MajorRadius
where e is the eccentricity of this hyperbola and
MajorRadius its major radius.
Exceptions
Standard_DomainError if the major radius of this
hyperbola is null.
.
Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt2d &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_Pnt2d &P, gp_Vec2d &V1) const
 Returns the point P of parameter U and the first derivative V1.
.
Standard_EXPORT void D2 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &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_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3) const
 Returns the point P of parameter U, the first second and
third derivatives V1 V2 and V3.
.
Standard_EXPORT gp_Vec2d DN (const Standard_Real U, const Standard_Integer N) const
 For the point of parameter U of this hyperbola,
computes the vector corresponding to the Nth derivative.
Exceptions Standard_RangeError if N is less than 1.
.
Standard_EXPORT void Transform (const gp_Trsf2d &T)
 Applies the transformation T to this hyperbola.
.
Standard_EXPORT Handle_Geom2d_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 Geom2d_Hyperbola::Geom2d_Hyperbola const gp_Hypr2d &  H  ) 
 

Standard_EXPORT Geom2d_Hyperbola::Geom2d_Hyperbola const gp_Ax2d &  MajorAxis,
const Standard_Real  MajorRadius,
const Standard_Real  MinorRadius,
const Standard_Boolean  Sense = Standard_True
 

Standard_EXPORT Geom2d_Hyperbola::Geom2d_Hyperbola const gp_Ax22d &  Axis,
const Standard_Real  MajorRadius,
const Standard_Real  MinorRadius
 


Member Function Documentation

Standard_EXPORT gp_Ax2d Geom2d_Hyperbola::Asymptote1  )  const
 

Standard_EXPORT gp_Ax2d Geom2d_Hyperbola::Asymptote2  )  const
 

Standard_EXPORT gp_Hypr2d Geom2d_Hyperbola::ConjugateBranch1  )  const
 

Standard_EXPORT gp_Hypr2d Geom2d_Hyperbola::ConjugateBranch2  )  const
 

Standard_EXPORT Handle_Geom2d_Geometry Geom2d_Hyperbola::Copy  )  const [virtual]
 

Implements Geom2d_Geometry.

Standard_EXPORT void Geom2d_Hyperbola::D0 const Standard_Real  U,
gp_Pnt2d &  P
const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT void Geom2d_Hyperbola::D1 const Standard_Real  U,
gp_Pnt2d &  P,
gp_Vec2d &  V1
const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT void Geom2d_Hyperbola::D2 const Standard_Real  U,
gp_Pnt2d &  P,
gp_Vec2d &  V1,
gp_Vec2d &  V2
const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT void Geom2d_Hyperbola::D3 const Standard_Real  U,
gp_Pnt2d &  P,
gp_Vec2d &  V1,
gp_Vec2d &  V2,
gp_Vec2d &  V3
const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT gp_Ax2d Geom2d_Hyperbola::Directrix1  )  const
 

Standard_EXPORT gp_Ax2d Geom2d_Hyperbola::Directrix2  )  const
 

Standard_EXPORT gp_Vec2d Geom2d_Hyperbola::DN const Standard_Real  U,
const Standard_Integer  N
const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT Standard_Real Geom2d_Hyperbola::Eccentricity  )  const [virtual]
 

Implements Geom2d_Conic.

Standard_EXPORT Standard_Real Geom2d_Hyperbola::FirstParameter  )  const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT Standard_Real Geom2d_Hyperbola::Focal  )  const
 

Standard_EXPORT gp_Pnt2d Geom2d_Hyperbola::Focus1  )  const
 

Standard_EXPORT gp_Pnt2d Geom2d_Hyperbola::Focus2  )  const
 

Standard_EXPORT const Geom2d_Hyperbola::Handle Standard_Type   )  const
 

Reimplemented from Geom2d_Conic.

Standard_EXPORT gp_Hypr2d Geom2d_Hyperbola::Hypr2d  )  const
 

Standard_EXPORT Standard_Boolean Geom2d_Hyperbola::IsClosed  )  const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT Standard_Boolean Geom2d_Hyperbola::IsPeriodic  )  const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT Standard_Real Geom2d_Hyperbola::LastParameter  )  const [virtual]
 

Implements Geom2d_Curve.

Standard_EXPORT Standard_Real Geom2d_Hyperbola::MajorRadius  )  const
 

Standard_EXPORT Standard_Real Geom2d_Hyperbola::MinorRadius  )  const
 

Standard_EXPORT gp_Hypr2d Geom2d_Hyperbola::OtherBranch  )  const
 

Standard_EXPORT Standard_Real Geom2d_Hyperbola::Parameter  )  const
 

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

Implements Geom2d_Conic.

Standard_EXPORT void Geom2d_Hyperbola::SetHypr2d const gp_Hypr2d &  H  ) 
 

Standard_EXPORT void Geom2d_Hyperbola::SetMajorRadius const Standard_Real  MajorRadius  ) 
 

Standard_EXPORT void Geom2d_Hyperbola::SetMinorRadius const Standard_Real  MinorRadius  ) 
 

Standard_EXPORT void Geom2d_Hyperbola::Transform const gp_Trsf2d &  T  )  [virtual]
 

Implements Geom2d_Geometry.


Field Documentation

Standard_Real Geom2d_Hyperbola::majorRadius [private]
 

Standard_Real Geom2d_Hyperbola::minorRadius [private]
 


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