Open CASCADE Technology
7.5.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... | |
void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. 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.
void gp_Dir2d::DumpJson | ( | Standard_OStream & | theOStream, |
Standard_Integer | theDepth = -1 |
||
) | const |
Dumps the content of me into the stream.
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.