3D vector class. More...
#include <Inventor/SbVec.h>
Public Member Functions | |
SbVec3f () | |
SbVec3f (const float v[3]) | |
SbVec3f (float x, float y, float z) | |
SbVec3f (SbPlane &p0, SbPlane &p1, SbPlane &p2) | |
SbVec3f | cross (const SbVec3f &v) const |
float | dot (const SbVec3f &v) const |
const float * | getValue () const |
void | getValue (float &x, float &y, float &z) const |
float | length () const |
float | lengthSquared () const |
float | normalize () |
void | negate () |
SbVec3f & | setValue (const float v[3]) |
SbVec3f & | setValue (float x, float y, float z) |
SbVec3f & | setValue (const SbVec3f &barycentic, const SbVec3f &v0, const SbVec3f &v1, const SbVec3f &v2) |
SbVec3f & | setValue (const SbVec3d &vec3d) |
SbVec3f & | operator*= (float d) |
SbVec3f & | operator/= (float d) |
SbVec3f & | operator+= (const SbVec3f &v) |
SbVec3f & | operator-= (const SbVec3f &v) |
SbVec3f | operator- () const |
SbVec3f | operator* (const SbVec3f &v) const |
SbVec3f & | operator*= (const SbVec3f &v) |
SbBool | equals (const SbVec3f &v, float tolerance) const |
SbVec3f | getClosestAxis () const |
template<typename T > | |
SbVec3f (const T &v) | |
Friends | |
SbVec3f | operator* (const SbVec3f &v, float d) |
SbVec3f | operator* (float d, const SbVec3f &v) |
SbVec3f | operator/ (const SbVec3f &v, float d) |
SbVec3f | operator+ (const SbVec3f &v1, const SbVec3f &v2) |
SbVec3f | operator- (const SbVec3f &v1, const SbVec3f &v2) |
int | operator== (const SbVec3f &v1, const SbVec3f &v2) |
int | operator!= (const SbVec3f &v1, const SbVec3f &v2) |
std::ostream & | operator<< (std::ostream &os, const SbVec3f &v) |
| |
float & | operator[] (int i) |
const float & | operator[] (int i) const |
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
SbVec3f::SbVec3f | ( | ) | [inline] |
Default constructor.
The vector is initialized with zeros.
SbVec3f::SbVec3f | ( | const float | v[3] | ) | [inline, explicit] |
Constructor given vector components.
SbVec3f::SbVec3f | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline] |
Constructor given vector components.
SbVec3f::SbVec3f | ( | const T & | v | ) | [inline, explicit] |
Constructor that converts an arbitrary SbVec3 to an SbVec3f.
Returns right-handed cross product of vector and another vector.
float SbVec3f::dot | ( | const SbVec3f & | v | ) | const [inline] |
Returns dot (inner) product of vector and another vector.
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.
void SbVec3f::getValue | ( | float & | x, | |
float & | y, | |||
float & | z | |||
) | const |
Returns vector components.
const float* SbVec3f::getValue | ( | ) | const [inline] |
Returns vector components.
float SbVec3f::length | ( | ) | const |
Returns geometric length of vector.
float SbVec3f::lengthSquared | ( | ) | const [inline] |
Returns square length of vector.
Faster than length().
void SbVec3f::negate | ( | ) |
Negates each component of vector in place.
float SbVec3f::normalize | ( | ) |
Changes vector to be unit length, returning the length before normalization.
Component-wise vector multiplication operator.
Component-wise vector multiplication operator.
SbVec3f& SbVec3f::operator*= | ( | float | d | ) |
Component-wise scalar multiplication operator.
Component-wise vector addition operator.
SbVec3f SbVec3f::operator- | ( | ) | const [inline] |
Nondestructive unary negation - returns a new vector.
SbVec3f& SbVec3f::operator/= | ( | float | d | ) |
Component-wise scalar division operator.
const float& SbVec3f::operator[] | ( | int | i | ) | const [inline] |
Accesses indexed component of vector.
float& SbVec3f::operator[] | ( | int | i | ) | [inline] |
Accesses indexed component of vector.
Sets value of vector from a double precision vector.
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.
SbVec3f& SbVec3f::setValue | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline] |
Sets the vector components.
SbVec3f& SbVec3f::setValue | ( | const float | v[3] | ) | [inline] |
Sets the vector components.
Component-wise binary scalar multiplication operator.
Component-wise binary scalar multiplication operator.
Component-wise binary vector addition operator.
Component-wise binary vector subtraction operator.
Component-wise binary scalar division operator.
std::ostream& operator<< | ( | std::ostream & | os, | |
const SbVec3f & | v | |||
) | [friend] |
Writes the vector to the specified output stream.