Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
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
More...

#include <gp_Dir2d.hxx>

Public Member Functions

 gp_Dir2d ()
 Creates a direction corresponding to X axis.
More...
 
 gp_Dir2d (const gp_Vec2d &V)
 Normalizes the vector V and creates a Direction. Raises ConstructionError if V.Magnitude() <= Resolution from gp.
More...
 
 gp_Dir2d (const gp_XY &Coord)
 Creates a Direction from a doublet of coordinates. Raises ConstructionError if Coord.Modulus() <= Resolution from gp.
More...
 
 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.
More...
 
void SetCoord (const Standard_Integer Index, const Standard_Real Xi)
 
    For this unit vector, assigns: <br>

the value Xi to:
More...

 
void SetCoord (const Standard_Real Xv, const Standard_Real Yv)
 For this unit vector, assigns:
More...
 
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():
More...
 
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():
More...
 
void SetXY (const gp_XY &Coord)
 Assigns:
More...
 
Standard_Real Coord (const Standard_Integer Index) const
 
For this unit vector returns the coordinate of range Index : <br>

Index = 1 => X is returned
Index = 2 => Y is returned
Raises OutOfRange if Index != {1, 2}.
More...

 
void Coord (Standard_Real &Xv, Standard_Real &Yv) const
 
 For this unit vector returns its two coordinates Xv and Yv. <br>

Raises OutOfRange if Index != {1, 2}.
More...

 
Standard_Real X () const
 For this unit vector, returns its X coordinate.
More...
 
Standard_Real Y () const
 For this unit vector, returns its Y coordinate.
More...
 
const gp_XYXY () const
 
For this unit vector, returns its two coordinates as a number pair. <br>//! Comparison between Directions <br>

The precision value is an input data.
More...

 
Standard_Boolean IsEqual (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 
Returns True if the two vectors have the same direction <br>

i.e. the angle between this unit vector and the
unit vector Other is less than or equal to AngularTolerance.
More...

 
Standard_Boolean IsNormal (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 
Returns True if the angle between this unit vector and the <br>

unit vector Other is equal to Pi/2 or -Pi/2 (normal)
i.e. Abs(Abs(<me>.Angle(Other)) - PI/2.) <= AngularTolerance
More...

 
Standard_Boolean IsOpposite (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 
Returns True if the angle between this unit vector and the <br>

unit vector Other is equal to Pi or -Pi (opposite).
i.e. PI - Abs(<me>.Angle(Other)) <= AngularTolerance
More...

 
Standard_Boolean IsParallel (const gp_Dir2d &Other, const Standard_Real AngularTolerance) const
 
returns true if if the angle between this unit vector and unit <br>

vector Other is equal to 0, Pi or -Pi.
i.e. Abs(Angle(<me>, Other)) <= AngularTolerance or
PI - Abs(Angle(<me>, Other)) <= AngularTolerance
More...

 
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].
More...
 
Standard_Real Crossed (const gp_Dir2d &Right) const
 Computes the cross product between two directions.
More...
 
Standard_Real operator^ (const gp_Dir2d &Right) const
 
Standard_Real Dot (const gp_Dir2d &Other) const
 Computes the scalar product
More...
 
Standard_Real operator* (const gp_Dir2d &Other) const
 
void Reverse ()
 
gp_Dir2d Reversed () const
 Reverses the orientation of a direction
More...
 
gp_Dir2d operator- () const
 
void Mirror (const gp_Dir2d &V)
 
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.
More...
 
void Mirror (const gp_Ax2d &A)
 
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.
More...
 
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.
More...
 
void Transform (const gp_Trsf2d &T)
 
gp_Dir2d Transformed (const gp_Trsf2d &T) const
 
Transforms a direction with the "Trsf" T. <br>

Warnings :
If the scale factor of the "Trsf" T is negative then the
direction <me> is reversed.
More...

 
const gp_XY_CSFDB_Getgp_Dir2dcoord () const
 

Detailed Description

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

Constructor & Destructor Documentation

gp_Dir2d::gp_Dir2d ( )

Creates a direction corresponding to X axis.

gp_Dir2d::gp_Dir2d ( const gp_Vec2d V)

Normalizes the vector V and creates a Direction. Raises ConstructionError if V.Magnitude() <= Resolution from gp.

gp_Dir2d::gp_Dir2d ( const gp_XY Coord)

Creates a Direction from a doublet of coordinates. Raises ConstructionError if Coord.Modulus() <= Resolution from gp.

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

Member Function Documentation

const gp_XY& gp_Dir2d::_CSFDB_Getgp_Dir2dcoord ( ) const
inline
Standard_Real gp_Dir2d::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 gp_Dir2d::Coord ( const Standard_Integer  Index) const

For this unit vector returns the coordinate of range Index : <br>

Index = 1 => X is returned
Index = 2 => Y is returned
Raises OutOfRange if Index != {1, 2}.

void gp_Dir2d::Coord ( Standard_Real Xv,
Standard_Real Yv 
) const

 For this unit vector returns its two coordinates Xv and Yv. <br>

Raises OutOfRange if Index != {1, 2}.

Standard_Real gp_Dir2d::Crossed ( const gp_Dir2d Right) const

Computes the cross product between two directions.

Standard_Real gp_Dir2d::Dot ( const gp_Dir2d Other) const

Computes the scalar product

Standard_Boolean gp_Dir2d::IsEqual ( const gp_Dir2d Other,
const Standard_Real  AngularTolerance 
) const

Returns True if the two vectors have the same direction <br>

i.e. the angle between this unit vector and the
unit vector Other is less than or equal to AngularTolerance.

Standard_Boolean gp_Dir2d::IsNormal ( const gp_Dir2d Other,
const Standard_Real  AngularTolerance 
) const

Returns True if the angle between this unit vector and the <br>

unit vector Other is equal to Pi/2 or -Pi/2 (normal)
i.e. Abs(Abs(<me>.Angle(Other)) - PI/2.) <= AngularTolerance

Standard_Boolean gp_Dir2d::IsOpposite ( const gp_Dir2d Other,
const Standard_Real  AngularTolerance 
) const

Returns True if the angle between this unit vector and the <br>

unit vector Other is equal to Pi or -Pi (opposite).
i.e. PI - Abs(<me>.Angle(Other)) <= AngularTolerance

Standard_Boolean gp_Dir2d::IsParallel ( const gp_Dir2d Other,
const Standard_Real  AngularTolerance 
) const

returns true if if the angle between this unit vector and unit <br>

vector Other is equal to 0, Pi or -Pi.
i.e. Abs(Angle(<me>, Other)) <= AngularTolerance or
PI - Abs(Angle(<me>, Other)) <= AngularTolerance

void gp_Dir2d::Mirror ( const gp_Dir2d V)
void gp_Dir2d::Mirror ( const gp_Ax2d A)
gp_Dir2d 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.

gp_Dir2d 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.

Standard_Real gp_Dir2d::operator* ( const gp_Dir2d Other) const
inline
gp_Dir2d gp_Dir2d::operator- ( ) const
inline
Standard_Real gp_Dir2d::operator^ ( const gp_Dir2d Right) const
inline
void gp_Dir2d::Reverse ( )
gp_Dir2d gp_Dir2d::Reversed ( ) const

Reverses the orientation of a direction

void gp_Dir2d::Rotate ( const Standard_Real  Ang)
gp_Dir2d gp_Dir2d::Rotated ( const Standard_Real  Ang) const

Rotates a direction. Ang is the angular value of
the rotation in radians.

void gp_Dir2d::SetCoord ( const Standard_Integer  Index,
const Standard_Real  Xi 
)

    For this unit vector, assigns: <br>

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 gp_Dir2d::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 gp_Dir2d::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 gp_Dir2d::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.
void gp_Dir2d::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 gp_Dir2d::Transform ( const gp_Trsf2d T)
gp_Dir2d gp_Dir2d::Transformed ( const gp_Trsf2d T) const

Transforms a direction with the "Trsf" T. <br>

Warnings :
If the scale factor of the "Trsf" T is negative then the
direction <me> is reversed.

Standard_Real gp_Dir2d::X ( ) const

For this unit vector, returns its X coordinate.

const gp_XY& gp_Dir2d::XY ( ) const

For this unit vector, returns its two coordinates as a number pair. <br>//! Comparison between Directions <br>

The precision value is an input data.

Standard_Real gp_Dir2d::Y ( ) const

For this unit vector, returns its Y coordinate.


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