#include <OgreVector3.h>
Public Member Functions | |
Vector3 () | |
Vector3 (const Real fX, const Real fY, const Real fZ) | |
Vector3 (const Real afCoordinate[3]) | |
Vector3 (const int afCoordinate[3]) | |
Vector3 (Real *const r) | |
Vector3 (const Real scaler) | |
Vector3 (const Vector3 &rkVector) | |
Real | operator[] (const size_t i) const |
Real & | operator[] (const size_t i) |
Vector3 & | operator= (const Vector3 &rkVector) |
Assigns the value of the other vector. | |
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 |
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 |
Returns the length (magnitude) of the vector. | |
Real | squaredLength () const |
Returns the square of the length(magnitude) of the vector. | |
Real | dotProduct (const Vector3 &vec) const |
Calculates the dot (scalar) product of this vector with another. | |
Real | normalise () |
Normalises the vector. | |
Vector3 | crossProduct (const Vector3 &rkVector) const |
Calculates the cross-product of 2 vectors, i.e. | |
Vector3 | midPoint (const Vector3 &vec) const |
Returns a vector at a point half way between this and the passed in vector. | |
bool | operator< (const Vector3 &rhs) const |
Returns true if the vector's scalar components are all greater that the ones of the vector it is compared against. | |
bool | operator> (const Vector3 &rhs) const |
Returns true if the vector's scalar components are all smaller that the ones of the vector it is compared against. | |
void | makeFloor (const Vector3 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. | |
void | makeCeil (const Vector3 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. | |
Vector3 | perpendicular (void) const |
Generates a vector perpendicular to this vector (eg an 'up' vector). | |
Vector3 | randomDeviant (const Radian &angle, const Vector3 &up=Vector3::ZERO) const |
Generates a new random vector which deviates from this vector by a given angle in a random direction. | |
Quaternion | getRotationTo (const Vector3 &dest, const Vector3 &fallbackAxis=Vector3::ZERO) const |
Gets the shortest arc quaternion to rotate this vector to the destination vector. | |
bool | isZeroLength (void) const |
Returns true if this vector is zero length. | |
Vector3 | normalisedCopy (void) const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. | |
Vector3 | reflect (const Vector3 &normal) const |
Calculates a reflection vector to the plane with the given normal . | |
bool | positionEquals (const Vector3 &rhs, Real tolerance=1e-03) const |
Returns whether this vector is within a positional tolerance of another vector. | |
bool | directionEquals (const Vector3 &rhs, const Radian &tolerance) const |
Returns whether this vector is within a directional tolerance of another vector. | |
Static Public Attributes | |
const Vector3 | ZERO |
const Vector3 | UNIT_X |
const Vector3 | UNIT_Y |
const Vector3 | UNIT_Z |
const Vector3 | NEGATIVE_UNIT_X |
const Vector3 | NEGATIVE_UNIT_Y |
const Vector3 | NEGATIVE_UNIT_Z |
const Vector3 | UNIT_SCALE |
Friends | |
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) |
_OgreExport friend std::ostream & | operator<< (std::ostream &o, const Vector3 &v) |
Function for writing to a stream. |
Definition at line 42 of file OgreVector3.h.
|
Definition at line 53 of file OgreVector3.h. |
|
Definition at line 57 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 62 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 69 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 76 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 81 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 89 of file OgreVector3.h. |
|
Calculates the cross-product of 2 vectors, i.e. the vector that lies perpendicular to them both.
Definition at line 431 of file OgreVector3.h. Referenced by getRotationTo(). |
|
Returns whether this vector is within a directional tolerance of another vector.
Definition at line 679 of file OgreVector3.h. References Ogre::Real, and Ogre::Radian::valueRadians(). |
|
Calculates the dot (scalar) product of this vector with another.
Definition at line 373 of file OgreVector3.h. References Ogre::Real, x, y, and z. Referenced by getRotationTo(). |
|
Gets the shortest arc quaternion to rotate this vector to the destination vector.
Definition at line 586 of file OgreVector3.h. References crossProduct(), dotProduct(), Ogre::Quaternion::FromAngleAxis(), isZeroLength(), normalise(), Ogre::Real, Ogre::Quaternion::w, x, Ogre::Quaternion::x, y, Ogre::Quaternion::y, z, and Ogre::Quaternion::z. |
|
Returns true if this vector is zero length.
Definition at line 636 of file OgreVector3.h. References Ogre::Real. Referenced by getRotationTo(). |
|
Returns the length (magnitude) of the vector.
Definition at line 339 of file OgreVector3.h. References Ogre::Real. Referenced by Ogre::Sphere::intersects(). |
|
Sets this vector's components to the maximum of its own and the ones of the passed in vector.
Definition at line 494 of file OgreVector3.h. Referenced by Ogre::AxisAlignedBox::merge(). |
|
Sets this vector's components to the minimum of its own and the ones of the passed in vector.
Definition at line 480 of file OgreVector3.h. Referenced by Ogre::AxisAlignedBox::merge(). |
|
Returns a vector at a point half way between this and the passed in vector.
Definition at line 445 of file OgreVector3.h. |
|
Normalises the vector.
Definition at line 387 of file OgreVector3.h. References Ogre::Real. Referenced by getRotationTo(), and normalisedCopy(). |
|
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
Definition at line 645 of file OgreVector3.h. References normalise(). |
|
Definition at line 174 of file OgreVector3.h. |
|
Definition at line 163 of file OgreVector3.h. References Ogre::Real, x, y, and z. |
|
Definition at line 300 of file OgreVector3.h. |
|
Definition at line 292 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 135 of file OgreVector3.h. |
|
Definition at line 141 of file OgreVector3.h. |
|
Definition at line 267 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 258 of file OgreVector3.h. |
|
Definition at line 211 of file OgreVector3.h. |
|
Definition at line 152 of file OgreVector3.h. |
|
Definition at line 284 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 275 of file OgreVector3.h. |
|
Definition at line 199 of file OgreVector3.h. |
|
Definition at line 185 of file OgreVector3.h. References Ogre::Real, x, y, and z. |
|
Definition at line 322 of file OgreVector3.h. |
|
Definition at line 309 of file OgreVector3.h. References Ogre::Real. |
|
Returns true if the vector's scalar components are all greater that the ones of the vector it is compared against.
Definition at line 456 of file OgreVector3.h. |
|
Definition at line 121 of file OgreVector3.h. References Ogre::Real. |
|
Assigns the value of the other vector.
Definition at line 112 of file OgreVector3.h. |
|
Definition at line 130 of file OgreVector3.h. |
|
Returns true if the vector's scalar components are all smaller that the ones of the vector it is compared against.
Definition at line 466 of file OgreVector3.h. |
|
Definition at line 101 of file OgreVector3.h. References Ogre::Real. |
|
Definition at line 94 of file OgreVector3.h. References Ogre::Real. |
|
Generates a vector perpendicular to this vector (eg an 'up' vector).
Definition at line 508 of file OgreVector3.h. References Ogre::Real, and squaredLength(). |
|
Returns whether this vector is within a positional tolerance of another vector.
Definition at line 666 of file OgreVector3.h. References Ogre::Real, x, y, and z. |
|
Generates a new random vector which deviates from this vector by a given angle in a random direction.
Definition at line 544 of file OgreVector3.h. References Ogre::Quaternion::FromAngleAxis(). |
|
Calculates a reflection vector to the plane with the given normal .
Definition at line 655 of file OgreVector3.h. |
|
Returns the square of the length(magnitude) of the vector.
Definition at line 354 of file OgreVector3.h. References Ogre::Real. Referenced by perpendicular(). |
|
Definition at line 223 of file OgreVector3.h. |
|
Definition at line 240 of file OgreVector3.h. |
|
Definition at line 234 of file OgreVector3.h. |
|
Definition at line 251 of file OgreVector3.h. |
|
Definition at line 246 of file OgreVector3.h. |
|
Function for writing to a stream.
Definition at line 702 of file OgreVector3.h. |
|
Definition at line 694 of file OgreVector3.h. |
|
Definition at line 695 of file OgreVector3.h. |
|
Definition at line 696 of file OgreVector3.h. |
|
Definition at line 697 of file OgreVector3.h. |
|
Definition at line 691 of file OgreVector3.h. |
|
Definition at line 692 of file OgreVector3.h. |
|
Definition at line 693 of file OgreVector3.h. |
|
Definition at line 49 of file OgreVector3.h. Referenced by Ogre::AnimableValue::setAsBaseValue(). |
|
|
|
|
Definition at line 690 of file OgreVector3.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:45:57 2006