Open CASCADE Technology  7.5.0
Public Member Functions
gp_Vec2d Class Reference

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_XYXY () 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. More...
 
gp_Vec2d operator- () const
 
void Subtract (const gp_Vec2d &Right)
 Subtracts two vectors. More...
 
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 set 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 set 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 set to the following linear form : A1 * V1 + V2 More...
 
void SetLinearForm (const gp_Vec2d &Left, const gp_Vec2d &Right)
 <me> is set to the following linear form : Left + Right More...
 
void Mirror (const gp_Vec2d &V)
 Performs the symmetrical transformation of a vector with respect to the vector V which is the center of the symmetry. More...
 
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)
 Performs the symmetrical transformation of a vector with respect to an axis placement which is the axis of the symmetry. More...
 
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...
 

Detailed Description

Defines a non-persistent vector in 2D space.

Constructor & Destructor Documentation

◆ gp_Vec2d() [1/5]

gp_Vec2d::gp_Vec2d ( )

Creates a zero vector.

◆ gp_Vec2d() [2/5]

gp_Vec2d::gp_Vec2d ( const gp_Dir2d V)

Creates a unitary vector from a direction V.

◆ gp_Vec2d() [3/5]

gp_Vec2d::gp_Vec2d ( const gp_XY Coord)

Creates a vector with a doublet of coordinates.

◆ gp_Vec2d() [4/5]

gp_Vec2d::gp_Vec2d ( const Standard_Real  Xv,
const Standard_Real  Yv 
)

Creates a point with its two Cartesian coordinates.

◆ gp_Vec2d() [5/5]

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

Member Function Documentation

◆ Add()

void gp_Vec2d::Add ( const gp_Vec2d Other)

◆ Added()

gp_Vec2d gp_Vec2d::Added ( const gp_Vec2d Other) const

Adds two vectors.

◆ Angle()

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.

◆ Coord() [1/2]

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

◆ Coord() [2/2]

void gp_Vec2d::Coord ( Standard_Real Xv,
Standard_Real Yv 
) const

For this vector, returns its two coordinates Xv and Yv.

◆ Crossed()

Standard_Real gp_Vec2d::Crossed ( const gp_Vec2d Right) const

Computes the crossing product between two vectors.

◆ CrossMagnitude()

Standard_Real gp_Vec2d::CrossMagnitude ( const gp_Vec2d Right) const

Computes the magnitude of the cross product between <me> and Right. Returns || <me> ^ Right ||.

◆ CrossSquareMagnitude()

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.

◆ Divide()

void gp_Vec2d::Divide ( const Standard_Real  Scalar)

◆ Divided()

gp_Vec2d gp_Vec2d::Divided ( const Standard_Real  Scalar) const

divides a vector by a scalar

◆ Dot()

Standard_Real gp_Vec2d::Dot ( const gp_Vec2d Other) const

Computes the scalar product.

◆ GetNormal()

gp_Vec2d gp_Vec2d::GetNormal ( ) const

◆ IsEqual()

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.

◆ IsNormal()

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.

◆ IsOpposite()

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.

◆ IsParallel()

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.

◆ Magnitude()

Standard_Real gp_Vec2d::Magnitude ( ) const

Computes the magnitude of this vector.

◆ Mirror() [1/2]

void gp_Vec2d::Mirror ( const gp_Vec2d V)

Performs the symmetrical transformation of a vector with respect to the vector V which is the center of the symmetry.

◆ Mirror() [2/2]

void gp_Vec2d::Mirror ( const gp_Ax2d A1)

Performs the symmetrical transformation of a vector with respect to an axis placement which is the axis of the symmetry.

◆ Mirrored() [1/2]

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

◆ Mirrored() [2/2]

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

◆ Multiplied()

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.

◆ Multiply()

void gp_Vec2d::Multiply ( const Standard_Real  Scalar)

◆ Normalize()

void gp_Vec2d::Normalize ( )

◆ Normalized()

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.

◆ operator*() [1/2]

Standard_Real gp_Vec2d::operator* ( const gp_Vec2d Other) const
inline

◆ operator*() [2/2]

gp_Vec2d gp_Vec2d::operator* ( const Standard_Real  Scalar) const
inline

◆ operator*=()

void gp_Vec2d::operator*= ( const Standard_Real  Scalar)
inline

◆ operator+()

gp_Vec2d gp_Vec2d::operator+ ( const gp_Vec2d Other) const
inline

◆ operator+=()

void gp_Vec2d::operator+= ( const gp_Vec2d Other)
inline

◆ operator-() [1/2]

gp_Vec2d gp_Vec2d::operator- ( ) const
inline

◆ operator-() [2/2]

gp_Vec2d gp_Vec2d::operator- ( const gp_Vec2d Right) const
inline

◆ operator-=()

void gp_Vec2d::operator-= ( const gp_Vec2d Right)
inline

◆ operator/()

gp_Vec2d gp_Vec2d::operator/ ( const Standard_Real  Scalar) const
inline

◆ operator/=()

void gp_Vec2d::operator/= ( const Standard_Real  Scalar)
inline

◆ operator^()

Standard_Real gp_Vec2d::operator^ ( const gp_Vec2d Right) const
inline

◆ Reverse()

void gp_Vec2d::Reverse ( )

◆ Reversed()

gp_Vec2d gp_Vec2d::Reversed ( ) const

Reverses the direction of a vector.

◆ Rotate()

void gp_Vec2d::Rotate ( const Standard_Real  Ang)

◆ Rotated()

gp_Vec2d gp_Vec2d::Rotated ( const Standard_Real  Ang) const

Rotates a vector. Ang is the angular value of the rotation in radians.

◆ Scale()

void gp_Vec2d::Scale ( const Standard_Real  S)

◆ Scaled()

gp_Vec2d gp_Vec2d::Scaled ( const Standard_Real  S) const

Scales a vector. S is the scaling value.

◆ SetCoord() [1/2]

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

◆ SetCoord() [2/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.

◆ SetLinearForm() [1/4]

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 set to the following linear form : A1 * V1 + A2 * V2 + V3

◆ SetLinearForm() [2/4]

void gp_Vec2d::SetLinearForm ( const Standard_Real  A1,
const gp_Vec2d V1,
const Standard_Real  A2,
const gp_Vec2d V2 
)

<me> is set to the following linear form : A1 * V1 + A2 * V2

◆ SetLinearForm() [3/4]

void gp_Vec2d::SetLinearForm ( const Standard_Real  A1,
const gp_Vec2d V1,
const gp_Vec2d V2 
)

<me> is set to the following linear form : A1 * V1 + V2

◆ SetLinearForm() [4/4]

void gp_Vec2d::SetLinearForm ( const gp_Vec2d Left,
const gp_Vec2d Right 
)

<me> is set to the following linear form : Left + Right

◆ SetX()

void gp_Vec2d::SetX ( const Standard_Real  X)

Assigns the given value to the X coordinate of this vector.

◆ SetXY()

void gp_Vec2d::SetXY ( const gp_XY Coord)

Assigns the two coordinates of Coord to this vector.

◆ SetY()

void gp_Vec2d::SetY ( const Standard_Real  Y)

Assigns the given value to the Y coordinate of this vector.

◆ SquareMagnitude()

Standard_Real gp_Vec2d::SquareMagnitude ( ) const

Computes the square magnitude of this vector.

◆ Subtract()

void gp_Vec2d::Subtract ( const gp_Vec2d Right)

Subtracts two vectors.

◆ Subtracted()

gp_Vec2d gp_Vec2d::Subtracted ( const gp_Vec2d Right) const

Subtracts two vectors.

◆ Transform()

void gp_Vec2d::Transform ( const gp_Trsf2d T)

◆ Transformed()

gp_Vec2d gp_Vec2d::Transformed ( const gp_Trsf2d T) const

Transforms a vector with a Trsf from gp.

◆ X()

Standard_Real gp_Vec2d::X ( ) const

For this vector, returns its X coordinate.

◆ XY()

const gp_XY& gp_Vec2d::XY ( ) const

For this vector, returns its two coordinates as a number pair.

◆ Y()

Standard_Real gp_Vec2d::Y ( ) const

For this vector, returns its Y coordinate.


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