#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) | |
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 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 |
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 |
Returns the length (magnitude) of the vector. | |
Real | squaredLength () const |
Returns the square of the length(magnitude) of the vector. | |
Real | distance (const Vector3 &rhs) const |
Returns the distance to another vector. | |
Real | squaredDistance (const Vector3 &rhs) const |
Returns the square of the distance to another vector. | |
Real | dotProduct (const Vector3 &vec) const |
Calculates the dot (scalar) product of this vector with another. | |
Real | absDotProduct (const Vector3 &vec) const |
Calculates the absolute 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. | |
Radian | angleBetween (const Vector3 &dest) |
Gets the angle between 2 vectors. | |
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 | positionCloses (const Vector3 &rhs, Real tolerance=1e-03f) const |
Returns whether this vector is within a positional tolerance of another vector, also take scale of the vectors into account. | |
bool | directionEquals (const Vector3 &rhs, const Radian &tolerance) const |
Returns whether this vector is within a directional tolerance of another vector. | |
Public Attributes | |
Real | x |
Real | y |
Real | z |
Static Public Attributes | |
static const Vector3 | ZERO |
static const Vector3 | UNIT_X |
static const Vector3 | UNIT_Y |
static const Vector3 | UNIT_Z |
static const Vector3 | NEGATIVE_UNIT_X |
static const Vector3 | NEGATIVE_UNIT_Y |
static const Vector3 | NEGATIVE_UNIT_Z |
static const Vector3 | UNIT_SCALE |
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) |
_OgreExport friend std::ostream & | operator<< (std::ostream &o, const Vector3 &v) |
Function for writing to a stream. |
Definition at line 46 of file OgreVector3.h.
|
Definition at line 52 of file OgreVector3.h. |
|
Definition at line 56 of file OgreVector3.h. |
|
Definition at line 61 of file OgreVector3.h. |
|
Definition at line 68 of file OgreVector3.h. |
|
Definition at line 75 of file OgreVector3.h. |
|
Definition at line 80 of file OgreVector3.h. |
|
Calculates the absolute dot (scalar) product of this vector with another.
Definition at line 414 of file OgreVector3.h. References Ogre::Math::Abs(), x, y, and z. |
|
Gets the angle between 2 vectors.
Definition at line 613 of file OgreVector3.h. References Ogre::Math::ACos(), and Ogre::Math::Clamp(). |
|
Calculates the cross-product of 2 vectors, i.e. the vector that lies perpendicular to them both.
Definition at line 472 of file OgreVector3.h. Referenced by getRotationTo(). |
|
Returns whether this vector is within a directional tolerance of another vector.
Definition at line 743 of file OgreVector3.h. References Ogre::Math::Abs(), Ogre::Math::ACos(), and Ogre::Radian::valueRadians(). |
|
Returns the distance to another vector.
Definition at line 365 of file OgreVector3.h. |
|
Calculates the dot (scalar) product of this vector with another.
Definition at line 399 of file OgreVector3.h. Referenced by getRotationTo(). |
|
Gets the shortest arc quaternion to rotate this vector to the destination vector.
Definition at line 635 of file OgreVector3.h. References crossProduct(), dotProduct(), Ogre::Quaternion::FromAngleAxis(), Ogre::Quaternion::IDENTITY, isZeroLength(), Ogre::Quaternion::normalise(), normalise(), Ogre::Math::PI, Ogre::Math::Sqrt(), UNIT_X, UNIT_Y, Ogre::Quaternion::w, x, Ogre::Quaternion::x, y, Ogre::Quaternion::y, z, Ogre::Quaternion::z, and ZERO. |
|
Returns true if this vector is zero length.
Definition at line 686 of file OgreVector3.h. Referenced by getRotationTo(). |
|
Returns the length (magnitude) of the vector.
Definition at line 338 of file OgreVector3.h. References Ogre::Math::Sqrt(). |
|
Sets this vector's components to the maximum of its own and the ones of the passed in vector.
Definition at line 532 of file OgreVector3.h. Referenced by Ogre::AxisAlignedBox::intersection(), and 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 518 of file OgreVector3.h. Referenced by Ogre::AxisAlignedBox::intersection(), and Ogre::AxisAlignedBox::merge(). |
|
Returns a vector at a point half way between this and the passed in vector.
Definition at line 483 of file OgreVector3.h. |
|
Normalises the vector.
Definition at line 428 of file OgreVector3.h. References Ogre::Math::Sqrt(). Referenced by getRotationTo(), normalisedCopy(), Ogre::Matrix4::operator *(), and perpendicular(). |
|
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
Definition at line 695 of file OgreVector3.h. References normalise(). |
|
Definition at line 169 of file OgreVector3.h. |
|
Definition at line 161 of file OgreVector3.h. |
|
Definition at line 299 of file OgreVector3.h. |
|
Definition at line 291 of file OgreVector3.h. |
|
Definition at line 139 of file OgreVector3.h. |
|
Definition at line 197 of file OgreVector3.h. |
|
Definition at line 145 of file OgreVector3.h. |
|
Definition at line 266 of file OgreVector3.h. |
|
Definition at line 257 of file OgreVector3.h. |
|
Definition at line 202 of file OgreVector3.h. |
|
Definition at line 153 of file OgreVector3.h. |
|
Definition at line 283 of file OgreVector3.h. |
|
Definition at line 274 of file OgreVector3.h. |
|
Definition at line 189 of file OgreVector3.h. |
|
Definition at line 177 of file OgreVector3.h. |
|
Definition at line 321 of file OgreVector3.h. |
|
Definition at line 308 of file OgreVector3.h. |
|
Returns true if the vector's scalar components are all greater that the ones of the vector it is compared against.
Definition at line 494 of file OgreVector3.h. |
|
Definition at line 125 of file OgreVector3.h. |
|
Assigns the value of the other vector.
Definition at line 116 of file OgreVector3.h. |
|
Definition at line 134 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 504 of file OgreVector3.h. |
|
Definition at line 95 of file OgreVector3.h. |
|
Definition at line 88 of file OgreVector3.h. |
|
Generates a vector perpendicular to this vector (eg an 'up' vector).
Definition at line 546 of file OgreVector3.h. References normalise(), squaredLength(), UNIT_X, and UNIT_Y. |
|
Returns whether this vector is within a positional tolerance of another vector, also take scale of the vectors into account.
Definition at line 730 of file OgreVector3.h. References squaredLength(). |
|
Returns whether this vector is within a positional tolerance of another vector.
Definition at line 716 of file OgreVector3.h. References Ogre::Math::RealEqual(). |
|
Pointer accessor for direct copying.
Definition at line 107 of file OgreVector3.h. |
|
Pointer accessor for direct copying.
Definition at line 102 of file OgreVector3.h. Referenced by Ogre::AnimableValue::setAsBaseValue(). |
|
Generates a new random vector which deviates from this vector by a given angle in a random direction.
Definition at line 583 of file OgreVector3.h. References Ogre::Quaternion::FromAngleAxis(), Ogre::Math::TWO_PI, Ogre::Math::UnitRandom(), and ZERO. |
|
Calculates a reflection vector to the plane with the given normal .
Definition at line 705 of file OgreVector3.h. |
|
Returns the square of the distance to another vector.
Definition at line 380 of file OgreVector3.h. |
|
Returns the square of the length(magnitude) of the vector.
Definition at line 353 of file OgreVector3.h. Referenced by perpendicular(), and positionCloses(). |
|
Definition at line 208 of file OgreVector3.h. |
|
Definition at line 232 of file OgreVector3.h. |
|
Definition at line 224 of file OgreVector3.h. |
|
Definition at line 248 of file OgreVector3.h. |
|
Definition at line 240 of file OgreVector3.h. |
|
Definition at line 216 of file OgreVector3.h. |
|
Function for writing to a stream.
Definition at line 766 of file OgreVector3.h. |
|
Definition at line 758 of file OgreVector3.h. |
|
Definition at line 759 of file OgreVector3.h. |
|
Definition at line 760 of file OgreVector3.h. |
|
Definition at line 761 of file OgreVector3.h. |
|
Definition at line 755 of file OgreVector3.h. Referenced by getRotationTo(), and perpendicular(). |
|
Definition at line 756 of file OgreVector3.h. Referenced by getRotationTo(), and perpendicular(). |
|
Definition at line 757 of file OgreVector3.h. |
|
|
|
|
Definition at line 754 of file OgreVector3.h. Referenced by Ogre::AxisAlignedBox::getHalfSize(), getRotationTo(), Ogre::AxisAlignedBox::getSize(), and randomDeviant(). |
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:56:30 2009