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_mapoperator= (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

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

Object mutex.

Map.