 # Ignition Math

## API Reference

6.9.3~pre2
Vector2< T > Class Template Reference

Two dimensional (x, y) vector. More...

#include <ignition/math/Vector2.hh>

## Public Member Functions

Vector2 ()
Default Constructor. More...

Vector2 (const T &_x, const T &_y)
Constructor. More...

Vector2 (const Vector2< T > &_v)
Copy constructor. More...

virtual ~Vector2 ()
Destructor. More...

Vector2 Abs () const
Get the absolute value of the vector. More...

AbsDot (const Vector2< T > &_v) const
Return the absolute dot product of this vector and another vector. This is similar to the Dot function, except the absolute value of each component of the vector is used. More...

void Correct ()
Corrects any nan values. More...

double Distance (const Vector2 &_pt) const
Calc distance to the given point. More...

Dot (const Vector2< T > &_v) const
Get the dot product of this vector and _v. More...

bool Equal (const Vector2 &_v, const T &_tol) const
Equality test with tolerance. More...

bool IsFinite () const
See if a point is finite (e.g., not nan) More...

Length () const
Returns the length (magnitude) of the vector. More...

void Max (const Vector2< T > &_v)
Set this vector's components to the maximum of itself and the passed in vector. More...

Max () const
Get the maximum value in the vector. More...

void Min (const Vector2< T > &_v)
Set this vector's components to the minimum of itself and the passed in vector. More...

Min () const
Get the minimum value in the vector. More...

void Normalize ()
Normalize the vector length. More...

Vector2 Normalized () const
Returns a normalized vector. More...

bool operator!= (const Vector2 &_v) const
Not equal to operator. More...

const Vector2 operator* (const Vector2 &_v) const
Multiplication operators. More...

const Vector2 operator* (T _v) const
Multiplication operators. More...

const Vector2operator*= (const Vector2 &_v)
Multiplication assignment operator. More...

const Vector2operator*= (T _v)
Multiplication assignment operator. More...

Vector2 operator+ (const Vector2 &_v) const

Vector2< T > operator+ (const T _s) const

const Vector2operator+= (const Vector2 &_v)

const Vector2< T > & operator+= (const T _s)

Vector2 operator- () const
Negation operator. More...

Vector2 operator- (const Vector2 &_v) const
Subtraction operator. More...

Vector2< T > operator- (const T _s) const
Subtraction operators. More...

const Vector2operator-= (const Vector2 &_v)
Subtraction assignment operator. More...

const Vector2< T > & operator-= (T _s)
Subtraction assignment operator. More...

const Vector2 operator/ (const Vector2 &_v) const
Division operator. More...

const Vector2 operator/ (T _v) const
Division operator. More...

const Vector2operator/= (const Vector2 &_v)
Division operator. More...

const Vector2operator/= (T _v)
Division operator. More...

bool operator< (const Vector2< T > &_pt) const
Less than operator. More...

Vector2operator= (const Vector2 &_v)
Assignment operator. More...

const Vector2operator= (T _v)
Assignment operator. More...

bool operator== (const Vector2 &_v) const
Equal to operator. More...

T & operator[] (const std::size_t _index)
Array subscript operator. More...

operator[] (const std::size_t _index) const
Const-qualified array subscript operator. More...

Vector2 Round ()
Round to near whole number, return the result. More...

Vector2 Rounded () const
Get a rounded version of this vector. More...

void Set (T _x, T _y)
Set the contents of the vector. More...

SquaredLength () const
Returns the square of the length (magnitude) of the vector. More...

Sum () const
Return the sum of the values. More...

X () const
Return the x value. More...

T & X ()
Return a mutable x value. More...

void X (const T &_v)
Set the x value. More...

Y () const
Return the y value. More...

T & Y ()
Return a mutable y value. More...

void Y (const T &_v)
Set the y value. More...

## Static Public Attributes

static const Vector2 NaN
math::Vector2(NaN, NaN, NaN) More...

static const Vector2< T > One
math::Vector2(1, 1) More...

static const Vector2< T > Zero
math::Vector2(0, 0) More...

## Friends

const Vector2 operator* (const T _s, const Vector2 &_v)
Scalar left multiplication operators. More...

Vector2< T > operator+ (const T _s, const Vector2< T > &_v)

Vector2< T > operator- (const T _s, const Vector2< T > &_v)
Subtraction operators. More...

std::ostreamoperator<< (std::ostream &_out, const Vector2< T > &_pt)
Stream extraction operator. More...

std::istreamoperator>> (std::istream &_in, Vector2< T > &_pt)
Stream extraction operator. More...

## Detailed Description

### template<typename T> class ignition::math::Vector2< T >

Two dimensional (x, y) vector.

## ◆ Vector2() [1/3]

 Vector2 ( )
inline

Default Constructor.

## ◆ Vector2() [2/3]

 Vector2 ( const T & _x, const T & _y )
inline

Constructor.

Parameters
 [in] _x value along x [in] _y value along y

## ◆ Vector2() [3/3]

 Vector2 ( const Vector2< T > & _v )
inline

Copy constructor.

Parameters
 [in] _v the value

## ◆ ~Vector2()

 virtual ~Vector2 ( )
inlinevirtual

Destructor.

## ◆ Abs()

 Vector2 Abs ( ) const
inline

Get the absolute value of the vector.

Returns
a vector with positive elements

References Vector2< T >::Vector2().

## ◆ AbsDot()

 T AbsDot ( const Vector2< T > & _v ) const
inline

Return the absolute dot product of this vector and another vector. This is similar to the Dot function, except the absolute value of each component of the vector is used.

result = abs(x1 * x2) + abs(y1 * y2)

Parameters
 [in] _v The vector
Returns
The absolute dot product

## ◆ Correct()

 void Correct ( )
inline

Corrects any nan values.

References std::isfinite().

## ◆ Distance()

 double Distance ( const Vector2< T > & _pt ) const
inline

Calc distance to the given point.

Parameters
 [in] _pt The point to measure to
Returns
the distance

## ◆ Dot()

 T Dot ( const Vector2< T > & _v ) const
inline

Get the dot product of this vector and _v.

Parameters
 [in] _v the vector
Returns
The dot product

Referenced by Triangle< T >::Contains().

## ◆ Equal()

 bool Equal ( const Vector2< T > & _v, const T & _tol ) const
inline

Equality test with tolerance.

Parameters
 [in] _v the vector to compare to [in] _tol equality tolerance.
Returns
true if the elements of the vectors are equal within the tolerence specified by _tol.

Referenced by Vector2< T >::operator==().

## ◆ IsFinite()

 bool IsFinite ( ) const
inline

See if a point is finite (e.g., not nan)

Returns
true if finite, false otherwise

References std::isfinite().

## ◆ Length()

 T Length ( ) const
inline

Returns the length (magnitude) of the vector.

Returns
The length

References Vector2< T >::SquaredLength().

Referenced by Vector2< T >::Normalize().

## ◆ Max() [1/2]

 void Max ( const Vector2< T > & _v )
inline

Set this vector's components to the maximum of itself and the passed in vector.

Parameters
 [in] _v the maximum clamping vector

References std::max().

## ◆ Max() [2/2]

 T Max ( ) const
inline

Get the maximum value in the vector.

Returns
the maximum element

References std::max().

## ◆ Min() [1/2]

 void Min ( const Vector2< T > & _v )
inline

Set this vector's components to the minimum of itself and the passed in vector.

Parameters
 [in] _v the minimum clamping vector

References std::min().

## ◆ Min() [2/2]

 T Min ( ) const
inline

Get the minimum value in the vector.

Returns
the minimum element

References std::min().

## ◆ Normalize()

 void Normalize ( )
inline

Normalize the vector length.

References Vector2< T >::Length().

Referenced by Vector2< T >::Normalized(), and MassMatrix3< T >::PrincipalAxesOffset().

## ◆ Normalized()

 Vector2 Normalized ( ) const
inline

Returns a normalized vector.

Returns
unit length vector

References Vector2< T >::Normalize().

## ◆ operator!=()

 bool operator!= ( const Vector2< T > & _v ) const
inline

Not equal to operator.

Returns
true if elements are of diffent values (tolerence 1e-6)

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

 const Vector2 operator* ( const Vector2< T > & _v ) const
inline

Multiplication operators.

Parameters
 [in] _v the vector
Returns
the result

References Vector2< T >::Vector2().

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

 const Vector2 operator* ( T _v ) const
inline

Multiplication operators.

Parameters
 [in] _v the scaling factor
Returns
a scaled vector

References Vector2< T >::Vector2().

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

 const Vector2& operator*= ( const Vector2< T > & _v )
inline

Multiplication assignment operator.

Remarks
this is an element wise multiplication
Parameters
 [in] _v the vector
Returns
this

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

 const Vector2& operator*= ( T _v )
inline

Multiplication assignment operator.

Parameters
 [in] _v the scaling factor
Returns
a scaled vector

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

 Vector2 operator+ ( const Vector2< T > & _v ) const
inline

Parameters
Returns
sum vector

References Vector2< T >::Vector2().

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

 Vector2 operator+ ( const T _s ) const
inline

Parameters
Returns
sum vector

## ◆ operator+=() [1/2]

 const Vector2& operator+= ( const Vector2< T > & _v )
inline

Parameters
 [in] _v the vector to add

## ◆ operator+=() [2/2]

 const Vector2& operator+= ( const T _s )
inline

Parameters
Returns
this

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

 Vector2 operator- ( ) const
inline

Negation operator.

Returns
negative of this vector

References Vector2< T >::Vector2().

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

 Vector2 operator- ( const Vector2< T > & _v ) const
inline

Subtraction operator.

Parameters
 [in] _v the vector to substract
Returns
the subtracted vector

References Vector2< T >::Vector2().

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

 Vector2 operator- ( const T _s ) const
inline

Subtraction operators.

Parameters
 [in] _s the scalar subtrahend
Returns
difference vector

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

 const Vector2& operator-= ( const Vector2< T > & _v )
inline

Subtraction assignment operator.

Parameters
 [in] _v the vector to substract
Returns
this

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

 const Vector2& operator-= ( T _s )
inline

Subtraction assignment operator.

Parameters
 [in] _s scalar subtrahend
Returns
this

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

 const Vector2 operator/ ( const Vector2< T > & _v ) const
inline

Division operator.

Remarks
this is an element wise division
Parameters
 [in] _v a vector
Returns
a result

References Vector2< T >::Vector2().

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

 const Vector2 operator/ ( T _v ) const
inline

Division operator.

Parameters
 [in] _v the value
Returns
a vector

References Vector2< T >::Vector2().

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

 const Vector2& operator/= ( const Vector2< T > & _v )
inline

Division operator.

Remarks
this is an element wise division
Parameters
 [in] _v a vector
Returns
this

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

 const Vector2& operator/= ( T _v )
inline

Division operator.

Parameters
 [in] _v the divisor
Returns
a vector

## ◆ operator<()

 bool operator< ( const Vector2< T > & _pt ) const
inline

Less than operator.

Parameters
 [in] _pt Vector to compare.
Returns
True if this vector's first or second value is less than the given vector's first or second value.

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

 Vector2& operator= ( const Vector2< T > & _v )
inline

Assignment operator.

Parameters
 [in] _v a value for x and y element
Returns
this

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

 const Vector2& operator= ( T _v )
inline

Assignment operator.

Parameters
 [in] _v the value for x and y element
Returns
this

## ◆ operator==()

 bool operator== ( const Vector2< T > & _v ) const
inline

Equal to operator.

Parameters
 [in] _v the vector to compare to
Returns
true if the elements of the 2 vectors are equal within a tolerence (1e-6)

References Vector2< T >::Equal().

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

 T& operator[] ( const std::size_t _index )
inline

Array subscript operator.

Parameters
 [in] _index The index, where 0 == x and 1 == y. The index is clamped to the range [0,1].

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

 T operator[] ( const std::size_t _index ) const
inline

Const-qualified array subscript operator.

Parameters
 [in] _index The index, where 0 == x and 1 == y. The index is clamped to the range [0,1].

## ◆ Round()

 Vector2 Round ( )
inline

Round to near whole number, return the result.

Returns
the result

References std::nearbyint().

Referenced by Vector2< T >::Rounded().

## ◆ Rounded()

 Vector2 Rounded ( ) const
inline

Get a rounded version of this vector.

Returns
a rounded vector

References Vector2< T >::Round().

## ◆ Set()

 void Set ( T _x, T _y )
inline

Set the contents of the vector.

Parameters
 [in] _x value along x [in] _y value along y

Referenced by MassMatrix3< T >::PrincipalAxesOffset().

## ◆ SquaredLength()

 T SquaredLength ( ) const
inline

Returns the square of the length (magnitude) of the vector.

Returns
The squared length

## ◆ Sum()

 T Sum ( ) const
inline

Return the sum of the values.

Returns
the sum

## ◆ X() [1/3]

 T X ( ) const
inline

Return the x value.

Returns
Value of the X component.

Referenced by Line2< T >::CrossProduct(), Line2< T >::Intersect(), and Line2< T >::Within().

## ◆ X() [2/3]

 T& X ( )
inline

Return a mutable x value.

Returns
Value of the X component.

## ◆ X() [3/3]

 void X ( const T & _v )
inline

Set the x value.

Parameters
 [in] _v Value for the x component.

## ◆ Y() [1/3]

 T Y ( ) const
inline

Return the y value.

Returns
Value of the Y component.

Referenced by Line2< T >::CrossProduct(), Line2< T >::Intersect(), and Line2< T >::Within().

## ◆ Y() [2/3]

 T& Y ( )
inline

Return a mutable y value.

Returns
Value of the Y component.

## ◆ Y() [3/3]

 void Y ( const T & _v )
inline

Set the y value.

Parameters
 [in] _v Value for the y component.

## ◆ operator*

 const Vector2 operator* ( const T _s, const Vector2< T > & _v )
friend

Scalar left multiplication operators.

Parameters
 [in] _s the scaling factor [in] _v the vector to scale
Returns
a scaled vector

## ◆ operator+

 Vector2 operator+ ( const T _s, const Vector2< T > & _v )
friend

Parameters
 [in] _s the scalar addend [in] _v input vector
Returns
sum vector

## ◆ operator-

 Vector2 operator- ( const T _s, const Vector2< T > & _v )
friend

Subtraction operators.

Parameters
 [in] _s the scalar minuend [in] _v vector subtrahend
Returns
difference vector

## ◆ operator<<

 std::ostream& operator<< ( std::ostream & _out, const Vector2< T > & _pt )
friend

Stream extraction operator.

Parameters
 [in] _out output stream [in] _pt Vector2 to output
Returns
The stream

## ◆ operator>>

 std::istream& operator>> ( std::istream & _in, Vector2< T > & _pt )
friend

Stream extraction operator.

Parameters
 [in] _in input stream [in] _pt Vector2 to read values into
Returns
The stream

## ◆ NaN

 const Vector2< T > NaN
static

math::Vector2(NaN, NaN, NaN)

## ◆ One

 const Vector2< T > One
static

math::Vector2(1, 1)

## ◆ Zero

 const Vector2< T > Zero
static

math::Vector2(0, 0)

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