Public Types | |
enum | { num_components = 3 } |
Number of vector components. More... | |
typedef float | value_type |
Type of Vec class. | |
Public Member Functions | |
Vec3f () | |
Vec3f (value_type x, value_type y, value_type z) | |
Vec3f (const Vec2f &v2, value_type zz) | |
bool | operator== (const Vec3f &v) const |
bool | operator!= (const Vec3f &v) const |
bool | operator< (const Vec3f &v) const |
value_type * | ptr () |
const value_type * | ptr () const |
void | set (value_type x, value_type y, value_type z) |
void | set (const Vec3f &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 |
bool | isNaN () const |
value_type | operator * (const Vec3f &rhs) const |
Dot product. | |
const Vec3f | operator^ (const Vec3f &rhs) const |
Cross product. | |
const Vec3f | operator * (value_type rhs) const |
Multiply by scalar. | |
Vec3f & | operator *= (value_type rhs) |
Unary multiply by scalar. | |
const Vec3f | operator/ (value_type rhs) const |
Divide by scalar. | |
Vec3f & | operator/= (value_type rhs) |
Unary divide by scalar. | |
const Vec3f | operator+ (const Vec3f &rhs) const |
Binary vector add. | |
Vec3f & | operator+= (const Vec3f &rhs) |
Unary vector add. | |
const Vec3f | operator- (const Vec3f &rhs) const |
Binary vector subtract. | |
Vec3f & | operator-= (const Vec3f &rhs) |
Unary vector subtract. | |
const Vec3f | operator- () const |
Negation operator. | |
value_type | length () const |
Length of the vector = sqrt( vec . | |
value_type | length2 () const |
Length squared of the vector = vec . | |
value_type | normalize () |
Normalize the vector so that it has length unity. | |
Public Attributes | |
value_type | _v [3] |
Vec member varaible. |
Provides general math operations from addition through to cross products. No support yet added for float * Vec3f - is it necessary? Need to define a non-member non-friend operator* etc. Vec3f * float is okay
typedef float osg::Vec3f::value_type |
Type of Vec class.
osg::Vec3f::Vec3f | ( | ) | [inline] |
osg::Vec3f::Vec3f | ( | value_type | x, | |
value_type | y, | |||
value_type | z | |||
) | [inline] |
osg::Vec3f::Vec3f | ( | const Vec2f & | v2, | |
value_type | zz | |||
) | [inline] |
bool osg::Vec3f::operator== | ( | const Vec3f & | v | ) | const [inline] |
bool osg::Vec3f::operator!= | ( | const Vec3f & | v | ) | const [inline] |
bool osg::Vec3f::operator< | ( | const Vec3f & | v | ) | const [inline] |
value_type* osg::Vec3f::ptr | ( | ) | [inline] |
const value_type* osg::Vec3f::ptr | ( | ) | const [inline] |
void osg::Vec3f::set | ( | value_type | x, | |
value_type | y, | |||
value_type | z | |||
) | [inline] |
void osg::Vec3f::set | ( | const Vec3f & | rhs | ) | [inline] |
value_type& osg::Vec3f::operator[] | ( | int | i | ) | [inline] |
value_type osg::Vec3f::operator[] | ( | int | i | ) | const [inline] |
value_type& osg::Vec3f::x | ( | ) | [inline] |
value_type& osg::Vec3f::y | ( | ) | [inline] |
value_type& osg::Vec3f::z | ( | ) | [inline] |
value_type osg::Vec3f::x | ( | ) | const [inline] |
value_type osg::Vec3f::y | ( | ) | const [inline] |
value_type osg::Vec3f::z | ( | ) | const [inline] |
bool osg::Vec3f::valid | ( | ) | const [inline] |
bool osg::Vec3f::isNaN | ( | ) | const [inline] |
value_type osg::Vec3f::operator * | ( | const Vec3f & | rhs | ) | const [inline] |
Dot product.
const Vec3f osg::Vec3f::operator * | ( | value_type | rhs | ) | const [inline] |
Multiply by scalar.
Vec3f& osg::Vec3f::operator *= | ( | value_type | rhs | ) | [inline] |
Unary multiply by scalar.
const Vec3f osg::Vec3f::operator/ | ( | value_type | rhs | ) | const [inline] |
Divide by scalar.
Vec3f& osg::Vec3f::operator/= | ( | value_type | rhs | ) | [inline] |
Unary divide by scalar.
Unary vector add.
Slightly more efficient because no temporary intermediate object.
const Vec3f osg::Vec3f::operator- | ( | ) | const [inline] |
Negation operator.
Returns the negative of the Vec3f.
value_type osg::Vec3f::length | ( | ) | const [inline] |
Length of the vector = sqrt( vec .
vec )
value_type osg::Vec3f::length2 | ( | ) | const [inline] |
Length squared of the vector = vec .
vec
value_type osg::Vec3f::normalize | ( | ) | [inline] |
Normalize the vector so that it has length unity.
Returns the previous length of the vector.
Vec member varaible.