openvrml::vrml97_node::viewpoint_node Class Reference

Inheritance diagram for openvrml::vrml97_node::viewpoint_node:
[legend]

List of all members.


Detailed Description

Viewpoint node instance.

Public Member Functions

 viewpoint_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
 Construct.
virtual ~viewpoint_node () throw ()
 Destroy.
virtual const mat4ftransformation () const throw ()
 Get the transformation of the viewpoint_node in the global coordinate system.
virtual const mat4fuser_view_transform () const throw ()
 Get the transformation of the user view relative to the viewpoint_node.
virtual void user_view_transform (const mat4f &transform) throw ()
 Set the transformation of the user view relative to the viewpoint_node.
virtual const std::string & description () const throw ()
 description accessor.
virtual float field_of_view () const throw ()
 Get the field of view.
const sfrotationorientation () const
 orientation accessor.
const sfvec3fposition () const
 position accessor.

Private Member Functions

virtual void do_initialize (double timestamp) throw ()
 Initialize.
virtual void do_relocate () throw (std::bad_alloc)
 Relocate.
virtual void do_shutdown (double timestamp) throw ()
 Shut down.
void update_final_transformation () const throw ()
 Update final_transformation.

Private Attributes

set_bind_listener set_bind_listener_
 set_bind eventIn handler.
exposedfield< sffloatfield_of_view_
 fieldOfView exposedField.
exposedfield< sfbooljump_
 jump exposedField.
orientation_exposedfield orientation_
 orientation exposedField.
position_exposedfield position_
 position exposedField.
sfstring description_
 description field.
sfbool is_bound_
 isBound eventOut value.
sfbool_emitter is_bound_emitter_
 isBound eventOut emitter.
sftime bind_time_
 bindTime eventOut value.
sftime_emitter bind_time_emitter_
 bindTime eventOut emitter.
mat4f parent_transform
 The accumulated transformation applied by any parent nodes.
mat4f final_transformation
 The product of parent_transform and any transformation applied by the Viewpoint node.
bool final_transformation_dirty
 Flag that indicates if final_transformation needs to be updated.
mat4f user_view_transform_
 The transformation applied to the user view.

Friends

class viewpoint_class
 Class object for Viewpoint nodes.

Classes

class  orientation_exposedfield
 orientation exposedField implementation. More...
class  position_exposedfield
 position exposedField implementation. More...
class  set_bind_listener
 set_bind eventIn listener. More...

Constructor & Destructor Documentation

openvrml::vrml97_node::viewpoint_node::viewpoint_node ( const node_type type,
const boost::shared_ptr< openvrml::scope > &  scope 
)

Construct.

Parameters:
type the node_type associated with the instance.
scope the scope that the new node will belong to.

Reimplemented from openvrml::viewpoint_node.

openvrml::vrml97_node::viewpoint_node::~viewpoint_node (  )  throw () [virtual]

Destroy.

Implements openvrml::viewpoint_node.


Member Function Documentation

const mat4f & openvrml::vrml97_node::viewpoint_node::transformation (  )  const throw () [virtual]

Get the transformation of the viewpoint_node in the global coordinate system.

Returns:
the transformation of the viewpoint_node in the global coordinate system.

Implements openvrml::viewpoint_node.

const mat4f & openvrml::vrml97_node::viewpoint_node::user_view_transform (  )  const throw () [virtual]

Get the transformation of the user view relative to the viewpoint_node.

Returns:
the transformation of the user view relative to the viewpoint_node.

Implements openvrml::viewpoint_node.

void openvrml::vrml97_node::viewpoint_node::user_view_transform ( const mat4f transform  )  throw () [virtual]

Set the transformation of the user view relative to the viewpoint_node.

Parameters:
transform the new transformation.

Implements openvrml::viewpoint_node.

const std::string & openvrml::vrml97_node::viewpoint_node::description (  )  const throw () [virtual]

description accessor.

Returns:
the description.

Implements openvrml::viewpoint_node.

float openvrml::vrml97_node::viewpoint_node::field_of_view (  )  const throw () [virtual]

Get the field of view.

Returns:
the field of view in radians.

Implements openvrml::viewpoint_node.

const sfrotation & openvrml::vrml97_node::viewpoint_node::orientation (  )  const

orientation accessor.

Returns:
the orientation.

const sfvec3f & openvrml::vrml97_node::viewpoint_node::position (  )  const

position accessor.

Returns:
the position.

void openvrml::vrml97_node::viewpoint_node::do_initialize ( double  timestamp  )  throw () [private, virtual]

Initialize.

Parameters:
timestamp the current time.

Reimplemented from openvrml::node.

void openvrml::vrml97_node::viewpoint_node::do_relocate (  )  throw (std::bad_alloc) [private, virtual]

Relocate.

Exceptions:
std::bad_alloc if memory allocation fails.

Reimplemented from openvrml::child_node.

void openvrml::vrml97_node::viewpoint_node::do_shutdown ( double  timestamp  )  throw () [private, virtual]

Shut down.

Parameters:
timestamp the current time.

Reimplemented from openvrml::node.

void openvrml::vrml97_node::viewpoint_node::update_final_transformation (  )  const throw () [private]

Update final_transformation.

If final_transformation_dirty is true, update final_transformation and sets final_transformation_dirty to false; otherwise, do nothing.


Friends And Related Function Documentation

class openvrml::vrml97_node::viewpoint_node::viewpoint_class [friend]

Class object for Viewpoint nodes.


Member Data Documentation

set_bind eventIn handler.

fieldOfView exposedField.

jump exposedField.

orientation exposedField.

position exposedField.

description field.

isBound eventOut value.

isBound eventOut emitter.

bindTime eventOut value.

bindTime eventOut emitter.

The accumulated transformation applied by any parent nodes.

The product of parent_transform and any transformation applied by the Viewpoint node.

Flag that indicates if final_transformation needs to be updated.

The transformation applied to the user view.

Generally the result of any user navigation.