| Home | Download | Screen shots | Discussion | Documentation |
|---|
Collaboration diagram for openvrml::scope:

Public Member Functions | |
| scope (const std::string &id, const scope_ptr &parent=scope_ptr()) | |
| Construct. | |
| virtual | ~scope () |
| Destroy. | |
| bool | add_type (const node_type_ptr &type) throw (std::bad_alloc) |
| Add a node type. | |
| const node_type_ptr & | find_type (const std::string &id) const |
| Find a node type, given a type name. Returns 0 if type is not defined. | |
| const node_type_ptr & | first_type () const |
| The first type in the scope. | |
| node * | find_node (const std::string &id) const |
Find the node in the scope with node::id id. | |
Public Attributes | |
| const std::string | id |
| scope identifier. | |
| const scope_ptr | parent |
| The parent scope; null if the scope is a root scope. | |
Private Member Functions | |
| scope (const scope &) | |
| Not implemented. | |
| scope & | operator= (const scope &) |
| Not implemented. | |
Private Attributes | |
| std::list< node_type_ptr > | node_type_list |
| List of node_types in the scope. | |
| std::map< std::string, node * > | named_node_map |
| Map of the named nodes in the scope. | |
Friends | |
| class | node |
| node identifiers are stored in the scope, so node needs special privilege to access them. | |
PROTO definitions add node types to the namespace. PROTO implementations are a separate node type namespace, and require that any nested PROTOs NOT be available outside the PROTO implementation. PROTOs defined outside the current namespace are available.
|
||||||||||||
|
Construct.
id should be the URI of the world. For child scopes, id should be the name of the PROTO to which the scope corresponds. |
|
|
Not implemented. scopes are not copyable. |
|
|
Add a node type. Print an error message if the argument type is already defined.
|
|
|
Find the node in the scope with node::id
|
|
|
The first type in the scope.
|
|
|
Not implemented. scopes are not copyable. |