A 2D vector class. More...
#include <vector2.h>

Public Member Functions | |
| CVector2 () | |
| Class constructor. More... | |
| CVector2 (Real f_x, Real f_y) | |
| Class constructor. More... | |
| CVector2 (Real f_length, const CRadians &f_angle) | |
| Class constructor. More... | |
| Real | GetX () const |
| Returns the x coordinate of this vector. More... | |
| void | SetX (Real f_x) |
| Sets the x coordinate of this vector. More... | |
| Real | GetY () const |
| Returns the y coordinate of this vector. More... | |
| void | SetY (Real f_y) |
| Sets the y coordinate of this vector. More... | |
| void | Set (Real f_x, Real f_y) |
| Sets the vector contents from Cartesian coordinates. More... | |
| void | FromPolarCoordinates (Real f_length, const CRadians &f_angle) |
| Sets the vector contents from polar coordinates. More... | |
| Real | SquareLength () const |
| Returns the square length of this vector. More... | |
| Real | Length () const |
| Returns the length of this vector. More... | |
| CVector2 & | Normalize () |
| Normalizes this vector. More... | |
| CRadians | Angle () const |
| Returns the angle of this vector. More... | |
| CVector2 & | Rotate (const CRadians &c_angle) |
| Rotates this vector by the wanted angle. More... | |
| Real | DotProduct (const CVector2 &c_vector2) const |
| Returns the dot product between this vector and the passed one. More... | |
| Real | CrossProduct (const CVector2 &c_vector2) const |
| Returns the cross product between this vector and the passed one. More... | |
| CVector2 & | Scale (Real f_scale_x, Real f_scale_y) |
| Scales the vector by the wanted values. More... | |
| CVector2 & | Perpendicularize () |
| Transforms this vector into its ortogonal. More... | |
| CVector2 & | Absolute () |
| Applies Abs() to the coordinates of this vector. More... | |
| bool | operator== (const CVector2 &c_vector2) const |
Returns true if this vector and the passed one are equal. More... | |
| bool | operator!= (const CVector2 &c_vector2) const |
Returns true if this vector and the passed one are not equal. More... | |
| CVector2 & | operator+= (const CVector2 &c_vector2) |
| Sums the passed vector to this vector. More... | |
| CVector2 & | operator-= (const CVector2 &c_vector2) |
| Subtracts the passed vector from this vector. More... | |
| CVector2 & | operator*= (Real f_value) |
| Multiplies this vector by the given value. More... | |
| CVector2 & | operator/= (Real f_value) |
| Divides this vector by the given value. More... | |
| CVector2 | operator+ (const CVector2 &c_vector2) const |
| Returns a new vector containing the sum between this vector and the passed one. More... | |
| CVector2 | operator- (const CVector2 &c_vector2) const |
| Returns a new vector containing the subtraction between this vector and the passed one. More... | |
| CVector2 | operator* (Real f_value) const |
| Returns a new vector containing the multiplication between this vector and the passed value. More... | |
| CVector2 | operator/ (Real f_value) const |
| Returns a new vector containing the division between this vector and the passed value. More... | |
| CVector2 | operator- () const |
Static Public Attributes | |
| static const CVector2 | X |
| The x axis. More... | |
| static const CVector2 | Y |
| The y axis. More... | |
Friends | |
| CVector2 | operator* (Real f_value, const CVector2 &c_vector2) |
| Returns a new vector containing the multiplication between the passed value and the passed vector. More... | |
| std::ostream & | operator<< (std::ostream &c_os, const CVector2 &c_vector2) |
| Serializes the contents of the passed vector onto a stream. More... | |
| std::istream & | operator>> (std::istream &c_is, CVector2 &c_vector2) |
| Deserializes the contents of a stream and stores them into the passed vector. More... | |
|
inline |
Class constructor.
It initializes the vector coordinates from polar coordinates.
| f_length | the vector length. |
| f_angle | the vector angle. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Scales the vector by the wanted values.
This method scales the vector by the wanted values. In practice, this means that it multiplies the x coordinate by f_scale_x and the y coordinate by f_scale_y.
| f_scale_x | the scale factor for the x coordinate. |
| f_scale_y | the scale factor for the y coordinate. |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |