Open CASCADE Technology
6.9.0
|
Defines a non-persistent vector in 2D space. More...
#include <gp_Vec2d.hxx>
Public Member Functions | |
gp_Vec2d () | |
Creates a zero vector. More... | |
gp_Vec2d (const gp_Dir2d &V) | |
Creates a unitary vector from a direction V. More... | |
gp_Vec2d (const gp_XY &Coord) | |
Creates a vector with a doublet of coordinates. More... | |
gp_Vec2d (const Standard_Real Xv, const Standard_Real Yv) | |
Creates a point with its two cartesian coordinates. More... | |
gp_Vec2d (const gp_Pnt2d &P1, const gp_Pnt2d &P2) | |
Creates a vector from two points. The length of the vector is the distance between P1 and P2. More... | |
void | SetCoord (const Standard_Integer Index, const Standard_Real Xi) |
Changes the coordinate of range Index Index = 1 => X is modified Index = 2 => Y is modified Raises OutOfRange if Index != {1, 2}. More... | |
void | SetCoord (const Standard_Real Xv, const Standard_Real Yv) |
For this vector, assigns the values Xv and Yv to its two coordinates. More... | |
void | SetX (const Standard_Real X) |
Assigns the given value to the X coordinate of this vector. More... | |
void | SetY (const Standard_Real Y) |
Assigns the given value to the Y coordinate of this vector. More... | |
void | SetXY (const gp_XY &Coord) |
Assigns the two coordinates of Coord to this vector. More... | |
Standard_Real | Coord (const Standard_Integer Index) const |
Returns the coordinate of range Index : Index = 1 => X is returned Index = 2 => Y is returned Raised if Index != {1, 2}. More... | |
void | Coord (Standard_Real &Xv, Standard_Real &Yv) const |
For this vector, returns its two coordinates Xv and Yv. More... | |
Standard_Real | X () const |
For this vector, returns its X coordinate. More... | |
Standard_Real | Y () const |
For this vector, returns its Y coordinate. More... | |
const gp_XY & | XY () const |
For this vector, returns its two coordinates as a number pair. More... | |
Standard_Boolean | IsEqual (const gp_Vec2d &Other, const Standard_Real LinearTolerance, const Standard_Real AngularTolerance) const |
Returns True if the two vectors have the same magnitude value and the same direction. The precision values are LinearTolerance for the magnitude and AngularTolerance for the direction. More... | |
Standard_Boolean | IsNormal (const gp_Vec2d &Other, const Standard_Real AngularTolerance) const |
Returns True if abs(Abs(<me>.Angle(Other)) - PI/2.) <= AngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp. More... | |
Standard_Boolean | IsOpposite (const gp_Vec2d &Other, const Standard_Real AngularTolerance) const |
Returns True if PI - Abs(<me>.Angle(Other)) <= AngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp. More... | |
Standard_Boolean | IsParallel (const gp_Vec2d &Other, const Standard_Real AngularTolerance) const |
Returns true if Abs(Angle(<me>, Other)) <= AngularTolerance or PI - Abs(Angle(<me>, Other)) <= AngularTolerance Two vectors with opposite directions are considered as parallel. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp. More... | |
Standard_Real | Angle (const gp_Vec2d &Other) const |
Computes the angular value between <me> and <Other> returns the angle value between -PI and PI in radian. The orientation is from <me> to Other. The positive sense is the trigonometric sense. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution from gp or Other.Magnitude() <= Resolution because the angular value is indefinite if one of the vectors has a null magnitude. More... | |
Standard_Real | Magnitude () const |
Computes the magnitude of this vector. More... | |
Standard_Real | SquareMagnitude () const |
Computes the square magnitude of this vector. More... | |
void | Add (const gp_Vec2d &Other) |
void | operator+= (const gp_Vec2d &Other) |
gp_Vec2d | Added (const gp_Vec2d &Other) const |
Adds two vectors. More... | |
gp_Vec2d | operator+ (const gp_Vec2d &Other) const |
Standard_Real | Crossed (const gp_Vec2d &Right) const |
Computes the crossing product between two vectors. More... | |
Standard_Real | operator^ (const gp_Vec2d &Right) const |
Standard_Real | CrossMagnitude (const gp_Vec2d &Right) const |
Computes the magnitude of the cross product between <me> and Right. Returns || <me> ^ Right ||. More... | |
Standard_Real | CrossSquareMagnitude (const gp_Vec2d &Right) const |
Computes the square magnitude of the cross product between <me> and Right. Returns || <me> ^ Right ||**2. More... | |
void | Divide (const Standard_Real Scalar) |
void | operator/= (const Standard_Real Scalar) |
gp_Vec2d | Divided (const Standard_Real Scalar) const |
divides a vector by a scalar More... | |
gp_Vec2d | operator/ (const Standard_Real Scalar) const |
Standard_Real | Dot (const gp_Vec2d &Other) const |
Computes the scalar product. More... | |
Standard_Real | operator* (const gp_Vec2d &Other) const |
gp_Vec2d | GetNormal () const |
void | Multiply (const Standard_Real Scalar) |
void | operator*= (const Standard_Real Scalar) |
gp_Vec2d | Multiplied (const Standard_Real Scalar) const |
Normalizes a vector Raises an exception if the magnitude of the vector is lower or equal to Resolution from package gp. More... | |
gp_Vec2d | operator* (const Standard_Real Scalar) const |
void | Normalize () |
gp_Vec2d | Normalized () const |
Normalizes a vector Raises an exception if the magnitude of the vector is lower or equal to Resolution from package gp. Reverses the direction of a vector. More... | |
void | Reverse () |
gp_Vec2d | Reversed () const |
Reverses the direction of a vector Subtracts two vectors. More... | |
gp_Vec2d | operator- () const |
void | Subtract (const gp_Vec2d &Right) |
void | operator-= (const gp_Vec2d &Right) |
gp_Vec2d | Subtracted (const gp_Vec2d &Right) const |
Subtracts two vectors. More... | |
gp_Vec2d | operator- (const gp_Vec2d &Right) const |
void | SetLinearForm (const Standard_Real A1, const gp_Vec2d &V1, const Standard_Real A2, const gp_Vec2d &V2, const gp_Vec2d &V3) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 + V3 More... | |
void | SetLinearForm (const Standard_Real A1, const gp_Vec2d &V1, const Standard_Real A2, const gp_Vec2d &V2) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 More... | |
void | SetLinearForm (const Standard_Real A1, const gp_Vec2d &V1, const gp_Vec2d &V2) |
<me> is setted to the following linear form : A1 * V1 + V2 More... | |
void | SetLinearForm (const gp_Vec2d &Left, const gp_Vec2d &Right) |
<me> is setted to the following linear form : Left + Right More... | |
void | Mirror (const gp_Vec2d &V) |
gp_Vec2d | Mirrored (const gp_Vec2d &V) const |
Performs the symmetrical transformation of a vector with respect to the vector V which is the center of the symmetry. More... | |
void | Mirror (const gp_Ax2d &A1) |
gp_Vec2d | Mirrored (const gp_Ax2d &A1) const |
Performs the symmetrical transformation of a vector with respect to an axis placement which is the axis of the symmetry. More... | |
void | Rotate (const Standard_Real Ang) |
gp_Vec2d | Rotated (const Standard_Real Ang) const |
Rotates a vector. Ang is the angular value of the rotation in radians. More... | |
void | Scale (const Standard_Real S) |
gp_Vec2d | Scaled (const Standard_Real S) const |
Scales a vector. S is the scaling value. More... | |
void | Transform (const gp_Trsf2d &T) |
gp_Vec2d | Transformed (const gp_Trsf2d &T) const |
Transforms a vector with a Trsf from gp. More... | |
const gp_XY & | _CSFDB_Getgp_Vec2dcoord () const |
Defines a non-persistent vector in 2D space.
gp_Vec2d::gp_Vec2d | ( | ) |
Creates a zero vector.
gp_Vec2d::gp_Vec2d | ( | const gp_Dir2d & | V | ) |
Creates a unitary vector from a direction V.
gp_Vec2d::gp_Vec2d | ( | const gp_XY & | Coord | ) |
Creates a vector with a doublet of coordinates.
gp_Vec2d::gp_Vec2d | ( | const Standard_Real | Xv, |
const Standard_Real | Yv | ||
) |
Creates a point with its two cartesian coordinates.
Creates a vector from two points. The length of the vector is the distance between P1 and P2.
|
inline |
void gp_Vec2d::Add | ( | const gp_Vec2d & | Other | ) |
Standard_Real gp_Vec2d::Angle | ( | const gp_Vec2d & | Other | ) | const |
Computes the angular value between <me> and <Other> returns the angle value between -PI and PI in radian. The orientation is from <me> to Other. The positive sense is the trigonometric sense. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution from gp or Other.Magnitude() <= Resolution because the angular value is indefinite if one of the vectors has a null magnitude.
Standard_Real gp_Vec2d::Coord | ( | const Standard_Integer | Index | ) | const |
Returns the coordinate of range Index : Index = 1 => X is returned Index = 2 => Y is returned Raised if Index != {1, 2}.
void gp_Vec2d::Coord | ( | Standard_Real & | Xv, |
Standard_Real & | Yv | ||
) | const |
For this vector, returns its two coordinates Xv and Yv.
Standard_Real gp_Vec2d::Crossed | ( | const gp_Vec2d & | Right | ) | const |
Computes the crossing product between two vectors.
Standard_Real gp_Vec2d::CrossMagnitude | ( | const gp_Vec2d & | Right | ) | const |
Computes the magnitude of the cross product between <me> and Right. Returns || <me> ^ Right ||.
Standard_Real gp_Vec2d::CrossSquareMagnitude | ( | const gp_Vec2d & | Right | ) | const |
Computes the square magnitude of the cross product between <me> and Right. Returns || <me> ^ Right ||**2.
void gp_Vec2d::Divide | ( | const Standard_Real | Scalar | ) |
gp_Vec2d gp_Vec2d::Divided | ( | const Standard_Real | Scalar | ) | const |
divides a vector by a scalar
Standard_Real gp_Vec2d::Dot | ( | const gp_Vec2d & | Other | ) | const |
Computes the scalar product.
gp_Vec2d gp_Vec2d::GetNormal | ( | ) | const |
Standard_Boolean gp_Vec2d::IsEqual | ( | const gp_Vec2d & | Other, |
const Standard_Real | LinearTolerance, | ||
const Standard_Real | AngularTolerance | ||
) | const |
Returns True if the two vectors have the same magnitude value and the same direction. The precision values are LinearTolerance for the magnitude and AngularTolerance for the direction.
Standard_Boolean gp_Vec2d::IsNormal | ( | const gp_Vec2d & | Other, |
const Standard_Real | AngularTolerance | ||
) | const |
Returns True if abs(Abs(<me>.Angle(Other)) - PI/2.) <= AngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp.
Standard_Boolean gp_Vec2d::IsOpposite | ( | const gp_Vec2d & | Other, |
const Standard_Real | AngularTolerance | ||
) | const |
Returns True if PI - Abs(<me>.Angle(Other)) <= AngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp.
Standard_Boolean gp_Vec2d::IsParallel | ( | const gp_Vec2d & | Other, |
const Standard_Real | AngularTolerance | ||
) | const |
Returns true if Abs(Angle(<me>, Other)) <= AngularTolerance or PI - Abs(Angle(<me>, Other)) <= AngularTolerance Two vectors with opposite directions are considered as parallel. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp.
Standard_Real gp_Vec2d::Magnitude | ( | ) | const |
Computes the magnitude of this vector.
void gp_Vec2d::Mirror | ( | const gp_Vec2d & | V | ) |
void gp_Vec2d::Mirror | ( | const gp_Ax2d & | A1 | ) |
Performs the symmetrical transformation of a vector with respect to the vector V which is the center of the symmetry.
Performs the symmetrical transformation of a vector with respect to an axis placement which is the axis of the symmetry.
Performs the symmetrical transformation of a vector with respect to an axis placement which is the axis of the symmetry.
gp_Vec2d gp_Vec2d::Multiplied | ( | const Standard_Real | Scalar | ) | const |
Normalizes a vector Raises an exception if the magnitude of the vector is lower or equal to Resolution from package gp.
void gp_Vec2d::Multiply | ( | const Standard_Real | Scalar | ) |
void gp_Vec2d::Normalize | ( | ) |
gp_Vec2d gp_Vec2d::Normalized | ( | ) | const |
Normalizes a vector Raises an exception if the magnitude of the vector is lower or equal to Resolution from package gp. Reverses the direction of a vector.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void gp_Vec2d::Reverse | ( | ) |
gp_Vec2d gp_Vec2d::Reversed | ( | ) | const |
Reverses the direction of a vector Subtracts two vectors.
void gp_Vec2d::Rotate | ( | const Standard_Real | Ang | ) |
gp_Vec2d gp_Vec2d::Rotated | ( | const Standard_Real | Ang | ) | const |
Rotates a vector. Ang is the angular value of the rotation in radians.
void gp_Vec2d::Scale | ( | const Standard_Real | S | ) |
gp_Vec2d gp_Vec2d::Scaled | ( | const Standard_Real | S | ) | const |
Scales a vector. S is the scaling value.
void gp_Vec2d::SetCoord | ( | const Standard_Integer | Index, |
const Standard_Real | Xi | ||
) |
Changes the coordinate of range Index Index = 1 => X is modified Index = 2 => Y is modified Raises OutOfRange if Index != {1, 2}.
void gp_Vec2d::SetCoord | ( | const Standard_Real | Xv, |
const Standard_Real | Yv | ||
) |
For this vector, assigns the values Xv and Yv to its two coordinates.
void gp_Vec2d::SetLinearForm | ( | const Standard_Real | A1, |
const gp_Vec2d & | V1, | ||
const Standard_Real | A2, | ||
const gp_Vec2d & | V2, | ||
const gp_Vec2d & | V3 | ||
) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 + V3
void gp_Vec2d::SetLinearForm | ( | const Standard_Real | A1, |
const gp_Vec2d & | V1, | ||
const Standard_Real | A2, | ||
const gp_Vec2d & | V2 | ||
) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2
void gp_Vec2d::SetLinearForm | ( | const Standard_Real | A1, |
const gp_Vec2d & | V1, | ||
const gp_Vec2d & | V2 | ||
) |
<me> is setted to the following linear form : A1 * V1 + V2
<me> is setted to the following linear form : Left + Right
Performs the symmetrical transformation of a vector with respect to the vector V which is the center of the symmetry.
void gp_Vec2d::SetX | ( | const Standard_Real | X | ) |
Assigns the given value to the X coordinate of this vector.
void gp_Vec2d::SetXY | ( | const gp_XY & | Coord | ) |
Assigns the two coordinates of Coord to this vector.
void gp_Vec2d::SetY | ( | const Standard_Real | Y | ) |
Assigns the given value to the Y coordinate of this vector.
Standard_Real gp_Vec2d::SquareMagnitude | ( | ) | const |
Computes the square magnitude of this vector.
void gp_Vec2d::Subtract | ( | const gp_Vec2d & | Right | ) |
void gp_Vec2d::Transform | ( | const gp_Trsf2d & | T | ) |
Transforms a vector with a Trsf from gp.
Standard_Real gp_Vec2d::X | ( | ) | const |
For this vector, returns its X coordinate.
const gp_XY& gp_Vec2d::XY | ( | ) | const |
For this vector, returns its two coordinates as a number pair.
Standard_Real gp_Vec2d::Y | ( | ) | const |
For this vector, returns its Y coordinate.