![]()  | 
  
    Nazara Engine
    0.4
    
   A fast, complete, cross-platform API designed for game development 
   | 
 
Math class that represents an element of the two dimensional vector space. More...
Public Member Functions | |
| Vector2 (T X, T Y) | |
| Constructs a Vector2 object from its coordinates.  More... | |
| Vector2 (T scale) | |
| Constructs explicitely a Vector2 object from its "scale".  More... | |
| Vector2 (const T vec[2]) | |
| Constructs a Vector2 object from an array of two elements.  More... | |
| template<typename U > | |
| Vector2 (const Vector2< U > &vec) | |
| Constructs a Vector2 object from another type of Vector2.  More... | |
| Vector2 (const Vector2 &vec)=default | |
| Vector2 (const Vector3< T > &vec) | |
| Constructs a Vector2 object from a Vector3.  More... | |
| Vector2 (const Vector4< T > &vec) | |
| Constructs a Vector2 object from a Vector4.  More... | |
| T | AbsDotProduct (const Vector2 &vec) const | 
| Calculates the absolute dot (scalar) product with two vectors.  More... | |
| T | AngleBetween (const Vector2 &vec) const | 
| Calculates the angle between two vectors in orthonormal basis.  More... | |
| T | Distance (const Vector2 &vec) const | 
| Calculates the distance between two vectors.  More... | |
| float | Distancef (const Vector2 &vec) const | 
| Calculates the distance between two vectors.  More... | |
| T | DotProduct (const Vector2 &vec) const | 
| Calculates the dot (scalar) product with two vectors.  More... | |
| T | GetLength () const | 
| Calculates the length (magnitude) of the vector.  More... | |
| float | GetLengthf () const | 
| Calculates the length (magnitude) of the vector.  More... | |
| Vector2 | GetNormal (T *length=nullptr) const | 
| Gets a copy normalized of the vector.  More... | |
| T | GetSquaredLength () const | 
| Calculates the squared length (magnitude) of the vector.  More... | |
| Vector2 & | MakeUnit () | 
| Makes the vector (1, 1)  More... | |
| Vector2 & | MakeUnitX () | 
| Makes the vector (1, 0)  More... | |
| Vector2 & | MakeUnitY () | 
| Makes the vector (0, 1)  More... | |
| Vector2 & | MakeZero () | 
| Makes the vector (0, 0)  More... | |
| Vector2 & | Maximize (const Vector2 &vec) | 
| Sets this vector's components to the maximum of its own and other components.  More... | |
| Vector2 & | Minimize (const Vector2 &vec) | 
| Sets this vector's components to the minimum of its own and other components.  More... | |
| Vector2 & | Normalize (T *length=nullptr) | 
| Normalizes the current vector.  More... | |
| Vector2 & | Set (T X, T Y) | 
| Sets the components of the vector.  More... | |
| Vector2 & | Set (T scale) | 
| Sets the components of the vector from a "scale".  More... | |
| Vector2 & | Set (const T vec[2]) | 
| Sets the components of the vector from an array of two elements.  More... | |
| Vector2 & | Set (const Vector2 &vec) | 
| Sets the components of the vector from another vector.  More... | |
| Vector2 & | Set (const Vector3< T > &vec) | 
| Sets the components of the vector from a Vector3.  More... | |
| Vector2 & | Set (const Vector4< T > &vec) | 
| Sets the components of the vector from a Vector4.  More... | |
| template<typename U > | |
| Vector2 & | Set (const Vector2< U > &vec) | 
| T | SquaredDistance (const Vector2 &vec) const | 
| Calculates the squared distance between two vectors.  More... | |
| String | ToString () const | 
| Gives a string representation.  More... | |
| operator T* () | |
| Converts vector to pointer to its own data.  More... | |
| operator const T * () const | |
| Converts vector to const pointer to its own data.  More... | |
| const Vector2 & | operator+ () const | 
| Helps to represent the sign of the vector.  More... | |
| Vector2 | operator- () const | 
| Negates the components of the vector.  More... | |
| Vector2 | operator+ (const Vector2 &vec) const | 
| Adds the components of the vector with other vector.  More... | |
| Vector2 | operator- (const Vector2 &vec) const | 
| Substracts the components of the vector with other vector.  More... | |
| Vector2 | operator* (const Vector2 &vec) const | 
| Multiplies the components of the vector with other vector.  More... | |
| Vector2 | operator* (T scale) const | 
| Multiplies the components of the vector with a scalar.  More... | |
| Vector2 | operator/ (const Vector2 &vec) const | 
| Divides the components of the vector with other vector.  More... | |
| Vector2 | operator/ (T scale) const | 
| Divides the components of the vector with a scalar.  More... | |
| Vector2 & | operator= (const Vector2 &other)=default | 
| Vector2 & | operator+= (const Vector2 &vec) | 
| Adds the components of other vector to this vector.  More... | |
| Vector2 & | operator-= (const Vector2 &vec) | 
| Substracts the components of other vector to this vector.  More... | |
| Vector2 & | operator*= (const Vector2 &vec) | 
| Multiplies the components of other vector to this vector.  More... | |
| Vector2 & | operator*= (T scale) | 
| Multiplies the components of other vector with a scalar.  More... | |
| Vector2 & | operator/= (const Vector2 &vec) | 
| Multiplies the components of other vector to this vector.  More... | |
| Vector2 & | operator/= (T scale) | 
| Divides the components of other vector with a scalar.  More... | |
| bool | operator== (const Vector2 &vec) const | 
| Compares the vector to other one.  More... | |
| bool | operator!= (const Vector2 &vec) const | 
| Compares the vector to other one.  More... | |
| bool | operator< (const Vector2 &vec) const | 
| Compares the vector to other one.  More... | |
| bool | operator<= (const Vector2 &vec) const | 
| Compares the vector to other one.  More... | |
| bool | operator> (const Vector2 &vec) const | 
| Compares the vector to other one.  More... | |
| bool | operator>= (const Vector2 &vec) const | 
| Compares the vector to other one.  More... | |
| template<typename U > | |
| Vector2< T > & | Set (const Vector2< U > &vec) | 
| Sets the components of the vector from another type of Vector2.  More... | |
Static Public Member Functions | |
| static T | DotProduct (const Vector2 &vec1, const Vector2 &vec2) | 
| Calculates the dot (scalar) product with two vectors.  More... | |
| static Vector2 | Lerp (const Vector2 &from, const Vector2 &to, T interpolation) | 
| Interpolates the vector to other one with a factor of interpolation.  More... | |
| static Vector2 | Normalize (const Vector2 &vec) | 
| Gives the normalized vector.  More... | |
| static Vector2 | Unit () | 
| Shorthand for the vector (1, 1)  More... | |
| static Vector2 | UnitX () | 
| Shorthand for the vector (1, 0)  More... | |
| static Vector2 | UnitY () | 
| Shorthand for the vector (0, 1)  More... | |
| static Vector2 | Zero () | 
| Shorthand for the vector (0, 0)  More... | |
Public Attributes | |
| T | x | 
| T | y | 
Math class that represents an element of the two dimensional vector space.
| Nz::Vector2< T >::Vector2 | ( | T | X, | 
| T | Y | ||
| ) | 
Constructs a Vector2 object from its coordinates.
| X | X component | 
| Y | Y component | 
      
  | 
  explicit | 
Constructs explicitely a Vector2 object from its "scale".
| scale | X component = Y component | 
| Nz::Vector2< T >::Vector2 | ( | const T | vec[2] | ) | 
Constructs a Vector2 object from an array of two elements.
| vec[2] | vec[0] is X component and vec[1] is Y component | 
      
  | 
  explicit | 
      
  | 
  explicit | 
      
  | 
  explicit | 
| T Nz::Vector2< T >::AbsDotProduct | ( | const Vector2< T > & | vec | ) | const | 
Calculates the absolute dot (scalar) product with two vectors.
| vec | The other vector to calculate the absolute dot product with | 
| T Nz::Vector2< T >::AngleBetween | ( | const Vector2< T > & | vec | ) | const | 
Calculates the angle between two vectors in orthonormal basis.
| vec | The other vector to measure the angle with | 
| T Nz::Vector2< T >::Distance | ( | const Vector2< T > & | vec | ) | const | 
Calculates the distance between two vectors.
| vec | The other vector to measure the distance with | 
| float Nz::Vector2< T >::Distancef | ( | const Vector2< T > & | vec | ) | const | 
Calculates the distance between two vectors.
| vec | The other vector to measure the distance with | 
| T Nz::Vector2< T >::DotProduct | ( | const Vector2< T > & | vec | ) | const | 
Calculates the dot (scalar) product with two vectors.
| vec | The other vector to calculate the dot product with | 
      
  | 
  static | 
Calculates the dot (scalar) product with two vectors.
| vec1 | The first vector to calculate the dot product with | 
| vec2 | The second vector to calculate the dot product with | 
| T Nz::Vector2< T >::GetLength | ( | ) | const | 
Calculates the length (magnitude) of the vector.
| float Nz::Vector2< T >::GetLengthf | ( | ) | const | 
Calculates the length (magnitude) of the vector.
| Vector2< T > Nz::Vector2< T >::GetNormal | ( | T * | length = nullptr | ) | const | 
Gets a copy normalized of the vector.
| length | Optional argument to obtain the length's ratio of the vector and the unit-length | 
| T Nz::Vector2< T >::GetSquaredLength | ( | ) | const | 
Calculates the squared length (magnitude) of the vector.
      
  | 
  static | 
Interpolates the vector to other one with a factor of interpolation.
| from | Initial vector | 
| to | Target vector | 
| interpolation | Factor of interpolation | 
| Vector2< T > & Nz::Vector2< T >::MakeUnit | ( | ) | 
| Vector2< T > & Nz::Vector2< T >::MakeUnitX | ( | ) | 
| Vector2< T > & Nz::Vector2< T >::MakeUnitY | ( | ) | 
| Vector2< T > & Nz::Vector2< T >::MakeZero | ( | ) | 
| Vector2< T > & Nz::Vector2< T >::Maximize | ( | const Vector2< T > & | vec | ) | 
Sets this vector's components to the maximum of its own and other components.
| vec | Other vector to compare the components with | 
| Vector2< T > & Nz::Vector2< T >::Minimize | ( | const Vector2< T > & | vec | ) | 
Sets this vector's components to the minimum of its own and other components.
| vec | Other vector to compare the components with | 
| Vector2< T > & Nz::Vector2< T >::Normalize | ( | T * | length = nullptr | ) | 
Normalizes the current vector.
| length | Optional argument to obtain the length's ratio of the vector and the unit-length | 
      
  | 
  static | 
Gives the normalized vector.
| vec | Vector to normalize | 
| Nz::Vector2< T >::operator const T * | ( | ) | const | 
Converts vector to const pointer to its own data.
| Nz::Vector2< T >::operator T* | ( | ) | 
Converts vector to pointer to its own data.
| bool Nz::Vector2< T >::operator!= | ( | const Vector2< T > & | vec | ) | const | 
Compares the vector to other one.
| vec | Other vector to compare with | 
| Vector2< T > Nz::Vector2< T >::operator* | ( | const Vector2< T > & | vec | ) | const | 
Multiplies the components of the vector with other vector.
| vec | The other vector to multiply components with | 
| Vector2< T > Nz::Vector2< T >::operator* | ( | T | scale | ) | const | 
Multiplies the components of the vector with a scalar.
| scale | The scalar to multiply components with | 
| Vector2< T > & Nz::Vector2< T >::operator*= | ( | const Vector2< T > & | vec | ) | 
Multiplies the components of other vector to this vector.
| vec | The other vector to multiply components with | 
| Vector2< T > & Nz::Vector2< T >::operator*= | ( | T | scale | ) | 
Multiplies the components of other vector with a scalar.
| vec | The other vector to multiply components with | 
| const Vector2< T > & Nz::Vector2< T >::operator+ | ( | ) | const | 
Helps to represent the sign of the vector.
| Vector2< T > Nz::Vector2< T >::operator+ | ( | const Vector2< T > & | vec | ) | const | 
Adds the components of the vector with other vector.
| vec | The other vector to add components with | 
| Vector2< T > & Nz::Vector2< T >::operator+= | ( | const Vector2< T > & | vec | ) | 
Adds the components of other vector to this vector.
| vec | The other vector to add components with | 
| Vector2< T > Nz::Vector2< T >::operator- | ( | ) | const | 
Negates the components of the vector.
| Vector2< T > Nz::Vector2< T >::operator- | ( | const Vector2< T > & | vec | ) | const | 
Substracts the components of the vector with other vector.
| vec | The other vector to substract components with | 
| Vector2< T > & Nz::Vector2< T >::operator-= | ( | const Vector2< T > & | vec | ) | 
Substracts the components of other vector to this vector.
| vec | The other vector to substract components with | 
| Vector2< T > Nz::Vector2< T >::operator/ | ( | const Vector2< T > & | vec | ) | const | 
Divides the components of the vector with other vector.
| vec | The other vector to divide components with | 
| std::domain_error | if NAZARA_MATH_SAFE is defined and one of the vec components is null | 
| Vector2< T > Nz::Vector2< T >::operator/ | ( | T | scale | ) | const | 
Divides the components of the vector with a scalar.
| scale | The scalar to divide components with | 
| std::domain_error | if NAZARA_MATH_SAFE is defined and scale is null | 
| Vector2< T > & Nz::Vector2< T >::operator/= | ( | const Vector2< T > & | vec | ) | 
Multiplies the components of other vector to this vector.
| vec | The other vector to multiply components with | 
| std::domain_error | if NAZARA_MATH_SAFE is defined and one of the vec components is null | 
| Vector2< T > & Nz::Vector2< T >::operator/= | ( | T | scale | ) | 
Divides the components of other vector with a scalar.
| vec | The other vector to divide components with | 
| std::domain_error | if NAZARA_MATH_SAFE is defined and scale is null | 
| bool Nz::Vector2< T >::operator< | ( | const Vector2< T > & | vec | ) | const | 
Compares the vector to other one.
| vec | Other vector to compare with | 
| bool Nz::Vector2< T >::operator<= | ( | const Vector2< T > & | vec | ) | const | 
Compares the vector to other one.
| vec | Other vector to compare with | 
| bool Nz::Vector2< T >::operator== | ( | const Vector2< T > & | vec | ) | const | 
Compares the vector to other one.
| vec | Other vector to compare with | 
| bool Nz::Vector2< T >::operator> | ( | const Vector2< T > & | vec | ) | const | 
Compares the vector to other one.
| vec | Other vector to compare with | 
| bool Nz::Vector2< T >::operator>= | ( | const Vector2< T > & | vec | ) | const | 
Compares the vector to other one.
| vec | Other vector to compare with | 
| Vector2< T > & Nz::Vector2< T >::Set | ( | T | X, | 
| T | Y | ||
| ) | 
Sets the components of the vector.
| X | X component | 
| Y | Y component | 
| Vector2< T > & Nz::Vector2< T >::Set | ( | T | scale | ) | 
Sets the components of the vector from a "scale".
| scale | X component = Y component | 
| Vector2< T > & Nz::Vector2< T >::Set | ( | const T | vec[2] | ) | 
Sets the components of the vector from an array of two elements.
| vec[2] | vec[0] is X component and vec[1] is Y component | 
| Vector2< T > & Nz::Vector2< T >::Set | ( | const Vector2< T > & | vec | ) | 
Sets the components of the vector from another vector.
| vec | The other vector | 
| Vector2< T > & Nz::Vector2< T >::Set | ( | const Vector3< T > & | vec | ) | 
| Vector2< T > & Nz::Vector2< T >::Set | ( | const Vector4< T > & | vec | ) | 
| Vector2<T>& Nz::Vector2< T >::Set | ( | const Vector2< U > & | vec | ) | 
Sets the components of the vector from another type of Vector2.
| vec | Vector of type U to convert its components | 
| T Nz::Vector2< T >::SquaredDistance | ( | const Vector2< T > & | vec | ) | const | 
Calculates the squared distance between two vectors.
| vec | The other vector to measure the distance with | 
| String Nz::Vector2< T >::ToString | ( | ) | const | 
Gives a string representation.
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static |