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

FoundationClasses
TKMath
gp


gp_Dir2d Class Reference

Describes a unit vector in the plane (2D space). This unit
vector is also called "Direction".
See Also
gce_MakeDir2d which provides functions for more
complex unit vector constructions
Geom2d_Direction which provides additional functions
for constructing unit vectors and works, in particular, with
the parametric equations of unit vectors
.

#include <gp_Dir2d.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 gp_Dir2d ()
 Creates an indefinite Direction.
.
 gp_Dir2d (const gp_Vec2d &V)
 Normalizes the vector V and creates a Direction. Raises ConstructionError if V.Magnitude() <= Resolution from gp.
.
 gp_Dir2d (const gp_XY &Coord)
 Creates a Direction from a doublet of coordinates. Raises ConstructionError if Coord.Modulus() <= Resolution from gp.
.
 gp_Dir2d (const Standard_Real Xv, const Standard_Real Yv)
 Creates a Direction with its 2 cartesian coordinates. Raises ConstructionError if Sqrt(Xv*Xv + Yv*Yv) <= Resolution from gp.
.
void SetCoord (const Standard_Integer Index, const Standard_Real Xi)
 For this unit vector, assigns:
the value Xi to:
- the X coordinate if Index is 1, or
- the Y coordinate if Index is 2, and then normalizes it.
Warning
Remember that all the coordinates of a unit vector are
implicitly modified when any single one is changed directly.
Exceptions
Standard_OutOfRange if Index is not 1 or 2.
Standard_ConstructionError if either of the following
is less than or equal to gp::Resolution():
- Sqrt(Xv*Xv + Yv*Yv), or
- the modulus of the number pair formed by the new
value Xi and the other coordinate of this vector that
was not directly modified.
Raises OutOfRange if Index != {1, 2}.
.
void SetCoord (const Standard_Real Xv, const Standard_Real Yv)
 For this unit vector, assigns:
- the values Xv and Yv to its two coordinates,
Warning
Remember that all the coordinates of a unit vector are
implicitly modified when any single one is changed directly.
Exceptions
Standard_OutOfRange if Index is not 1 or 2.
Standard_ConstructionError if either of the following
is less than or equal to gp::Resolution():
- Sqrt(Xv*Xv + Yv*Yv), or
- the modulus of the number pair formed by the new
value Xi and the other coordinate of this vector that
was not directly modified.
Raises OutOfRange if Index != {1, 2}.
.
void SetX (const Standard_Real X)
 Assigns the given value to the X coordinate of this unit vector,
and then normalizes it.
Warning
Remember that all the coordinates of a unit vector are
implicitly modified when any single one is changed directly.
Exceptions
Standard_ConstructionError if either of the following
is less than or equal to gp::Resolution():
- the modulus of Coord, or
- the modulus of the number pair formed from the new
X or Y coordinate and the other coordinate of this
vector that was not directly modified.
.
void SetY (const Standard_Real Y)
 Assigns the given value to the Y coordinate of this unit vector,
and then normalizes it.
Warning
Remember that all the coordinates of a unit vector are
implicitly modified when any single one is changed directly.
Exceptions
Standard_ConstructionError if either of the following
is less than or equal to gp::Resolution():
- the modulus of Coord, or
- the modulus of the number pair formed from the new
X or Y coordinate and the other coordinate of this
vector that was not directly modified.
.
void SetXY (const gp_XY &Coord)
 Assigns:
- the two coordinates of Coord to this unit vector,
and then normalizes it.
Warning
Remember that all the coordinates of a unit vector are
implicitly modified when any single one is changed directly.
Exceptions
Standard_ConstructionError if either of the following
is less than or equal to gp::Resolution():
- the modulus of Coord, or
- the modulus of the number pair formed from the new
X or Y coordinate and the other coordinate of this
vector that was not directly modified.
.
Standard_Real Coord (const Standard_Integer Index) const
 For this unit vector returns the coordinate of range Index :
Index = 1 => X is returned
Index = 2 => Y is returned
Raises OutOfRange if Index != {1, 2}.
.
void Coord (Standard_Real &Xv, Standard_Real &Yv) const
 For this unit vector returns its two coordinates Xv and Yv.
Raises OutOfRange if Index != {1, 2}.
.
Standard_Real X () const
 For this unit vector, returns its X coordinate.
.
Standard_Real Y () const
 For this unit vector, returns its Y coordinate.
.
const gp_XYXY () const
 For this unit vector, returns its two coordinates as a number pair.
//! Comparison between Directions
The precision value is an input data.
.
Standard_Boolean IsEqual (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 Returns True if the two vectors have the same direction
i.e. the angle between this unit vector and the
unit vector Other is less than or equal to AngularTolerance.
.
Standard_Boolean IsNormal (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 Returns True if the angle between this unit vector and the
unit vector Other is equal to Pi/2 or -Pi/2 (normal)
i.e. Abs(Abs(<me>.Angle(Other)) - PI/2.) <= AngularTolerance
.
Standard_Boolean IsOpposite (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 Returns True if the angle between this unit vector and the
unit vector Other is equal to Pi or -Pi (opposite).
i.e. PI - Abs(<me>.Angle(Other)) <= AngularTolerance
.
Standard_Boolean IsParallel (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 returns true if if the angle between this unit vector and unit
vector Other is equal to 0, Pi or -Pi.
i.e. Abs(Angle(<me>, Other)) <= AngularTolerance or
PI - Abs(Angle(<me>, Other)) <= AngularTolerance

Standard_EXPORT Standard_Real Angle (const gp_Dir2d &Other) const
 Computes the angular value in radians between <me> and
<other>. Returns the angle in the range [-PI, PI].
.
Standard_Real Crossed (const gp_Dir2d &Right) const
 Computes the cross product between two directions.
.
Standard_Real operator^ (const gp_Dir2d &Right) const
Standard_Real Dot (const gp_Dir2d &Other) const
 Computes the scalar product
.
Standard_Real operator * (const gp_Dir2d &Other) const
void Reverse ()
gp_Dir2d Reversed () const
 Reverses the orientation of a direction
.
gp_Dir2d operator- () const
Standard_EXPORT void Mirror (const gp_Dir2d &V)
Standard_EXPORT gp_Dir2d Mirrored (const gp_Dir2d &V) const
 Performs the symmetrical transformation of a direction
with respect to the direction V which is the center of
the symmetry.
.
Standard_EXPORT void Mirror (const gp_Ax2d &A)
Standard_EXPORT gp_Dir2d Mirrored (const gp_Ax2d &A) const
 Performs the symmetrical transformation of a direction
with respect to an axis placement which is the axis
of the symmetry.
.
void Rotate (const Standard_Real Ang)
gp_Dir2d Rotated (const Standard_Real Ang) const
 Rotates a direction. Ang is the angular value of
the rotation in radians.
.
Standard_EXPORT void Transform (const gp_Trsf2d &T)
gp_Dir2d Transformed (const gp_Trsf2d &T) const
 Transforms a direction with the "Trsf" T.
Warnings :
If the scale factor of the "Trsf" T is negative then the
direction <me> is reversed.
.
const gp_XY_CSFDB_Getgp_Dir2dcoord () const

Private Attributes

gp_XY coord

Friends

Standard_EXPORT friend Handle_Standard_Type & gp_Dir2d_Type_ ()


Constructor & Destructor Documentation

gp_Dir2d::gp_Dir2d  )  [inline]
 

gp_Dir2d::gp_Dir2d const gp_Vec2d V  )  [inline]
 

gp_Dir2d::gp_Dir2d const gp_XY Coord  )  [inline]
 

gp_Dir2d::gp_Dir2d const Standard_Real  Xv,
const Standard_Real  Yv
[inline]
 


Member Function Documentation

const gp_XY& gp_Dir2d::_CSFDB_Getgp_Dir2dcoord  )  const [inline]
 

Standard_EXPORT Standard_Real gp_Dir2d::Angle const gp_Dir2d Other  )  const
 

void gp_Dir2d::Coord Standard_Real Xv,
Standard_Real Yv
const [inline]
 

Standard_Real gp_Dir2d::Coord const Standard_Integer  Index  )  const [inline]
 

Standard_Real gp_Dir2d::Crossed const gp_Dir2d Right  )  const [inline]
 

Standard_Real gp_Dir2d::Dot const gp_Dir2d Other  )  const [inline]
 

Standard_Boolean gp_Dir2d::IsEqual const gp_Dir2d Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_Boolean gp_Dir2d::IsNormal const gp_Dir2d Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_Boolean gp_Dir2d::IsOpposite const gp_Dir2d Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_Boolean gp_Dir2d::IsParallel const gp_Dir2d Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_EXPORT void gp_Dir2d::Mirror const gp_Ax2d A  ) 
 

Standard_EXPORT void gp_Dir2d::Mirror const gp_Dir2d V  ) 
 

Standard_EXPORT gp_Dir2d gp_Dir2d::Mirrored const gp_Ax2d A  )  const
 

Standard_EXPORT gp_Dir2d gp_Dir2d::Mirrored const gp_Dir2d V  )  const
 

Standard_Real gp_Dir2d::operator * const gp_Dir2d Other  )  const [inline]
 

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

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

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

gp_Dir2d gp_Dir2d::operator-  )  const [inline]
 

Standard_Real gp_Dir2d::operator^ const gp_Dir2d Right  )  const [inline]
 

void gp_Dir2d::Reverse  )  [inline]
 

gp_Dir2d gp_Dir2d::Reversed  )  const [inline]
 

void gp_Dir2d::Rotate const Standard_Real  Ang  )  [inline]
 

gp_Dir2d gp_Dir2d::Rotated const Standard_Real  Ang  )  const [inline]
 

void gp_Dir2d::SetCoord const Standard_Real  Xv,
const Standard_Real  Yv
[inline]
 

void gp_Dir2d::SetCoord const Standard_Integer  Index,
const Standard_Real  Xi
[inline]
 

void gp_Dir2d::SetX const Standard_Real  X  )  [inline]
 

void gp_Dir2d::SetXY const gp_XY Coord  )  [inline]
 

void gp_Dir2d::SetY const Standard_Real  Y  )  [inline]
 

Standard_EXPORT void gp_Dir2d::Transform const gp_Trsf2d T  ) 
 

gp_Dir2d gp_Dir2d::Transformed const gp_Trsf2d T  )  const [inline]
 

Standard_Real gp_Dir2d::X  )  const [inline]
 

const gp_XY & gp_Dir2d::XY  )  const [inline]
 

Standard_Real gp_Dir2d::Y  )  const [inline]
 


Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Dir2d_Type_  )  [friend]
 


Field Documentation

gp_XY gp_Dir2d::coord [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