A stack of bindable nodes.
More...
#include <openvrml/node_impl_util.h>
Inherits std::stack< T >.
|
| bool | bind (BindableNode &node, double timestamp) throw ( std::bad_alloc ) |
| | Bind a node. More...
|
| |
| bool | unbind (BindableNode &node, double timestamp) throw ( std::bad_alloc ) |
| | Unbind a node. More...
|
| |
template<typename BindableNode>
class openvrml::node_impl_util::bound_node_stack< BindableNode >
A stack of bindable nodes.
The node at the top of the stack is considered the active node. Binding a node makes it the active node, moving it to the top of the stack if it already exists in the stack. Unbinding a node removes it from the stack, regardless of its position in the stack. See 4.6.10 of the VRML97 specification for further details of the semantics.
- Template Parameters
-
- See also
- http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97/part1/concepts.html#4.6.10
template<typename BindableNode >
Bind a node.
Call top()->bind(false). Push n onto the top of the stack, making it the active node. Call n.bind(true).
- Postcondition
top() == &n
- Template Parameters
-
- Parameters
-
| [in,out] | n | the node to bind. |
| [in] | timestamp | the current time. |
- Exceptions
-
| std::bad_alloc | if memory allocation fails. |
template<typename BindableNode >
Unbind a node.
Call n.bind(false). Remove n from the top of the stack. The next node on the stack becomes the active node. Call top()->bind(true).
- Postcondition
&n is not on the stack.
- Template Parameters
-
- Parameters
-
| [in,out] | n | the node to unbind. |
| [in] | timestamp | the current time. |
- Exceptions
-
| std::bad_alloc | if memory allocation fails. |