#include <vector3.h>
Public Methods | |
| csVector3 () | |
| Make a new vector. More... | |
| csVector3 (float m) | |
| Make a new initialized vector. More... | |
| csVector3 (float ix, float iy, float iz=0) | |
| Make a new vector and initialize with the given values. | |
| csVector3 (const csVector3 &v) | |
| Copy Constructor. | |
| csVector3 (const csDVector3 &) | |
| Conversion from double precision vector to single. | |
| void | Cross (const csVector3 &px, const csVector3 &py) |
| Take cross product of two vectors and put result in this vector. | |
| float | operator[] (int n) const |
| Returns n-th component of the vector. | |
| float& | operator[] (int n) |
| Returns n-th component of the vector. | |
| csVector3& | operator+= (const csVector3 &v) |
| Add another vector to this vector. | |
| csVector3& | operator-= (const csVector3 &v) |
| Subtract another vector from this vector. | |
| csVector3& | operator *= (float f) |
| Multiply this vector by a scalar. | |
| csVector3& | operator/= (float f) |
| Divide this vector by a scalar. | |
| csVector3 | operator+ () const |
| Unary + operator. | |
| csVector3 | operator- () const |
| Unary - operator. | |
| void | Set (float sx, float sy, float sz) |
| Set the value of this vector. | |
| void | Set (const csVector3 &v) |
| Set the value of this vector. | |
| float | Norm () const |
| Returns the norm of this vector. | |
| float | SquaredNorm () const |
| Return the squared norm (magnitude) of this vector. | |
| csVector3 | Unit () const |
| Returns the unit vector in the direction of this vector. More... | |
| void | Normalize () |
| Scale this vector to length = 1.0;. | |
| bool | IsZero () const |
| Query if the vector is zero. | |
Public Attributes | |
| float | x |
| The X component of the vector. | |
| float | y |
| The Y component of the vector. | |
| float | z |
| The Z component of the vector. | |
Static Public Methods | |
| float | Norm (const csVector3 &v) |
| Returns the norm (magnitude) of a vector. | |
| csVector3 | Unit (const csVector3 &v) |
| Normalizes a vector to a unit vector. | |
Friends | |
| csVector3 | operator+ (const csVector3 &v1, const csVector3 &v2) |
| Add two vectors. | |
| csDVector3 | operator+ (const csDVector3 &v1, const csVector3 &v2) |
| Add two vectors of differing type, raise the csVector3 to DVector3. | |
| csDVector3 | operator+ (const csVector3 &v1, const csDVector3 &v2) |
| Add two vectors of differing type, raise the csVector3 to DVector3. | |
| csVector3 | operator- (const csVector3 &v1, const csVector3 &v2) |
| Subtract two vectors. | |
| csDVector3 | operator- (const csVector3 &v1, const csDVector3 &v2) |
| Subtract two vectors of differing type, cast to double. | |
| csDVector3 | operator- (const csDVector3 &v1, const csVector3 &v2) |
| Subtract two vectors of differing type, cast to double. | |
| float | operator * (const csVector3 &v1, const csVector3 &v2) |
| Take the dot product of two vectors. | |
| csVector3 | operator% (const csVector3 &v1, const csVector3 &v2) |
| Take the cross product of two vectors. | |
| csVector3 | operator * (const csVector3 &v, float f) |
| Multiply a vector and a scalar. | |
| csVector3 | operator * (float f, const csVector3 &v) |
| Multiply a vector and a scalar. | |
| csDVector3 | operator * (const csVector3 &v, double f) |
| Multiply a vector and a scalar double. Upgrade v to DVector. | |
| csDVector3 | operator * (double f, const csVector3 &v) |
| Multiply a vector and a scalar double. Upgrade v to DVector. | |
| csVector3 | operator * (const csVector3 &v, int f) |
| Multiply a vector and a scalar int. | |
| csVector3 | operator * (int f, const csVector3 &v) |
| Multiply a vector and a scalar int. | |
| csVector3 | operator/ (const csVector3 &v, float f) |
| Divide a vector by a scalar. | |
| csDVector3 | operator/ (const csVector3 &v, double f) |
| Divide a vector by a scalar double. Upgrade v to DVector. | |
| csVector3 | operator/ (const csVector3 &v, int f) |
| Divide a vector by a scalar int. | |
| bool | operator== (const csVector3 &v1, const csVector3 &v2) |
| Check if two vectors are equal. | |
| bool | operator!= (const csVector3 &v1, const csVector3 &v2) |
| Check if two vectors are not equal. | |
| csVector3 | operator>> (const csVector3 &v1, const csVector3 &v2) |
| Project one vector onto another. | |
| csVector3 | operator<< (const csVector3 &v1, const csVector3 &v2) |
| Project one vector onto another. | |
| bool | operator< (const csVector3 &v, float f) |
| Test if each component of a vector is less than a small epsilon value. | |
| bool | operator> (float f, const csVector3 &v) |
| Test if each component of a vector is less than a small epsilon value. | |
|
|
Make a new vector. The vector is not initialized. This makes the code slightly faster as csVector3 objects are used a lot. |
|
|
Make a new initialized vector. Creates a new vector and initializes it to m*<1,1,1>. To create a vector initialized to the zero vector, use csVector3(0) |
|
|
Returns the unit vector in the direction of this vector. Attempting to normalize a zero-vector will result in a divide by zero error. This is as it should be... fix the calling code. |