Three-dimensional vector class. More...
#include <vector3.h>
Public Member Functions | |
| Vector3 () | |
| Default constructor. Creates a null vector [0.0, 0.0, 0.0]. | |
| Vector3 (const Scalar &x, const Scalar &y, const Scalar &z) | |
| Constructor for three input values. | |
| Vector3 (const Scalar *v) | |
| Constructor for pointer input. | |
| Scalar & | operator[] (size_t n) |
| Unchecked element access. | |
| const Scalar & | operator[] (size_t n) const |
| Unchecked element access. | |
| Vector3 & | operator+= (const Vector3 &v) |
| Vector3 & | operator-= (const Vector3 &v) |
| Vector3 & | operator*= (const Scalar &s) |
| Scalar-vector product. | |
| Vector3 & | operator*= (const Vector3 &v) |
| Memberwise product. | |
| Vector3 & | operator/= (const Scalar &s) |
| Scalar-vector division. | |
| Vector3 & | operator/= (const Vector3 &v) |
| Memberwise division. | |
| bool | operator== (const Vector3 &v) const |
| bool | operator!= (const Vector3 &v) const |
| Scalar | sum () const |
| Vector element sum. | |
| Scalar | dot (const Vector3 &v) const |
| Dot product. | |
| Vector3 | cross (const Vector3 &v) const |
| Cross product. | |
| Scalar | length2 () const |
| Squared vector length. | |
| Scalar | length () const |
| Vector length. | |
| Vector3 & | normalize () |
| Normalize vector to unit length. | |
| Scalar | distance2 (const Vector3 &v) const |
| Squared distance between vectors. | |
| Scalar | distance (const Vector3 &v) const |
| Distance between vectors. | |
| Scalar | angleCos (const Vector3 &v) const |
| Cosine of the angle between vectors. | |
| Scalar | angleSin (const Vector3 &v) const |
| Sine of the angle between vectors. | |
| Scalar | angle (const Vector3 &v) const |
| Angle between vectors in the range [0, pi] expressed in radians. | |
| size_t | minAxis () const |
| Index of element with minimum value. | |
| size_t | maxAxis () const |
| Index of element with maximum value. | |
| size_t | furthestAxis () const |
| Index of furthest axis. | |
| size_t | closestAxis () const |
| Index of closest axis. | |
| Scalar | min () const |
| Minimum value. | |
| Scalar | max () const |
| Maximum value. | |
| Scalar & | at (size_t n) |
| Checked element access. | |
| const Scalar & | at (size_t n) const |
| Checked element access. | |
| void | setValue (const Scalar &x, const Scalar &y, const Scalar &z) |
| Sets vector values from three input values. | |
| void | setValue (const Scalar *v) |
| Sets vector values from pointer input. | |
Friends | |
| class | Quaternion |
Three-dimensional vector class.
The Vector3 class provides the usual operators and functions used in vector algebra and manipulation. The type of a vector element is Scalar, so in order to use the class, the type name must exist either as a class or a typedef.
This is an example of how to use the Vector3 class:
|
inline |
Equality operator. The comparison criterion is that both the distance and angle between the two vectors must be equal to zero.
1.8.1.2