Home | Download | Screen shots | Discussion | Documentation |
---|
Public Member Functions | |
vec3f () throw () | |
Construct. | |
vec3f (const float(&vec)[3]) throw () | |
Construct from an array. | |
vec3f (float x, float y, float z) throw () | |
Construct from x , y , and z components. | |
vec3f & | operator *= (const vec3f &vec) throw () |
Cross multiply. | |
vec3f & | operator *= (const mat4f &mat) throw () |
Multiply by a matrix. | |
vec3f & | operator *= (float scalar) throw () |
Multiply by a scalar. | |
vec3f & | operator/= (float scalar) throw () |
Divide by a scalar. | |
vec3f & | operator+= (const vec3f &vec) throw () |
Add a vector. | |
vec3f & | operator-= (const vec3f &vec) throw () |
Subtract a vector. | |
const vec3f | operator- () const throw () |
Negate. | |
const float & | operator[] (size_t index) const throw () |
Index-based component access. | |
float | x () const throw () |
Get the x component. | |
float | y () const throw () |
Get the y component. | |
float | z () const throw () |
Get the z component. | |
void | x (float value) throw () |
Set the x component. | |
void | y (float value) throw () |
Set the y component. | |
void | z (float value) throw () |
Set the z component. | |
float | dot (const vec3f &vec) const throw () |
Dot product. | |
float | length () const throw () |
Geometric length. | |
const vec3f | normalize () const throw () |
Normalize. | |
Private Attributes | |
float | vec [3] |
Vector components. | |
Related Functions | |
(Note that these are not member functions.) | |
const vec3f | operator * (const vec3f &lhs, const vec3f &rhs) throw() |
Cross multiply two vectors. | |
const vec3f | operator * (const vec3f &vec, const mat4f &mat) throw() |
Multiply a vector by a matrix. | |
const vec3f | operator * (const mat4f &mat, const vec3f &vec) throw() |
Multiply a matrix by a vector. | |
const vec3f | operator * (const vec3f &lhs, const float rhs) throw() |
Multiply a vector by a scalar. | |
const vec3f | operator * (const float lhs, const vec3f &rhs) throw() |
Multiply a vector by a scalar. | |
const vec3f | operator/ (const vec3f &lhs, const float rhs) throw() |
Divide a vector by a scalar. | |
const vec3f | operator+ (const vec3f &lhs, const vec3f &rhs) throw() |
Add two vectors. | |
const vec3f | operator- (const vec3f &lhs, const vec3f &rhs) throw() |
Subtract two vectors. | |
bool | operator== (const vec3f &lhs, const vec3f &rhs) throw() |
Compare for equality. | |
bool | operator!= (const vec3f &lhs, const vec3f &rhs) throw() |
Compare for inequality. | |
std::ostream & | operator<< (std::ostream &out, const vec3f &v) |
Stream output. |
openvrml::vec3f::vec3f | ( | ) | throw () |
Construct.
openvrml::vec3f::vec3f | ( | const float & | vec[3] | ) | throw () [explicit] |
Construct from an array.
vec
are valid numeric values (i.e., not NaN).vec | an array comprising the vector components. |
openvrml::vec3f::vec3f | ( | float | x, | |
float | y, | |||
float | z | |||
) | throw () |
Construct from x
, y
, and z
components.
x
, y
, and z
are valid numeric values (i.e., not NaN).x | x component. | |
y | y component. | |
z | z component. |
Cross multiply.
vec | vector by which to multiply. |
Multiply by a matrix.
mat | matrix by which to multiply. |
vec3f & openvrml::vec3f::operator *= | ( | float | scalar | ) | throw () |
Multiply by a scalar.
scalar | factor by which to multiply. |
vec3f & openvrml::vec3f::operator/= | ( | float | scalar | ) | throw () |
Divide by a scalar.
scalar
is nonzero.scalar | divisor. |
Add a vector.
vec | the vector to add. |
Subtract a vector.
vec | the vector to subtract. |
const vec3f openvrml::vec3f::operator- | ( | ) | const throw () |
Negate.
const float & openvrml::vec3f::operator[] | ( | size_t | index | ) | const throw () [inline] |
Index-based component access.
index | 0 corresponds to the x component; 1 corresponds to the y component; 2 corresponds to the z component. |
index
.index
is less than 3. float openvrml::vec3f::x | ( | ) | const throw () [inline] |
Get the x component.
float openvrml::vec3f::y | ( | ) | const throw () [inline] |
Get the y component.
float openvrml::vec3f::z | ( | ) | const throw () [inline] |
Get the z component.
void openvrml::vec3f::x | ( | float | value | ) | throw () [inline] |
Set the x component.
value
is a valid numeric value (i.e., not NaN).value | new x component value. |
void openvrml::vec3f::y | ( | float | value | ) | throw () [inline] |
Set the y component.
value
is a valid numeric value (i.e., not NaN).value | new y component value. |
void openvrml::vec3f::z | ( | float | value | ) | throw () [inline] |
Set the z component.
value
is a valid numeric value (i.e., not NaN).value | new z component value. |
float openvrml::vec3f::dot | ( | const vec3f & | vec | ) | const throw () |
Dot product.
vec |
vec
. float openvrml::vec3f::length | ( | ) | const throw () |
Geometric length.
const vec3f openvrml::vec3f::normalize | ( | ) | const throw () |
Cross multiply two vectors.
lhs | left-hand operand. | |
rhs | right-hand operand. |
Multiply a vector by a matrix.
vec | a 3-component vector. | |
mat | a matrix. |
Multiply a matrix by a vector.
mat | a matrix. | |
vec | a 3-component vector. |
Multiply a vector by a scalar.
lhs | left-hand operand (the vector). | |
rhs | right-hand operand (the scalar). |
Multiply a vector by a scalar.
lhs | left-hand operand (the scalar). | |
rhs | right-hand operand (the vector). |
Divide a vector by a scalar.
rhs
is nonzero.lhs | left-hand operand (the vector). | |
rhs | right-hand operand (the scalar). |
Add two vectors.
lhs | left-hand operand. | |
rhs | right-hand operand. |
Subtract two vectors.
lhs | left-hand operand. | |
rhs | right-hand operand. |
Compare for equality.
lhs | left-hand operand. | |
rhs | right-hand operand. |
true
if lhs
and rhs
have the same value; false
otherwise. Compare for inequality.
lhs | left-hand operand. | |
rhs | right-hand operand. |
true
if lhs
and rhs
dot not have the same value; false
otherwise. std::ostream & operator<< | ( | std::ostream & | out, | |
const vec3f & | v | |||
) | [related] |
Stream output.
out | output stream. | |
v | a 3-component vector. |
out
.
float openvrml::vec3f::vec[3] [private] |
Vector components.
For internal use only.