|
Open CASCADE Technology
6.7.1
|
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: | |
| 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 | |
| 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}. | |
| 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. <br>//! Comparison between Directions <br> 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 <br> i.e. the angle between this unit vector and the | |
| 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) | |
| 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). | |
| 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. | |
| 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 : | |
| const gp_XY & | _CSFDB_Getgp_Dir2dcoord () const |
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.
|
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 | ) |
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: <br>
the value Xi to:
Sqrt(Xv*Xv + Yv*Yv), or
| 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. <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.
1.8.5