csDVector3 Class Reference
[Geometry utilities]
A 3D vector.  
More...
#include <csgeom/math3d_d.h>
| Public Member Functions | |
| void | Cross (const csDVector3 &px, const csDVector3 &py) | 
| Take cross product of two vectors and put result in this vector. | |
| csDVector3 (const csVector3 &) | |
| Conversion from single precision vector to double. | |
| csDVector3 (const csDVector3 &v) | |
| Copy Constructor. | |
| csDVector3 (double ix, double iy, double iz=0) | |
| Make a new vector and initialize with the given values. | |
| csDVector3 (double m) | |
| Make a new initialized vector. | |
| csDVector3 () | |
| Make a new vector. | |
| double | Norm () const | 
| Returns the norm of this vector. | |
| void | Normalize () | 
| Scale this vector to length = 1.0. | |
| csDVector3 & | operator *= (double f) | 
| Multiply this vector by a scalar. | |
| csDVector3 | operator+ () const | 
| Unary + operator. | |
| csDVector3 & | operator+= (const csDVector3 &v) | 
| Add another vector to this vector. | |
| csDVector3 | operator- () const | 
| Unary - operator. | |
| csDVector3 & | operator-= (const csDVector3 &v) | 
| Subtract another vector from this vector. | |
| csDVector3 & | operator/= (double f) | 
| Divide this vector by a scalar. | |
| double & | operator[] (int n) | 
| Returns n-th component of the vector. | |
| double | operator[] (int n) const | 
| Returns n-th component of the vector. | |
| void | Set (double sx, double sy, double sz) | 
| Set the value of this vector. | |
| double | SquaredNorm () const | 
| Returns the norm of this vector. | |
| csDVector3 | Unit () const | 
| Returns the unit vector in the direction of this vector. | |
| Static Public Member Functions | |
| static double | Norm (const csDVector3 &v) | 
| Returns the norm (magnitude) of a vector. | |
| static csDVector3 | Unit (const csDVector3 &v) | 
| Normalizes a vector to a unit vector. | |
| Public Attributes | |
| double | x | 
| The X component of the vector. | |
| double | y | 
| The Y component of the vector. | |
| double | z | 
| The Z component of the vector. | |
| Friends | |
| csDVector3 | operator * (double f, const csDVector3 &v) | 
| Multiply a vector and a scalar. | |
| csDVector3 | operator * (const csDVector3 &v, double f) | 
| Multiply a vector and a scalar. | |
| double | operator * (const csDVector3 &v1, const csDVector3 &v2) | 
| Take the dot product of two vectors. | |
| bool | operator!= (const csDVector3 &v1, const csDVector3 &v2) | 
| Check if two vectors are not equal. | |
| csDVector3 | operator% (const csDVector3 &v1, const csDVector3 &v2) | 
| Take the cross product of two vectors. | |
| csDVector3 | operator+ (const csDVector3 &v1, const csDVector3 &v2) | 
| Add two vectors. | |
| csDVector3 | operator- (const csDVector3 &v1, const csDVector3 &v2) | 
| Subtract two vectors. | |
| csDVector3 | operator/ (const csDVector3 &v, double f) | 
| Divide a vector by a scalar. | |
| bool | operator< (const csDVector3 &v, double f) | 
| Test if each component of a vector is less than a small epsilon value. | |
| csDVector3 | operator<< (const csDVector3 &v1, const csDVector3 &v2) | 
| Project one vector onto another. | |
| bool | operator== (const csDVector3 &v1, const csDVector3 &v2) | 
| Check if two vectors are equal. | |
| bool | operator> (double f, const csDVector3 &v) | 
| Test if each component of a vector is greater than a small epsilon value. | |
| csDVector3 | operator>> (const csDVector3 &v1, const csDVector3 &v2) | 
| Project one vector onto another. | |
Detailed Description
A 3D vector.
Definition at line 51 of file math3d_d.h.
Constructor & Destructor Documentation
| csDVector3::csDVector3 | ( | ) |  [inline] | 
Make a new vector.
The vector is not initialized. This makes the code slightly faster as csDVector3 objects are used a lot.
Definition at line 66 of file math3d_d.h.
| csDVector3::csDVector3 | ( | double | m | ) |  [inline] | 
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 csDVector3(0)
Definition at line 73 of file math3d_d.h.
| csDVector3::csDVector3 | ( | double | ix, | |
| double | iy, | |||
| double | iz = 0 | |||
| ) |  [inline] | 
| csDVector3::csDVector3 | ( | const csDVector3 & | v | ) |  [inline] | 
| csDVector3::csDVector3 | ( | const csVector3 & | ) | 
Conversion from single precision vector to double.
Member Function Documentation
| void csDVector3::Cross | ( | const csDVector3 & | px, | |
| const csDVector3 & | py | |||
| ) |  [inline] | 
Take cross product of two vectors and put result in this vector.
Definition at line 108 of file math3d_d.h.
| static double csDVector3::Norm | ( | const csDVector3 & | v | ) |  [inline, static] | 
Returns the norm (magnitude) of a vector.
Definition at line 210 of file math3d_d.h.
References Norm().
| double csDVector3::Norm | ( | ) | const | 
| void csDVector3::Normalize | ( | ) | 
Scale this vector to length = 1.0.
| csDVector3& csDVector3::operator *= | ( | double | f | ) |  [inline] | 
| csDVector3 csDVector3::operator+ | ( | ) | const  [inline] | 
| csDVector3& csDVector3::operator+= | ( | const csDVector3 & | v | ) |  [inline] | 
| csDVector3 csDVector3::operator- | ( | ) | const  [inline] | 
| csDVector3& csDVector3::operator-= | ( | const csDVector3 & | v | ) |  [inline] | 
| csDVector3& csDVector3::operator/= | ( | double | f | ) |  [inline] | 
| double& csDVector3::operator[] | ( | int | n | ) |  [inline] | 
| double csDVector3::operator[] | ( | int | n | ) | const  [inline] | 
| void csDVector3::Set | ( | double | sx, | |
| double | sy, | |||
| double | sz | |||
| ) |  [inline] | 
| double csDVector3::SquaredNorm | ( | ) | const | 
Returns the norm of this vector.
| static csDVector3 csDVector3::Unit | ( | const csDVector3 & | v | ) |  [inline, static] | 
| csDVector3 csDVector3::Unit | ( | ) | const  [inline] | 
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.
Definition at line 207 of file math3d_d.h.
Referenced by Unit().
Friends And Related Function Documentation
| csDVector3 operator * | ( | double | f, | |
| const csDVector3 & | v | |||
| ) |  [friend] | 
| csDVector3 operator * | ( | const csDVector3 & | v, | |
| double | f | |||
| ) |  [friend] | 
| double operator * | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| bool operator!= | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| csDVector3 operator% | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| csDVector3 operator+ | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| csDVector3 operator- | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| csDVector3 operator/ | ( | const csDVector3 & | v, | |
| double | f | |||
| ) |  [friend] | 
| bool operator< | ( | const csDVector3 & | v, | |
| double | f | |||
| ) |  [friend] | 
Test if each component of a vector is less than a small epsilon value.
Definition at line 146 of file math3d_d.h.
| csDVector3 operator<< | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| bool operator== | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
| bool operator> | ( | double | f, | |
| const csDVector3 & | v | |||
| ) |  [friend] | 
Test if each component of a vector is greater than a small epsilon value.
Definition at line 150 of file math3d_d.h.
| csDVector3 operator>> | ( | const csDVector3 & | v1, | |
| const csDVector3 & | v2 | |||
| ) |  [friend] | 
Member Data Documentation
| double csDVector3::x | 
The X component of the vector.
Definition at line 55 of file math3d_d.h.
Referenced by csDPlane::Classify(), Cross(), csDVector3(), operator+=(), operator-=(), csDSquaredDist::PointPoint(), csDMath3::SetMinMax(), and csDMath3::WhichSide3D().
| double csDVector3::y | 
The Y component of the vector.
Definition at line 57 of file math3d_d.h.
Referenced by csDPlane::Classify(), Cross(), csDVector3(), operator+=(), operator-=(), csDSquaredDist::PointPoint(), csDMath3::SetMinMax(), and csDMath3::WhichSide3D().
| double csDVector3::z | 
The Z component of the vector.
Definition at line 59 of file math3d_d.h.
Referenced by csDPlane::Classify(), Cross(), csDVector3(), operator+=(), operator-=(), csDSquaredDist::PointPoint(), csDMath3::SetMinMax(), and csDMath3::WhichSide3D().
The documentation for this class was generated from the following file:
- csgeom/math3d_d.h
Generated for Crystal Space by doxygen 1.4.7

