Home | Download | Screen shots | Discussion | Documentation |
---|
Per the VRML97 specification, the axis of an sfrotation is a normalized vector (5.8). The specification leaves undefined how to deal with an attempt to construct an sfrotation from an axis vector that is not normalized. In order to allow users of the library to minimize the number of normalizations, openvrml takes the following approach:
Public Types | |
typedef rotation | value_type |
Type of value. | |
Public Member Functions | |
sfrotation (const rotation &rot=rotation()) throw () | |
Construct. | |
virtual | ~sfrotation () throw () |
Destroy. | |
virtual std::auto_ptr < field_value > | clone () const throw (std::bad_alloc) |
Virtual copy constructor. | |
virtual field_value & | assign (const field_value &value) throw (std::bad_cast) |
Virtual assignment. | |
virtual type_id | type () const throw () |
Get the field_value::type_id associated with this class. | |
Public Attributes | |
rotation | value |
Rotation value. | |
Private Member Functions | |
virtual void | print (std::ostream &out) const |
Print to an output stream. | |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const sfrotation &lhs, const sfrotation &rhs) throw() |
Compare for equality. | |
bool | operator!= (const sfrotation &lhs, const sfrotation &rhs) throw() |
Compare for inequality. |
Type of value.
Construct.
rot | initial value. |
openvrml::sfrotation::~sfrotation | ( | ) | throw () [virtual] |
Destroy.
std::auto_ptr< field_value > openvrml::sfrotation::clone | ( | ) | const throw (std::bad_alloc) [virtual] |
Virtual copy constructor.
std::bad_alloc | if memory allocation fails. |
Implements openvrml::field_value.
field_value & openvrml::sfrotation::assign | ( | const field_value & | value | ) | throw (std::bad_cast) [virtual] |
Virtual assignment.
value | the new value to give the object. |
std::bad_cast | if value is not an sfrotation. |
Implements openvrml::field_value.
field_value::type_id openvrml::sfrotation::type | ( | ) | const throw () [virtual] |
Get the field_value::type_id associated with this class.
field_value::sfrotation
. Implements openvrml::field_value.
void openvrml::sfrotation::print | ( | std::ostream & | out | ) | const [private, virtual] |
bool operator== | ( | const sfrotation & | lhs, | |
const sfrotation & | rhs | |||
) | throw() [related] |
Compare for equality.
lhs | left-hand operand. | |
rhs | right-hand operand. |
true
if lhs
and rhs
have the same value; false
otherwise. bool operator!= | ( | const sfrotation & | lhs, | |
const sfrotation & | rhs | |||
) | throw() [related] |
Compare for inequality.
lhs | left-hand operand. | |
rhs | right-hand operand. |
true
if lhs
and rhs
do not have the same value; false
otherwise.
Rotation value.