OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
Standard 2-dimensional vector. More...
#include <OgreVector2.h>
Public Member Functions | |
Vector2 () | |
Default constructor. More... | |
Vector2 (const int afCoordinate[2]) | |
Vector2 (const Real afCoordinate[2]) | |
Vector2 (const Real fX, const Real fY) | |
Vector2 (const Real scaler) | |
Vector2 (Real *const r) | |
Ogre::Radian | angleBetween (const Ogre::Vector2 &other) const |
Gets the angle between 2 vectors. More... | |
Ogre::Radian | angleTo (const Ogre::Vector2 &other) const |
Gets the oriented angle between 2 vectors. More... | |
Real | crossProduct (const Vector2 &rkVector) const |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle. More... | |
Real | distance (const Vector2 &rhs) const |
Returns the distance to another vector. More... | |
Real | dotProduct (const Vector2 &vec) const |
Calculates the dot (scalar) product of this vector with another. More... | |
bool | isNaN () const |
Check whether this vector contains valid values. More... | |
bool | isZeroLength () const |
Returns true if this vector is zero length. More... | |
Real | length () const |
Returns the length (magnitude) of the vector. More... | |
void | makeCeil (const Vector2 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. More... | |
void | makeFloor (const Vector2 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. More... | |
Vector2 | midPoint (const Vector2 &vec) const |
Returns a vector at a point half way between this and the passed in vector. More... | |
Real | normalise () |
Normalises the vector. More... | |
Vector2 | normalisedCopy () const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. More... | |
bool | operator!= (const Vector2 &rkVector) const |
Vector2 | operator* (const Real fScalar) const |
Vector2 | operator* (const Vector2 &rhs) const |
Vector2 & | operator*= (const Real fScalar) |
Vector2 & | operator*= (const Vector2 &rkVector) |
const Vector2 & | operator+ () const |
Vector2 | operator+ (const Vector2 &rkVector) const |
Vector2 & | operator+= (const Real fScaler) |
Vector2 & | operator+= (const Vector2 &rkVector) |
Vector2 | operator- () const |
Vector2 | operator- (const Vector2 &rkVector) const |
Vector2 & | operator-= (const Real fScaler) |
Vector2 & | operator-= (const Vector2 &rkVector) |
Vector2 | operator/ (const Real fScalar) const |
Vector2 | operator/ (const Vector2 &rhs) const |
Vector2 & | operator/= (const Real fScalar) |
Vector2 & | operator/= (const Vector2 &rkVector) |
bool | operator< (const Vector2 &rhs) const |
Returns true if the vector's scalar components are all greater that the ones of the vector it is compared against. More... | |
Vector2 & | operator= (const Real fScalar) |
bool | operator== (const Vector2 &rkVector) const |
bool | operator> (const Vector2 &rhs) const |
Returns true if the vector's scalar components are all smaller that the ones of the vector it is compared against. More... | |
Real & | operator[] (const size_t i) |
Real | operator[] (const size_t i) const |
Vector2 | perpendicular () const |
Generates a vector perpendicular to this vector (eg an 'up' vector). More... | |
Real * | ptr () |
Pointer accessor for direct copying. More... | |
const Real * | ptr () const |
Pointer accessor for direct copying. More... | |
Vector2 | randomDeviant (Radian angle) const |
Generates a new random vector which deviates from this vector by a given angle in a random direction. More... | |
Vector2 | reflect (const Vector2 &normal) const |
Calculates a reflection vector to the plane with the given normal . More... | |
Real | squaredDistance (const Vector2 &rhs) const |
Returns the square of the distance to another vector. More... | |
Real | squaredLength () const |
Returns the square of the length(magnitude) of the vector. More... | |
void | swap (Vector2 &other) |
Exchange the contents of this vector with another. More... | |
Public Attributes | |
Real | x |
Real | y |
Static Public Attributes | |
static const Vector2 | NEGATIVE_UNIT_X |
static const Vector2 | NEGATIVE_UNIT_Y |
static const Vector2 | UNIT_SCALE |
static const Vector2 | UNIT_X |
static const Vector2 | UNIT_Y |
static const Vector2 | ZERO |
Friends | |
Vector2 | operator* (const Real fScalar, const Vector2 &rkVector) |
Vector2 | operator+ (const Real lhs, const Vector2 &rhs) |
Vector2 | operator+ (const Vector2 &lhs, const Real rhs) |
Vector2 | operator- (const Real lhs, const Vector2 &rhs) |
Vector2 | operator- (const Vector2 &lhs, const Real rhs) |
Vector2 | operator/ (const Real fScalar, const Vector2 &rkVector) |
_OgreExport friend std::ostream & | operator<< (std::ostream &o, const Vector2 &v) |
Function for writing to a stream. More... | |
Standard 2-dimensional vector.
|
inline |
Default constructor.
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Gets the angle between 2 vectors.
References Ogre::Math::ACos(), Ogre::Math::Clamp(), and length().
|
inline |
Gets the oriented angle between 2 vectors.
References Ogre::Math::TWO_PI.
Returns the distance to another vector.
Calculates the dot (scalar) product of this vector with another.
vec | Vector with which to calculate the dot product (together with this one). |
|
inline |
Check whether this vector contains valid values.
References Ogre::Math::isNaN().
|
inline |
Returns true if this vector is zero length.
|
inline |
Returns the length (magnitude) of the vector.
References Ogre::Math::Sqrt().
Referenced by angleBetween().
|
inline |
|
inline |
|
inline |
Normalises the vector.
References Ogre::Math::Sqrt().
Referenced by normalisedCopy().
|
inline |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
References normalise().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Generates a vector perpendicular to this vector (eg an 'up' vector).
|
inline |
Pointer accessor for direct copying.
|
inline |
Pointer accessor for direct copying.
Generates a new random vector which deviates from this vector by a given angle in a random direction.
angle | The angle at which to deviate in radians |
References Ogre::Math::Cos(), Ogre::Math::RangeRandom(), and Ogre::Math::Sin().
Calculates a reflection vector to the plane with the given normal .
Returns the square of the distance to another vector.
|
inline |
Returns the square of the length(magnitude) of the vector.
|
inline |
Exchange the contents of this vector with another.
References std::swap(), x, and y.
|
friend |
Function for writing to a stream.
|
static |
|
static |
|
static |
|
static |
|
static |
Real Ogre::Vector2::x |
Referenced by crossProduct(), dotProduct(), makeCeil(), makeFloor(), midPoint(), operator!=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<(), operator==(), operator>(), and swap().
Real Ogre::Vector2::y |
Referenced by crossProduct(), dotProduct(), makeCeil(), makeFloor(), midPoint(), operator!=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<(), operator==(), operator>(), and swap().
|
static |