Public Member Functions | |
vector3 (const Ogre::Vector3 &vec) | |
operator Ogre::Vector3 () const | |
vector3 (const real fX, const real fY, const real fZ) | |
vector3 (const real &scaler) | |
vector3 (const vector3int32 &cast) | |
bool | operator<= (const vector3 &rhs) const |
bool | operator>= (const vector3 &rhs) const |
vector3 | getFloor (void) const |
vector3 | getAbs (void) const |
void | swap (vector3 &other) |
real | operator[] (const size_t i) const |
real & | operator[] (const size_t i) |
real * | ptr () |
Pointer accessor for direct copying. | |
const real * | ptr () const |
Pointer accessor for direct copying. | |
vector3 & | operator= (const real fScaler) |
bool | operator== (const vector3 &rkVector) const |
bool | operator!= (const vector3 &rkVector) const |
vector3 | operator+ (const vector3 &rkVector) const |
vector3 | operator- (const vector3 &rkVector) const |
vector3 | operator* (const real fScalar) const |
vector3 | operator* (const vector3 &rhs) const |
vector3 | operator/ (const real fScalar) const |
vector3 | operator/ (const vector3 &rhs) const |
const vector3 & | operator+ () const |
vector3 | operator- () const |
vector3 & | operator+= (const vector3 &rkVector) |
vector3 & | operator+= (const real fScalar) |
vector3 & | operator-= (const vector3 &rkVector) |
vector3 & | operator-= (const real fScalar) |
vector3 & | operator*= (const real fScalar) |
vector3 & | operator*= (const vector3 &rkVector) |
vector3 & | operator/= (const real fScalar) |
vector3 & | operator/= (const vector3 &rkVector) |
real | length () const |
real | squaredLength () const |
real | distance (const vector3 &rhs) const |
real | squaredDistance (const vector3 &rhs) const |
real | dotProduct (const vector3 &vec) const |
real | absDotProduct (const vector3 &vec) const |
real | normalise () |
vector3 | crossProduct (const vector3 &rkVector) const |
vector3 | midPoint (const vector3 &vec) const |
bool | operator< (const vector3 &rhs) const |
bool | operator> (const vector3 &rhs) const |
void | makeFloor (const vector3 &cmp) |
void | makeCeil (const vector3 &cmp) |
vector3 | perpendicular (void) const |
real | angleBetween (const vector3 &dest) const |
quaternion | getRotationTo (const vector3 &dest, const vector3 &fallbackAxis=vector3::ZERO) const |
bool | isZeroLength (void) const |
vector3 | getNormalise () const |
vector3 | normalisedCopy (void) const |
vector3 | reflect (const vector3 &normal) const |
bool | positionCloses (const vector3 &rhs, real tolerance=1e-03f) const |
vector3 | primaryAxis () const |
Extract the primary (dominant) axis from this direction vector. | |
Public Attributes | |
real | x |
real | y |
real | z |
Static Public Attributes | |
static const vector3 | ZERO = vector3(0.) |
static const vector3 | UNIT_X = vector3(1., 0., 0.) |
static const vector3 | UNIT_Y = vector3(0., 1., 0.) |
static const vector3 | UNIT_Z = vector3(0., 0., 1.) |
static const vector3 | NEGATIVE_UNIT_X = vector3(-1., 0., 0.) |
static const vector3 | NEGATIVE_UNIT_Y = vector3(0., -1., 0.) |
static const vector3 | NEGATIVE_UNIT_Z = vector3(0., 0., -1.) |
static const vector3 | UNIT_SCALE = vector3(1., 1., 1.) |
Friends | |
vector3 | operator* (const real fScalar, const vector3 &rkVector) |
vector3 | operator/ (const real fScalar, const vector3 &rkVector) |
vector3 | operator+ (const vector3 &lhs, const real rhs) |
vector3 | operator+ (const real lhs, const vector3 &rhs) |
vector3 | operator- (const vector3 &lhs, const real rhs) |
vector3 | operator- (const real lhs, const vector3 &rhs) |
|
inline |
Calculates the absolute dot (scalar) product of this vector with another.
vec | Vector with which to calculate the absolute dot product (together with this one). |
|
inline |
Gets the angle between 2 vectors.
Calculates the cross-product of 2 vectors, i.e. the vector that lies perpendicular to them both.
rkVector | Vector which, together with this one, will be used to calculate the cross-product. |
|
inline |
Returns the distance to another vector.
|
inline |
Calculates the dot (scalar) product of this vector with another.
vec | Vector with which to calculate the dot product (together with this one). |
|
inline |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
quaternion vector3::getRotationTo | ( | const vector3 & | dest, |
const vector3 & | fallbackAxis = vector3::ZERO |
||
) | const |
Gets the shortest arc quaternion to rotate this vector to the destination vector.
|
inline |
Returns true if this vector is zero length.
|
inline |
Returns the length (magnitude) of the vector.
|
inline |
Sets this vector's components to the maximum of its own and the ones of the passed in vector.
|
inline |
Sets this vector's components to the minimum of its own and the ones of the passed in vector.
Returns a vector at a point half way between this and the passed in vector.
|
inline |
Normalises the vector.
|
inline |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
|
inline |
Returns true if the vector's scalar components are all greater that the ones of the vector it is compared against.
|
inline |
|
inline |
Returns true if the vector's scalar components are all smaller that the ones of the vector it is compared against.
|
inline |
Generates a vector perpendicular to this vector (eg an 'up' vector).
|
inline |
Returns whether this vector is within a positional tolerance of another vector, also take scale of the vectors into account.
rhs | The vector to compare with |
tolerance | The amount (related to the scale of vectors) that distance of the vector may vary by and still be considered close |
Calculates a reflection vector to the plane with the given normal .
|
inline |
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.