Defines a non-persistent vector in 2D space.
Public Member Functions |
DEFINE_STANDARD_ALLOC | gp_Vec2d () |
| Creates a zero vector.
|
| gp_Vec2d (const gp_Dir2d &V) |
| Creates a unitary vector from a direction V.
|
| gp_Vec2d (const gp_XY &Coord) |
| Creates a vector with a doublet of coordinates.
|
| gp_Vec2d (const Standard_Real Xv, const Standard_Real Yv) |
| Creates a point with its two cartesian coordinates.
|
| 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
|
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}.
|
void | SetCoord (const Standard_Real Xv, const Standard_Real Yv) |
| For this vector, assigns
the values Xv and Yv to its two coordinates
|
void | SetX (const Standard_Real X) |
| Assigns the given value to the X coordinate of this vector.
|
void | SetY (const Standard_Real Y) |
| Assigns the given value to the Y coordinate of this vector.
|
void | SetXY (const gp_XY &Coord) |
| Assigns the two coordinates of Coord to this vector.
|
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}.
|
void | Coord (Standard_Real &Xv, Standard_Real &Yv) const |
| For this vector, returns its two coordinates Xv and Yv
|
Standard_Real | X () const |
| For this vector, returns its X coordinate.
|
Standard_Real | Y () const |
| For this vector, returns its Y coordinate.
|
const gp_XY & | XY () const |
| For this vector, returns its two coordinates as a number pair
|
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.
|
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.
|
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.
|
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
|
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.
|
Standard_Real | Magnitude () const |
| Computes the magnitude of this vector.
|
Standard_Real | SquareMagnitude () const |
| Computes the square magnitude of this vector.
|
void | Add (const gp_Vec2d &Other) |
void | operator+= (const gp_Vec2d &Other) |
gp_Vec2d | Added (const gp_Vec2d &Other) const |
| Adds two vectors
|
gp_Vec2d | operator+ (const gp_Vec2d &Other) const |
Standard_Real | Crossed (const gp_Vec2d &Right) const |
| Computes the crossing product between two vectors
|
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 ||
|
Standard_Real | CrossSquareMagnitude (const gp_Vec2d &Right) const |
| Computes the square magnitude of the cross product between <me> and
Right. Returns || <me> ^ Right ||**2
|
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
|
gp_Vec2d | operator/ (const Standard_Real Scalar) const |
Standard_Real | Dot (const gp_Vec2d &Other) const |
| Computes the scalar product
|
Standard_Real | operator* (const gp_Vec2d &Other) 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.
|
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
|
void | Reverse () |
gp_Vec2d | Reversed () const |
| Reverses the direction of a vector
//! Subtracts two vectors
|
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
|
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
|
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
|
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
|
void | SetLinearForm (const gp_Vec2d &Left, const gp_Vec2d &Right) |
| <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 | 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.
Performs the symmetrical transformation of a vector
with respect to an axis placement which is the axis
of the symmetry.
|
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.
|
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.
|
void | Scale (const Standard_Real S) |
gp_Vec2d | Scaled (const Standard_Real S) const |
| Scales a vector. S is the scaling value.
|
void | Transform (const gp_Trsf2d &T) |
gp_Vec2d | Transformed (const gp_Trsf2d &T) const |
| Transforms a vector with a Trsf from gp.
|
const gp_XY & | _CSFDB_Getgp_Vec2dcoord () const |