Open CASCADE Technology
7.4.0

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: 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 : 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. 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_XY &  XY () const 
For this unit vector, returns its two coordinates as a number pair. Comparison between Directions 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 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 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 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 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. Warnings : If the scale factor of the "Trsf" T is negative then the direction <me> is reversed. More...  
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.
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.
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 : 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. 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 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 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 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 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  ) 
Performs the symmetrical transformation of a direction with respect to the direction V which is the center of the symmetry.
Performs the symmetrical transformation of a direction with respect to an axis placement which is the axis of the symmetry.

inline 

inline 

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: the value Xi to:
void gp_Dir2d::SetCoord  (  const Standard_Real  Xv, 
const Standard_Real  Yv  
) 
For this unit vector, assigns:
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():
void gp_Dir2d::SetXY  (  const gp_XY &  Coord  ) 
Assigns:
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():
void gp_Dir2d::Transform  (  const gp_Trsf2d &  T  ) 
Transforms a direction with the "Trsf" T. 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. Comparison between Directions The precision value is an input data.
Standard_Real gp_Dir2d::Y  (  )  const 
For this unit vector, returns its Y coordinate.