Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

openvrml::sfrotation Class Reference
[Field Values]

A rotation node field value. More...

Inheritance diagram for openvrml::sfrotation:

Inheritance graph
[legend]
Collaboration diagram for openvrml::sfrotation:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 sfrotation (const rotation &rot=rotation()) throw ()
 Construct.

virtual ~sfrotation () throw ()
 Destroy.

virtual std::auto_ptr< field_valueclone () const throw (std::bad_alloc)
 Virtual copy constructor.

virtual field_valueassign (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.


Detailed Description

A rotation node field value.

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:


Constructor & Destructor Documentation

openvrml::sfrotation::sfrotation const rotation rot = rotation()  )  throw () [explicit]
 

Construct.

Parameters:
rot initial value.

Member Function Documentation

field_value & openvrml::sfrotation::assign const field_value value  )  throw (std::bad_cast) [virtual]
 

Virtual assignment.

Parameters:
value the new value to give the object.
Returns:
a reference to the object.
Exceptions:
std::bad_cast if value is not an sfrotation.

Implements openvrml::field_value.

std::auto_ptr< field_value > openvrml::sfrotation::clone  )  const throw (std::bad_alloc) [virtual]
 

Virtual copy constructor.

Returns:
a pointer to a copy of the object.
Exceptions:
std::bad_alloc if memory allocation fails.

Implements openvrml::field_value.

void openvrml::sfrotation::print std::ostream &  out  )  const [private, virtual]
 

Print to an output stream.

Parameters:
out an output stream.

Implements openvrml::field_value.

field_value::type_id openvrml::sfrotation::type  )  const throw () [virtual]
 

Get the field_value::type_id associated with this class.

Returns:
field_value::sfrotation.

Implements openvrml::field_value.


Friends And Related Function Documentation

bool operator!= const sfrotation lhs,
const sfrotation rhs
throw() [related]
 

Compare for inequality.

Parameters:
lhs left-hand operand.
rhs right-hand operand.
Returns:
true if lhs and rhs do not have the same value; false otherwise.

bool operator== const sfrotation lhs,
const sfrotation rhs
throw() [related]
 

Compare for equality.

Parameters:
lhs left-hand operand.
rhs right-hand operand.
Returns:
true if lhs and rhs have the same value; false otherwise.