Home | Download | Screen shots | Discussion | Documentation
--- | --- | --- | --- | ---

# openvrml::viewpoint_node Class Reference

Abstract base class for viewpoint nodes. More...

`#include <openvrml/node.h>`

Inheritance diagram for openvrml::viewpoint_node:
[legend]

List of all members.

## Public Member Functions

virtual | ~viewpoint_node ()=0 throw ()
| Destructor.
const mat4f & | transformation () const throw ()
| Get the transformation of the `viewpoint_node` in the global coordinate system.
const mat4f & | user_view_transform () const throw ()
| Get the transformation of the user view relative to the `viewpoint_node`.
void | user_view_transform (const mat4f &transform) throw ()
| Set the transformation of the user view relative to the `viewpoint_node`.
const std::string & | description () const throw ()
| Get the description.
float | field_of_view () const throw ()
| Get the field of view.

## Protected Member Functions

| viewpoint_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) throw ()
| Constructor.

## Private Member Functions

virtual viewpoint_node * | to_viewpoint () throw ()
| Cast to a `viewpoint_node`.
virtual const mat4f & | do_transformation () const =0 throw ()
| Get the transformation of the `viewpoint_node` in the global coordinate system.
virtual const mat4f & | do_user_view_transform () const =0 throw ()
| Get the transformation of the user view relative to the `viewpoint_node`.
virtual void | do_user_view_transform (const mat4f &transform)=0 throw ()
| Set the transformation of the user view relative to the `viewpoint_node`.
virtual const std::string & | do_description () const =0 throw ()
| Get the description.
virtual float | do_field_of_view () const =0 throw ()
| Get the field of view.

## Detailed Description

Abstract base class for viewpoint nodes.

## Constructor & Destructor Documentation

openvrml::viewpoint_node::~viewpoint_node | ( |  | ) | throw ()`[pure virtual]`

Destructor.

openvrml::viewpoint_node::viewpoint_node | ( | const node_type & | type,
|  | const boost::shared_ptr< openvrml::scope > & | scope |
| ) |  |  | throw ()`[protected]`

Constructor.

Parameters:

  `[in]` | type | the `node_type` associated with the `node`.
  `[in]` | scope | the `scope` the `node` belongs to.

## Member Function Documentation

const openvrml::mat4f & openvrml::viewpoint_node::transformation | ( |  | ) | const throw ()

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

This function delegates to `do_transformation`.

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

const openvrml::mat4f & openvrml::viewpoint_node::user_view_transform | ( |  | ) | const throw ()

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

This function delegates to `do_user_view_transform()`.

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

void openvrml::viewpoint_node::user_view_transform | ( | const mat4f & | transform | ) | throw ()

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

This function delegates to `do_user_view_transform(const mat4f &)`.

Parameters:

  `[in]` | transform | the new transformation.

const std::string & openvrml::viewpoint_node::description | ( |  | ) | const throw ()

Get the description.

This function delegates to `do_description`.

Returns:
  the description.

float openvrml::viewpoint_node::field_of_view | ( |  | ) | const throw ()

Get the field of view.

This function delegates to `do_field_of_view`.

Returns:
  the field of view in radians.

openvrml::viewpoint_node * openvrml::viewpoint_node::to_viewpoint | ( |  | ) | throw ()`[private, virtual]`

Cast to a `viewpoint_node`.

Returns:
  a pointer to this `viewpoint_node`.

Reimplemented from openvrml::node.

const openvrml::mat4f & openvrml::viewpoint_node::do_transformation | ( |  | ) | const throw ()`[private, pure 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.

const openvrml::mat4f & openvrml::viewpoint_node::do_user_view_transform | ( |  | ) | const throw ()`[private, pure 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`.

void openvrml::viewpoint_node::do_user_view_transform | ( | const mat4f & | transform | ) | throw ()`[private, pure virtual]`

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

Parameters:

  `[in]` | transform | the new transformation.

const std::string & openvrml::viewpoint_node::do_description | ( |  | ) | const throw ()`[private, pure virtual]`

Get the description.

Returns:
  the description.

float openvrml::viewpoint_node::do_field_of_view | ( |  | ) | const throw ()`[private, pure virtual]`

Get the field of view.

Returns:
  the field of view in radians.