Open CASCADE Technology: gp_Dir2d Class Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

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

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

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

- gp_Dir2d.hxx