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... | |
double | Distance (const Vector2 &_pt) const |
Calc distance to the given point. More... | |
T | 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... | |
T | Length () const |
Returns the length (magnitude) of the vector. More... | |
void | Normalize () |
Normalize the vector length. 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 Vector2 & | operator*= (const Vector2 &_v) |
Multiplication assignment operator. More... | |
const Vector2 & | operator*= (T _v) |
Multiplication assignment operator. More... | |
Vector2 | operator+ (const Vector2 &_v) const |
Addition operator. More... | |
Vector2< T > | operator+ (const T _s) const |
Addition operators. More... | |
const Vector2 & | operator+= (const Vector2 &_v) |
Addition assignment operator. More... | |
const Vector2< T > & | operator+= (const T _s) |
Addition assignment operator. More... | |
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 Vector2 & | operator-= (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 Vector2 & | operator/= (const Vector2 &_v) |
Division operator. More... | |
const Vector2 & | operator/= (T _v) |
Division operator. More... | |
bool | operator< (const Vector2< T > &_pt) const |
Less than operator. More... | |
Vector2 & | operator= (const Vector2 &_v) |
Assignment operator. More... | |
const Vector2 & | operator= (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... | |
T | operator[] (const std::size_t _index) const |
Const-qualified array subscript operator. More... | |
void | Set (T _x, T _y) |
Set the contents of the vector. More... | |
T | SquaredLength () const |
Returns the square of the length (magnitude) of the vector. More... | |
T | 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... | |
T | 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< 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) |
Addition operators. More... | |
Vector2< T > | operator- (const T _s, const Vector2< T > &_v) |
Subtraction operators. More... | |
std::ostream & | operator<< (std::ostream &_out, const Vector2< T > &_pt) |
Stream extraction operator. More... | |
std::istream & | operator>> (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.
Constructor & Destructor Documentation
◆ Vector2() [1/3]
|
inline |
Default Constructor.
Referenced by Vector2< T >::operator*(), Vector2< T >::operator+(), Vector2< T >::operator-(), and Vector2< T >::operator/().
◆ Vector2() [2/3]
|
inline |
Constructor.
- Parameters
-
[in] _x value along x [in] _y value along y
◆ Vector2() [3/3]
◆ ~Vector2()
|
inlinevirtual |
Destructor.
Member Function Documentation
◆ Distance()
|
inline |
Calc distance to the given point.
- Parameters
-
[in] _pt The point to measure to
- Returns
- the distance
◆ Dot()
|
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()
|
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()
|
inline |
See if a point is finite (e.g., not nan)
- Returns
- true if finite, false otherwise
References std::isfinite().
◆ Length()
|
inline |
Returns the length (magnitude) of the vector.
- Returns
- The length
References Vector2< T >::SquaredLength().
Referenced by Vector2< T >::Normalize().
◆ Normalize()
|
inline |
Normalize the vector length.
References Vector2< T >::Length().
Referenced by MassMatrix3< T >::PrincipalAxesOffset().
◆ operator!=()
|
inline |
Not equal to operator.
- Returns
- true if elements are of diffent values (tolerence 1e-6)
◆ operator*() [1/2]
Multiplication operators.
- Parameters
-
[in] _v the vector
- Returns
- the result
References Vector2< T >::Vector2().
◆ operator*() [2/2]
|
inline |
Multiplication operators.
- Parameters
-
[in] _v the scaling factor
- Returns
- a scaled vector
References Vector2< T >::Vector2().
◆ operator*=() [1/2]
Multiplication assignment operator.
- Remarks
- this is an element wise multiplication
- Parameters
-
[in] _v the vector
- Returns
- this
◆ operator*=() [2/2]
|
inline |
Multiplication assignment operator.
- Parameters
-
[in] _v the scaling factor
- Returns
- a scaled vector
◆ operator+() [1/2]
Addition operator.
- Parameters
-
[in] _v vector to add
- Returns
- sum vector
References Vector2< T >::Vector2().
◆ operator+() [2/2]
|
inline |
Addition operators.
- Parameters
-
[in] _s the scalar addend
- Returns
- sum vector
◆ operator+=() [1/2]
Addition assignment operator.
- Parameters
-
[in] _v the vector to add
◆ operator+=() [2/2]
|
inline |
Addition assignment operator.
- Parameters
-
[in] _s scalar addend
- Returns
- this
◆ operator-() [1/3]
|
inline |
◆ operator-() [2/3]
Subtraction operator.
- Parameters
-
[in] _v the vector to substract
- Returns
- the subtracted vector
References Vector2< T >::Vector2().
◆ operator-() [3/3]
|
inline |
Subtraction operators.
- Parameters
-
[in] _s the scalar subtrahend
- Returns
- difference vector
◆ operator-=() [1/2]
Subtraction assignment operator.
- Parameters
-
[in] _v the vector to substract
- Returns
- this
◆ operator-=() [2/2]
|
inline |
Subtraction assignment operator.
- Parameters
-
[in] _s scalar subtrahend
- Returns
- this
◆ operator/() [1/2]
Division operator.
- Remarks
- this is an element wise division
- Parameters
-
[in] _v a vector
- Returns
- a result
References Vector2< T >::Vector2().
◆ operator/() [2/2]
|
inline |
◆ operator/=() [1/2]
Division operator.
- Remarks
- this is an element wise division
- Parameters
-
[in] _v a vector
- Returns
- this
◆ operator/=() [2/2]
|
inline |
Division operator.
- Parameters
-
[in] _v the divisor
- Returns
- a vector
◆ operator<()
|
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]
Assignment operator.
- Parameters
-
[in] _v a value for x and y element
- Returns
- this
◆ operator=() [2/2]
|
inline |
Assignment operator.
- Parameters
-
[in] _v the value for x and y element
- Returns
- this
◆ operator==()
|
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]
|
inline |
Array subscript operator.
- Parameters
-
[in] _index The index, where 0 == x and 1 == y. The index is clamped to the range [0,1].
References ignition::math::clamp(), ignition::math::IGN_ONE_SIZE_T, and ignition::math::IGN_ZERO_SIZE_T.
◆ operator[]() [2/2]
|
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].
References ignition::math::clamp(), ignition::math::IGN_ONE_SIZE_T, and ignition::math::IGN_ZERO_SIZE_T.
◆ Set()
|
inline |
Set the contents of the vector.
- Parameters
-
[in] _x value along x [in] _y value along y
Referenced by MassMatrix3< T >::PrincipalAxesOffset().
◆ SquaredLength()
|
inline |
Returns the square of the length (magnitude) of the vector.
- Returns
- The squared length
References std::pow().
Referenced by Vector2< T >::Length(), MassMatrix3< T >::PrincipalAxesOffset(), and MassMatrix3< T >::SetFromSphere().
◆ X() [1/3]
|
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]
|
inline |
Return a mutable x value.
- Returns
- Value of the X component.
◆ X() [3/3]
|
inline |
Set the x value.
- Parameters
-
[in] _v Value for the x component.
◆ Y() [1/3]
|
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]
|
inline |
Return a mutable y value.
- Returns
- Value of the Y component.
◆ Y() [3/3]
|
inline |
Set the y value.
- Parameters
-
[in] _v Value for the y component.
Friends And Related Function Documentation
◆ operator*
Scalar left multiplication operators.
- Parameters
-
[in] _s the scaling factor [in] _v the vector to scale
- Returns
- a scaled vector
◆ operator+
Addition operators.
- Parameters
-
[in] _s the scalar addend [in] _v input vector
- Returns
- sum vector
◆ operator-
Subtraction operators.
- Parameters
-
[in] _s the scalar minuend [in] _v vector subtrahend
- Returns
- difference vector
◆ operator<<
|
friend |
Stream extraction operator.
- Parameters
-
[in] _out output stream [in] _pt Vector2 to output
- Returns
- The stream
◆ operator>>
|
friend |
Stream extraction operator.
- Parameters
-
[in] _in input stream [in] _pt Vector2 to read values into
- Returns
- The stream
Member Data Documentation
◆ One
|
static |
math::Vector2(1, 1)
◆ Zero
|
static |
math::Vector2(0, 0)
The documentation for this class was generated from the following file: