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

- Main Page
- Namespaces
- Classes
- Files
- Related Pages
- Examples

- Class List
- Class Hierarchy
- Class Members

# openvrml::browser::node_metatype_map Class Reference

`#include <openvrml/browser.h>`

List of all members.

## Detailed Description

The map of `node_metatypes`.

For internal use only.

## Public Member Functions

| node_metatype_map ()
| Construct.
| ~node_metatype_map () throw ()
| Destroy.
node_metatype_map & | operator= (const node_metatype_map &ncm)
| Assign.
void | init (viewpoint_node *initial_viewpoint, double timestamp)
| Initialize the `node_metatypes`.
const boost::shared_ptr < openvrml::node_metatype > | insert (const std::string &id, const boost::shared_ptr< openvrml::node_metatype > &metatype)
| Insert a `node_metatype`.
bool | remove (const std::string &id)
| Remove a `node_metatype`.
const boost::shared_ptr < node_metatype > | find (const std::string &id) const
| Find a `node_metatype`.
const std::vector < node_metatype_id > | node_metatype_ids (const openvrml::node_metatype &metatype) const throw ( std::bad_alloc )
| The `node_metatype` identifiers associated with `node_metatype`.
void | render (viewer &v)
| Render the `node_metatypes`.
void | shutdown (double timestamp) throw ()
| Shut down the `node_metatypes`.

## Private Types

typedef std::map< std::string, boost::shared_ptr < node_metatype > > | map_t
| Map type.

## Private Member Functions

| node_metatype_map (const node_metatype_map &map)
| Not implemented.

## Private Attributes

read_write_mutex | mutex_
| Object mutex.
map_t | map_
| Map.

## Member Typedef Documentation

openvrml::browser::node_metatype_map::map_t `[private]`

Map type.

## Constructor & Destructor Documentation

openvrml::browser::node_metatype_map::node_metatype_map | ( |  | ) |

Construct.

openvrml::browser::node_metatype_map::~node_metatype_map | ( |  | ) | throw ()

Destroy.

openvrml::browser::node_metatype_map::node_metatype_map | ( | const node_metatype_map & | map | ) | `[private]`

Not implemented.

## Member Function Documentation

openvrml::browser::node_metatype_map & openvrml::browser::node_metatype_map::operator= | ( | const node_metatype_map & | ncm | ) |

Assign.

Parameters:

  `[in]` | ncm | the value to assign.

void openvrml::browser::node_metatype_map::init | ( | viewpoint_node * | initial_viewpoint,
|  | double | timestamp |
| ) |  |  |

Initialize the `node_metatypes`.

Parameters:

  `[in]` | initial_viewpoint | the `viewpoint_node` that should be initially active.
  `[in]` | timestamp | the current time.

const boost::shared_ptr< openvrml::node_metatype > openvrml::browser::node_metatype_map::insert | ( | const std::string & | id,
|  | const boost::shared_ptr< openvrml::node_metatype > & | node_metatype |
| ) |  |  |

Insert a `node_metatype`.

This operation will “fail” silently. That is, if a `node_metatype` corresponding to `id` already exists in the map, the existing element will simply be returned.

Parameters:

  `[in]` | id | the implementation identifier.
  `[in]` | node_metatype | a `node_metatype`.

Returns:
  the element in the node_metatype_map corresponding to `id`.

bool openvrml::browser::node_metatype_map::remove | ( | const std::string & | id | ) |

Remove a `node_metatype`.

Parameters:

  `[in]` | id | the implementation identifier.

Returns:
  `true` if a `node_metatype` is removed; `false` otherwise.

const boost::shared_ptr< openvrml::node_metatype > openvrml::browser::node_metatype_map::find | ( | const std::string & | id | ) | const

Find a `node_metatype`.

Parameters:

  `[in]` | id | an implementation identifier.

Returns:
  the `node_metatype` corresponding to `id`, or a null pointer if no such `node_metatype` exists in the map.

const std::vector< openvrml::node_metatype_id > openvrml::browser::node_metatype_map::node_metatype_ids | ( | const openvrml::node_metatype & | node_metatype | ) | const throw ( std::bad_alloc )

The `node_metatype` identifiers associated with `node_metatype`.

Parameters:

  `[in]` | node_metatype | a `node_metatype`.

Returns:
  the `node_metatype` identifiers associated with `node_metatype`.

void openvrml::browser::node_metatype_map::render | ( | openvrml::viewer & | v | ) |

Render the `node_metatypes`.

Parameters:

  `[in,out]` | v | a `viewer`.

void openvrml::browser::node_metatype_map::shutdown | ( | double | timestamp | ) | throw ()

Shut down the `node_metatypes`.

Parameters:

  `[in]` | timestamp | the current time.

## Member Data Documentation

openvrml::read_write_mutex openvrml::browser::node_metatype_map::mutex_ `[mutable, private]`

Object mutex.

openvrml::browser::node_metatype_map::map_t openvrml::browser::node_metatype_map::map_ `[private]`

Map.