3D vector class. More...
#include <Inventor/SbVec.h>
Public Member Functions | |
SbVec3f () | |
Default constructor. | |
SbVec3f (const float v[3]) | |
Constructor given vector components. | |
SbVec3f (float x, float y, float z) | |
Constructor given vector components. | |
SbVec3f (SbPlane &p0, SbPlane &p1, SbPlane &p2) | |
Constructor given 3 planes. | |
SbVec3f | cross (const SbVec3f &v) const |
Returns right-handed cross product of vector and another vector. | |
float | dot (const SbVec3f &v) const |
Returns dot (inner) product of vector and another vector. | |
const float * | getValue () const |
Returns vector components. | |
void | getValue (float &x, float &y, float &z) const |
Returns vector components. | |
float | length () const |
Returns geometric length of vector. | |
float | lengthSquared () const |
Returns square length of vector. | |
float | normalize () |
Changes vector to be unit length, returning the length before normalization. | |
void | negate () |
Negates each component of vector in place. | |
SbVec3f & | setValue (const float v[3]) |
Sets the vector components. | |
SbVec3f & | setValue (float x, float y, float z) |
Sets the vector components. | |
SbVec3f & | setValue (const SbVec3f &barycentic, const SbVec3f &v0, const SbVec3f &v1, const SbVec3f &v2) |
Sets value of vector as the weighted average of 3 other vectors. | |
SbVec3f & | setValue (const SbVec3d &vec3d) |
Sets value of vector from a double precision vector. | |
float & | operator[] (int i) |
Accesses indexed component of vector. | |
const float & | operator[] (int i) const |
SbVec3f & | operator*= (float d) |
Component-wise scalar multiplication operator. | |
SbVec3f & | operator/= (float d) |
Component-wise scalar division operator. | |
SbVec3f & | operator+= (const SbVec3f &v) |
Component-wise vector addition operator. | |
SbVec3f & | operator-= (const SbVec3f &v) |
Component-wise vector subtraction operator. | |
SbVec3f | operator- () const |
Nondestructive unary negation - returns a new vector. | |
SbVec3f | operator* (const SbVec3f &v) const |
Component-wise vector multiplication operator. | |
SbVec3f & | operator*= (const SbVec3f &v) |
Component-wise vector multiplication operator. | |
SbBool | equals (const SbVec3f &v, float tolerance) const |
Equality comparison within given tolerance - the square of the length of the maximum distance between the two vectors. | |
SbVec3f | getClosestAxis () const |
Returns principal axis that is closest (based on maximum dot product) to this vector. | |
template<typename T > | |
SbVec3f (const T &v) | |
Constructor that converts an arbitrary SbVec3 to an SbVec3f. | |
Friends | |
SbVec3f | operator* (const SbVec3f &v, float d) |
Component-wise binary scalar multiplication operator. | |
SbVec3f | operator* (float d, const SbVec3f &v) |
Component-wise binary scalar multiplication operator. | |
SbVec3f | operator/ (const SbVec3f &v, float d) |
Component-wise binary scalar division operator. | |
SbVec3f | operator+ (const SbVec3f &v1, const SbVec3f &v2) |
Component-wise binary vector addition operator. | |
SbVec3f | operator- (const SbVec3f &v1, const SbVec3f &v2) |
Component-wise binary vector subtraction operator. | |
int | operator== (const SbVec3f &v1, const SbVec3f &v2) |
Equality comparison operator. | |
int | operator!= (const SbVec3f &v1, const SbVec3f &v2) |
Inequality comparison operator. | |
std::ostream & | operator<< (std::ostream &os, const SbVec3f &v) |
Writes the vector to the specified output stream. | |
3D vector class.
3D vector class used to store 3D vectors and points. This class is used throughout Open Inventor for arguments and return values.
Notes:
SbRotation, SbRotationd, SbVec2d, SbVec2f, SbVec2i32, SbVec2s, SbVec3d, SbVec3i32, SbVec3s, SbVec4b, SbVec4d, SbVec4f, SbVec4i32, SbVec4s, SbVec4ub, SbVec4ui32, SbVec4us
|
inline |
|
inlineexplicit |
|
inline |
|
inlineexplicit |
|
inline |
Equality comparison within given tolerance - the square of the length of the maximum distance between the two vectors.
SbVec3f SbVec3f::getClosestAxis | ( | ) | const |
Returns principal axis that is closest (based on maximum dot product) to this vector.
|
inline |
void SbVec3f::getValue | ( | float & | x, |
float & | y, | ||
float & | z | ||
) | const |
Returns vector components.
float SbVec3f::length | ( | ) | const |
Returns geometric length of vector.
|
inline |
void SbVec3f::negate | ( | ) |
Negates each component of vector in place.
float SbVec3f::normalize | ( | ) |
Changes vector to be unit length, returning the length before normalization.
SbVec3f & SbVec3f::operator*= | ( | float | d | ) |
Component-wise scalar multiplication operator.
|
inline |
SbVec3f & SbVec3f::operator/= | ( | float | d | ) |
Component-wise scalar division operator.
|
inline |
|
inline |
SbVec3f & SbVec3f::setValue | ( | const SbVec3f & | barycentic, |
const SbVec3f & | v0, | ||
const SbVec3f & | v1, | ||
const SbVec3f & | v2 | ||
) |
Sets value of vector as the weighted average of 3 other vectors.
|
inline |
|
friend |