#include <vuVector.h>
Public Member Functions | |
| vuVector () | |
| Default constructor making a zero vector. | |
| vuVector (const vuVector &v) | |
| Copy constructor. | |
| vuVector (double v1, double v2, double v3) | |
| Constructor initializing to a 3d vector in homogenous space. | |
| vuVector (double v1, double v2, double v3, double v4) | |
| Constructor initializing to a homogenous 3d vector. | |
| vuVector (double v) | |
| Constructor initializing the x,y,z coordinates to v. | |
| vuVector (const double *v) | |
| Constructor initializing the vector from an array of doubles. | |
| ~vuVector () | |
| The destructor. | |
| vuVector & | operator= (const vuVector &v) |
| The assignment operator. | |
| vuVector & | operator= (double v) |
| Assigns the value v to the x,y,z elements of the vector. | |
| vuVector & | operator= (const double *v) |
| Assigns a 3d double array to the vector. | |
| double | norm (void) const |
| Computes the 2-norm on the vector (lenght operator). | |
| double | norm2 (void) const |
| Computes squared 2-norm (scalar product with itself). | |
| vuVector & | makeUnit (void) |
| Normalizes the vector to a length of 1. | |
| vuVector & | normalize (void) |
| Normalizes the vector in homogenous space. | |
| vuVector | inv (void) const |
| Returns the entry-wise inverse of the vector. | |
| vuVector & | invEq (void) |
| Inverts the vector entry-wise. | |
| vuVector | mul (const vuVector &rhs) const |
| Returns the entry-wise product of the vector with another vector. | |
| vuVector & | mulEq (const vuVector &rhs) |
| Multiplies the vector, entry-wise, by another vector. | |
| vuVector | div (const vuVector &rhs) const |
| Returns the entry-wise division of the vector by another vector. | |
| vuVector & | divEq (const vuVector &rhs) |
| Divides the vector, entry-wise, by another vector. | |
| double & | operator[] (dword index) |
| The access operator. | |
| const double & | operator[] (dword index) const |
| The const access operator. | |
| double * | getData (void) |
| Returns the data pointer. | |
| double const * | getData (void) const |
| const version of getData() | |
| double | dot (const vuVector &v) const |
| Returns the dot product of the vector with another vector. | |
| vuVector | cross (const vuVector &v) const |
| vuVector | operator+ (const vuVector &v) const |
| Returns the sum of the vector with another vector. | |
| vuVector | operator- (const vuVector &v) const |
| Returns the difference of the vector from another vector. | |
| vuVector | operator * (const vuMatrix &m) const |
| Returns the product of the vector and a matrix. | |
| vuMatrix | operator * (const vuVector &v) const |
| Returns the product of the vector with another vector. | |
| vuVector | operator * (double s) const |
| Returns the product of the vector with a scalar. | |
| vuVector | operator/ (double s) const |
| Returns the fraction of the vector with a scalar. | |
| vuVector & | operator+= (const vuVector &v) |
| Adds a vector to this vector. | |
| vuVector & | operator-= (const vuVector &v) |
| Subtracts a vector from this vector. | |
| vuVector & | operator *= (const vuMatrix &m) |
| Multiplies the vector by a matrix. | |
| vuVector & | operator *= (double s) |
| Multiplies the vector by a scalar. | |
| bool | operator== (const vuVector &v) const |
| An equality operator, comparing only the x,y,z coordinates. | |
| bool | operator!= (const vuVector &v) const |
| An inequality operator, comparing only the x,y,z coordinates. | |
| int | getDominantAxis () const |
| Returns index of component with highest absolute. | |
Friends | |
| class | vuMatrix |
| double | dot (const vuVector &v1, const vuVector &v2) |
| Returns the dot product of two vectors. | |
| vuVector | cross (const vuVector &v1, const vuVector &v2) |
| const vuVector | operator * (double s, const vuVector &v) |
| Returns the product of a scalar with a vector. | |
| std::ostream & | operator<< (std::ostream &out, const vuVector &v) |
| writes the foure elements to a stream; separated by whitespaces | |
| std::istream & | operator>> (std::istream &in, vuVector &v) |
| reads a vector from a stream | |
The vuVector class is a 3D homogeneous vector that works in conjunction with the vuMatrix class (a 4x4 matrix). The elements of the vuVector are all single precision floating- point numbers.
|
|
Constructor initializing the vector from an array of doubles.
|
|
|
Returns the (LH) cross product of the vector with another vector. Left-handed means use left hand and the correspondence is this-thumb, v-pointing finger, result-middle finger |
|
|
Returns the data pointer. The data is stored as a four dimensional double array. The getData() function can both retrieve and modify; it is similar to the [] operator. To warrant the return of a const pointer (for use in other const member functions) explicitly cast the pointer returned to (const). |
|
|
Returns the entry-wise inverse of the vector. Entry wise meaning that each of the x, y, z coordinates is treated separately, leaving the fourth w coordinate untouched. |
|
|
Normalizes the vector to a length of 1. This makes a unit vector which points in the same direction as the instance. |
|
|
Normalizes the vector in homogenous space. Divides the whole vector by the 4th coordinate to make it 1. |
|
||||||||||||
|
Returns the (LH) cross product of two vectors. Left-handed means use left hand and the correspondence is v1-thumb, v2-pointing finger, result-middle finger |
1.4.4