Open CASCADE Technology  7.6.0.dev

# 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 &theV)
Creates a unitary vector from a direction theV. More...

gp_Vec2d (const gp_XY &theCoord)
Creates a vector with a doublet of coordinates. More...

gp_Vec2d (const Standard_Real theXv, const Standard_Real theYv)
Creates a point with its two Cartesian coordinates. More...

gp_Vec2d (const gp_Pnt2d &theP1, const gp_Pnt2d &theP2)
Creates a vector from two points. The length of the vector is the distance between theP1 and theP2. More...

void SetCoord (const Standard_Integer theIndex, const Standard_Real theXi)
Changes the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified Raises OutOfRange if theIndex != {1, 2}. More...

void SetCoord (const Standard_Real theXv, const Standard_Real theYv)
For this vector, assigns the values theXv and theYv to its two coordinates. More...

void SetX (const Standard_Real theX)
Assigns the given value to the X coordinate of this vector. More...

void SetY (const Standard_Real theY)
Assigns the given value to the Y coordinate of this vector. More...

void SetXY (const gp_XY &theCoord)
Assigns the two coordinates of theCoord to this vector. More...

Standard_Real Coord (const Standard_Integer theIndex) const
Returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned Raised if theIndex != {1, 2}. More...

void Coord (Standard_Real &theXv, Standard_Real &theYv) const
For this vector, returns its two coordinates theXv and theYv. 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 &theOther, const Standard_Real theLinearTolerance, const Standard_Real theAngularTolerance) const
Returns True if the two vectors have the same magnitude value and the same direction. The precision values are theLinearTolerance for the magnitude and theAngularTolerance for the direction. More...

Standard_Boolean IsNormal (const gp_Vec2d &theOther, const Standard_Real theAngularTolerance) const
Returns True if abs(Abs(<me>.Angle(theOther)) - PI/2.) <= theAngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or theOther.Magnitude() <= Resolution from gp. More...

Standard_Boolean IsOpposite (const gp_Vec2d &theOther, const Standard_Real theAngularTolerance) const
Returns True if PI - Abs(<me>.Angle(theOther)) <= theAngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or theOther.Magnitude() <= Resolution from gp. More...

Standard_Boolean IsParallel (const gp_Vec2d &theOther, const Standard_Real theAngularTolerance) const
Returns true if Abs(Angle(<me>, theOther)) <= theAngularTolerance or PI - Abs(Angle(<me>, theOther)) <= theAngularTolerance Two vectors with opposite directions are considered as parallel. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or theOther.Magnitude() <= Resolution from gp. More...

Standard_Real Angle (const gp_Vec2d &theOther) const
Computes the angular value between <me> and <theOther> returns the angle value between -PI and PI in radian. The orientation is from <me> to theOther. The positive sense is the trigonometric sense. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution from gp or theOther.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 &theOther)

void operator+= (const gp_Vec2d &theOther)

gp_Vec2d Added (const gp_Vec2d &theOther) const
Adds two vectors. More...

gp_Vec2d operator+ (const gp_Vec2d &theOther) const

Standard_Real Crossed (const gp_Vec2d &theRight) const
Computes the crossing product between two vectors. More...

Standard_Real operator^ (const gp_Vec2d &theRight) const

Standard_Real CrossMagnitude (const gp_Vec2d &theRight) const
Computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||. More...

Standard_Real CrossSquareMagnitude (const gp_Vec2d &theRight) const
Computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2. More...

void Divide (const Standard_Real theScalar)

void operator/= (const Standard_Real theScalar)

gp_Vec2d Divided (const Standard_Real theScalar) const
divides a vector by a scalar More...

gp_Vec2d operator/ (const Standard_Real theScalar) const

Standard_Real Dot (const gp_Vec2d &theOther) const
Computes the scalar product. More...

Standard_Real operator* (const gp_Vec2d &theOther) const

gp_Vec2d GetNormal () const

void Multiply (const Standard_Real theScalar)

void operator*= (const Standard_Real theScalar)

gp_Vec2d Multiplied (const Standard_Real theScalar) 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 theScalar) 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 &theRight)
Subtracts two vectors. More...

void operator-= (const gp_Vec2d &theRight)

gp_Vec2d Subtracted (const gp_Vec2d &theRight) const
Subtracts two vectors. More...

gp_Vec2d operator- (const gp_Vec2d &theRight) const

void SetLinearForm (const Standard_Real theA1, const gp_Vec2d &theV1, const Standard_Real theA2, const gp_Vec2d &theV2, const gp_Vec2d &theV3)
<me> is set to the following linear form : theA1 * theV1 + theA2 * theV2 + theV3 More...

void SetLinearForm (const Standard_Real theA1, const gp_Vec2d &theV1, const Standard_Real theA2, const gp_Vec2d &theV2)
<me> is set to the following linear form : theA1 * theV1 + theA2 * theV2 More...

void SetLinearForm (const Standard_Real theA1, const gp_Vec2d &theV1, const gp_Vec2d &theV2)
<me> is set to the following linear form : theA1 * theV1 + theV2 More...

void SetLinearForm (const gp_Vec2d &theV1, const gp_Vec2d &theV2)
<me> is set to the following linear form : theV1 + theV2 More...

void Mirror (const gp_Vec2d &theV)
Performs the symmetrical transformation of a vector with respect to the vector theV which is the center of the symmetry. More...

gp_Vec2d Mirrored (const gp_Vec2d &theV) const
Performs the symmetrical transformation of a vector with respect to the vector theV which is the center of the symmetry. More...

void Mirror (const gp_Ax2d &theA1)
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 &theA1) 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 theAng)

gp_Vec2d Rotated (const Standard_Real theAng) const
Rotates a vector. theAng is the angular value of the rotation in radians. More...

void Scale (const Standard_Real theS)

gp_Vec2d Scaled (const Standard_Real theS) const
Scales a vector. theS is the scaling value. More...

void Transform (const gp_Trsf2d &theT)

gp_Vec2d Transformed (const gp_Trsf2d &theT) const
Transforms a vector with a Trsf from gp. More...

## Detailed Description

Defines a non-persistent vector in 2D space.

## ◆ gp_Vec2d() [1/5]

 gp_Vec2d::gp_Vec2d ( )
inline

Creates a zero vector.

## ◆ gp_Vec2d() [2/5]

 gp_Vec2d::gp_Vec2d ( const gp_Dir2d & theV )
inline

Creates a unitary vector from a direction theV.

## ◆ gp_Vec2d() [3/5]

 gp_Vec2d::gp_Vec2d ( const gp_XY & theCoord )
inline

Creates a vector with a doublet of coordinates.

## ◆ gp_Vec2d() [4/5]

 gp_Vec2d::gp_Vec2d ( const Standard_Real theXv, const Standard_Real theYv )
inline

Creates a point with its two Cartesian coordinates.

## ◆ gp_Vec2d() [5/5]

 gp_Vec2d::gp_Vec2d ( const gp_Pnt2d & theP1, const gp_Pnt2d & theP2 )
inline

Creates a vector from two points. The length of the vector is the distance between theP1 and theP2.

## ◆ Add()

 void gp_Vec2d::Add ( const gp_Vec2d & theOther )
inline

## ◆ Added()

 gp_Vec2d gp_Vec2d::Added ( const gp_Vec2d & theOther ) const
inline

Adds two vectors.

## ◆ Angle()

 Standard_Real gp_Vec2d::Angle ( const gp_Vec2d & theOther ) const

Computes the angular value between <me> and <theOther> returns the angle value between -PI and PI in radian. The orientation is from <me> to theOther. The positive sense is the trigonometric sense. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution from gp or theOther.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 theIndex ) const
inline

Returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned Raised if theIndex != {1, 2}.

## ◆ Coord() [2/2]

 void gp_Vec2d::Coord ( Standard_Real & theXv, Standard_Real & theYv ) const
inline

For this vector, returns its two coordinates theXv and theYv.

## ◆ Crossed()

 Standard_Real gp_Vec2d::Crossed ( const gp_Vec2d & theRight ) const
inline

Computes the crossing product between two vectors.

## ◆ CrossMagnitude()

 Standard_Real gp_Vec2d::CrossMagnitude ( const gp_Vec2d & theRight ) const
inline

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

## ◆ CrossSquareMagnitude()

 Standard_Real gp_Vec2d::CrossSquareMagnitude ( const gp_Vec2d & theRight ) const
inline

Computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2.

## ◆ Divide()

 void gp_Vec2d::Divide ( const Standard_Real theScalar )
inline

## ◆ Divided()

 gp_Vec2d gp_Vec2d::Divided ( const Standard_Real theScalar ) const
inline

divides a vector by a scalar

## ◆ Dot()

 Standard_Real gp_Vec2d::Dot ( const gp_Vec2d & theOther ) const
inline

Computes the scalar product.

## ◆ GetNormal()

 gp_Vec2d gp_Vec2d::GetNormal ( ) const
inline

## ◆ IsEqual()

 Standard_Boolean gp_Vec2d::IsEqual ( const gp_Vec2d & theOther, const Standard_Real theLinearTolerance, const Standard_Real theAngularTolerance ) const

Returns True if the two vectors have the same magnitude value and the same direction. The precision values are theLinearTolerance for the magnitude and theAngularTolerance for the direction.

## ◆ IsNormal()

 Standard_Boolean gp_Vec2d::IsNormal ( const gp_Vec2d & theOther, const Standard_Real theAngularTolerance ) const
inline

Returns True if abs(Abs(<me>.Angle(theOther)) - PI/2.) <= theAngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or theOther.Magnitude() <= Resolution from gp.

## ◆ IsOpposite()

 Standard_Boolean gp_Vec2d::IsOpposite ( const gp_Vec2d & theOther, const Standard_Real theAngularTolerance ) const
inline

Returns True if PI - Abs(<me>.Angle(theOther)) <= theAngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or theOther.Magnitude() <= Resolution from gp.

## ◆ IsParallel()

 Standard_Boolean gp_Vec2d::IsParallel ( const gp_Vec2d & theOther, const Standard_Real theAngularTolerance ) const
inline

Returns true if Abs(Angle(<me>, theOther)) <= theAngularTolerance or PI - Abs(Angle(<me>, theOther)) <= theAngularTolerance Two vectors with opposite directions are considered as parallel. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or theOther.Magnitude() <= Resolution from gp.

## ◆ Magnitude()

 Standard_Real gp_Vec2d::Magnitude ( ) const
inline

Computes the magnitude of this vector.

## ◆ Mirror() [1/2]

 void gp_Vec2d::Mirror ( const gp_Ax2d & theA1 )

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

## ◆ Mirror() [2/2]

 void gp_Vec2d::Mirror ( const gp_Vec2d & theV )

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

## ◆ Mirrored() [1/2]

 gp_Vec2d gp_Vec2d::Mirrored ( const gp_Ax2d & theA1 ) const

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

## ◆ Mirrored() [2/2]

 gp_Vec2d gp_Vec2d::Mirrored ( const gp_Vec2d & theV ) const

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

## ◆ Multiplied()

 gp_Vec2d gp_Vec2d::Multiplied ( const Standard_Real theScalar ) const
inline

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 theScalar )
inline

## ◆ Normalize()

 void gp_Vec2d::Normalize ( )
inline

## ◆ Normalized()

 gp_Vec2d gp_Vec2d::Normalized ( ) const
inline

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 & theOther ) const
inline

## ◆ operator*() [2/2]

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

## ◆ operator*=()

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

## ◆ operator+()

 gp_Vec2d gp_Vec2d::operator+ ( const gp_Vec2d & theOther ) const
inline

## ◆ operator+=()

 void gp_Vec2d::operator+= ( const gp_Vec2d & theOther )
inline

## ◆ operator-() [1/2]

 gp_Vec2d gp_Vec2d::operator- ( ) const
inline

## ◆ operator-() [2/2]

 gp_Vec2d gp_Vec2d::operator- ( const gp_Vec2d & theRight ) const
inline

## ◆ operator-=()

 void gp_Vec2d::operator-= ( const gp_Vec2d & theRight )
inline

## ◆ operator/()

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

## ◆ operator/=()

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

## ◆ operator^()

 Standard_Real gp_Vec2d::operator^ ( const gp_Vec2d & theRight ) const
inline

## ◆ Reverse()

 void gp_Vec2d::Reverse ( )
inline

## ◆ Reversed()

 gp_Vec2d gp_Vec2d::Reversed ( ) const
inline

Reverses the direction of a vector.

## ◆ Rotate()

 void gp_Vec2d::Rotate ( const Standard_Real theAng )
inline

## ◆ Rotated()

 gp_Vec2d gp_Vec2d::Rotated ( const Standard_Real theAng ) const
inline

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

## ◆ Scale()

 void gp_Vec2d::Scale ( const Standard_Real theS )
inline

## ◆ Scaled()

 gp_Vec2d gp_Vec2d::Scaled ( const Standard_Real theS ) const
inline

Scales a vector. theS is the scaling value.

## ◆ SetCoord() [1/2]

 void gp_Vec2d::SetCoord ( const Standard_Integer theIndex, const Standard_Real theXi )
inline

Changes the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified Raises OutOfRange if theIndex != {1, 2}.

## ◆ SetCoord() [2/2]

 void gp_Vec2d::SetCoord ( const Standard_Real theXv, const Standard_Real theYv )
inline

For this vector, assigns the values theXv and theYv to its two coordinates.

## ◆ SetLinearForm() [1/4]

 void gp_Vec2d::SetLinearForm ( const gp_Vec2d & theV1, const gp_Vec2d & theV2 )
inline

<me> is set to the following linear form : theV1 + theV2

## ◆ SetLinearForm() [2/4]

 void gp_Vec2d::SetLinearForm ( const Standard_Real theA1, const gp_Vec2d & theV1, const gp_Vec2d & theV2 )
inline

<me> is set to the following linear form : theA1 * theV1 + theV2

## ◆ SetLinearForm() [3/4]

 void gp_Vec2d::SetLinearForm ( const Standard_Real theA1, const gp_Vec2d & theV1, const Standard_Real theA2, const gp_Vec2d & theV2 )
inline

<me> is set to the following linear form : theA1 * theV1 + theA2 * theV2

## ◆ SetLinearForm() [4/4]

 void gp_Vec2d::SetLinearForm ( const Standard_Real theA1, const gp_Vec2d & theV1, const Standard_Real theA2, const gp_Vec2d & theV2, const gp_Vec2d & theV3 )
inline

<me> is set to the following linear form : theA1 * theV1 + theA2 * theV2 + theV3

## ◆ SetX()

 void gp_Vec2d::SetX ( const Standard_Real theX )
inline

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

## ◆ SetXY()

 void gp_Vec2d::SetXY ( const gp_XY & theCoord )
inline

Assigns the two coordinates of theCoord to this vector.

## ◆ SetY()

 void gp_Vec2d::SetY ( const Standard_Real theY )
inline

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

## ◆ SquareMagnitude()

 Standard_Real gp_Vec2d::SquareMagnitude ( ) const
inline

Computes the square magnitude of this vector.

## ◆ Subtract()

 void gp_Vec2d::Subtract ( const gp_Vec2d & theRight )
inline

Subtracts two vectors.

## ◆ Subtracted()

 gp_Vec2d gp_Vec2d::Subtracted ( const gp_Vec2d & theRight ) const
inline

Subtracts two vectors.

## ◆ Transform()

 void gp_Vec2d::Transform ( const gp_Trsf2d & theT )

## ◆ Transformed()

 gp_Vec2d gp_Vec2d::Transformed ( const gp_Trsf2d & theT ) const
inline

Transforms a vector with a Trsf from gp.

## ◆ X()

 Standard_Real gp_Vec2d::X ( ) const
inline

For this vector, returns its X coordinate.

## ◆ XY()

 const gp_XY& gp_Vec2d::XY ( ) const
inline

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

## ◆ Y()

 Standard_Real gp_Vec2d::Y ( ) const
inline

For this vector, returns its Y coordinate.

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