OpenSceneGraph
3.5.1
|
General purpose double triple for use as vertices, vectors and normals. More...
Public Types | |
enum | { num_components = 3 } |
Number of vector components. More... | |
typedef double | value_type |
Data type of vector components. More... | |
Public Member Functions | |
Vec3d () | |
Constructor that sets all components of the vector to zero. More... | |
Vec3d (const Vec3f &vec) | |
operator Vec3f () const | |
Vec3d (value_type x, value_type y, value_type z) | |
Vec3d (const Vec2d &v2, value_type zz) | |
bool | operator== (const Vec3d &v) const |
bool | operator!= (const Vec3d &v) const |
bool | operator< (const Vec3d &v) const |
value_type * | ptr () |
const value_type * | ptr () const |
void | set (value_type x, value_type y, value_type z) |
void | set (const Vec3d &rhs) |
value_type & | operator[] (int i) |
value_type | operator[] (int i) const |
value_type & | x () |
value_type & | y () |
value_type & | z () |
value_type | x () const |
value_type | y () const |
value_type | z () const |
bool | valid () const |
Returns true if all components have values that are not NaN. More... | |
bool | isNaN () const |
Returns true if at least one component has value NaN. More... | |
value_type | operator* (const Vec3d &rhs) const |
Dot product. More... | |
const Vec3d | operator^ (const Vec3d &rhs) const |
Cross product. More... | |
const Vec3d | operator* (value_type rhs) const |
Multiply by scalar. More... | |
Vec3d & | operator*= (value_type rhs) |
Unary multiply by scalar. More... | |
const Vec3d | operator/ (value_type rhs) const |
Divide by scalar. More... | |
Vec3d & | operator/= (value_type rhs) |
Unary divide by scalar. More... | |
const Vec3d | operator+ (const Vec3d &rhs) const |
Binary vector add. More... | |
Vec3d & | operator+= (const Vec3d &rhs) |
Unary vector add. More... | |
const Vec3d | operator- (const Vec3d &rhs) const |
Binary vector subtract. More... | |
Vec3d & | operator-= (const Vec3d &rhs) |
Unary vector subtract. More... | |
const Vec3d | operator- () const |
Negation operator. More... | |
value_type | length () const |
Length of the vector = sqrt( vec . More... | |
value_type | length2 () const |
Length squared of the vector = vec . More... | |
value_type | normalize () |
Normalize the vector so that it has length unity. More... | |
Public Attributes | |
value_type | _v [3] |
General purpose double triple for use as vertices, vectors and normals.
Provides general math operations from addition through to cross products. No support yet added for double * Vec3d - is it necessary? Need to define a non-member non-friend operator* etc. Vec3d * double is okay
typedef double osg::Vec3d::value_type |
Data type of vector components.
|
inline |
Constructor that sets all components of the vector to zero.
|
inline |
|
inline |
|
inline |
|
inline |
Returns true if at least one component has value NaN.
|
inline |
Length of the vector = sqrt( vec .
vec )
|
inline |
Length squared of the vector = vec .
vec
|
inline |
Normalize the vector so that it has length unity.
Returns the previous length of the vector. If the vector is zero length, it is left unchanged and zero is returned.
|
inline |
|
inline |
|
inline |
Dot product.
|
inline |
Multiply by scalar.
|
inline |
Unary multiply by scalar.
Unary vector add.
Slightly more efficient because no temporary intermediate object.
|
inline |
Negation operator.
Returns the negative of the Vec3d.
|
inline |
Divide by scalar.
|
inline |
Unary divide by scalar.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns true if all components have values that are not NaN.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
value_type osg::Vec3d::_v[3] |
Generated at Wed Nov 11 2015 22:14:47 for the OpenSceneGraph by doxygen 1.8.10. |