Home | Download | Screen shots | Discussion | Documentation |
---|
Public Types | |
typedef std::map< std::string, field_value_ptr > | field_value_map_t |
A std::map that keys field values on their field name. | |
typedef boost::shared_ptr< eventout > | eventout_ptr |
Reference-counted smart pointer to an eventout. | |
typedef std::map< std::string, eventout_ptr > | eventout_map_t |
Map of eventout instances. | |
Public Member Functions | |
script_node (script_node_class &class_, const boost::shared_ptr< openvrml::scope > &scope, const node_interface_set &interfaces, const initial_value_map &initial_values) throw (unsupported_interface, std::bad_cast, std::bad_alloc, std::invalid_argument) | |
Construct. | |
virtual | ~script_node () throw () |
Destroy. | |
void | update (double current_time) |
Update the script_node for the current time. | |
const field_value_map_t & | field_value_map () const throw () |
field value map. | |
const eventout_map_t & | eventout_map () const throw () |
eventOut map. | |
Private Types | |
typedef script_event_listener< sfbool > | sfbool_listener |
sfbool event listener. | |
typedef script_event_listener< sfcolor > | sfcolor_listener |
sfcolor event listener. | |
typedef script_event_listener< sffloat > | sffloat_listener |
sffloat event listener. | |
typedef script_event_listener< sfimage > | sfimage_listener |
sfimage event listener. | |
typedef script_event_listener< sfint32 > | sfint32_listener |
sfint32 event listener. | |
typedef script_event_listener< sfnode > | sfnode_listener |
sfnode event listener. | |
typedef script_event_listener< sfrotation > | sfrotation_listener |
sfrotation event listener. | |
typedef script_event_listener< sfstring > | sfstring_listener |
sfstring event listener. | |
typedef script_event_listener< sftime > | sftime_listener |
sftime event listener. | |
typedef script_event_listener< sfvec2f > | sfvec2f_listener |
sfvec2f event listener. | |
typedef script_event_listener< sfvec3f > | sfvec3f_listener |
sfvec3f event listener. | |
typedef script_event_listener< mfcolor > | mfcolor_listener |
mfcolor event listener. | |
typedef script_event_listener< mffloat > | mffloat_listener |
mffloat event listener. | |
typedef script_event_listener< mfint32 > | mfint32_listener |
mfint32 event listener. | |
typedef script_event_listener< mfnode > | mfnode_listener |
mfnode event listener. | |
typedef script_event_listener< mfrotation > | mfrotation_listener |
mfrotation event listener. | |
typedef script_event_listener< mfstring > | mfstring_listener |
mfstring event listener. | |
typedef script_event_listener< mftime > | mftime_listener |
mftime event listener. | |
typedef script_event_listener< mfvec2f > | mfvec2f_listener |
mfvec2f event listener. | |
typedef script_event_listener< mfvec3f > | mfvec3f_listener |
mfvec3f event listener. | |
typedef boost::shared_ptr< openvrml::event_listener > | event_listener_ptr |
Reference-counted smart pointer to an event_listener. | |
typedef std::map< std::string, event_listener_ptr > | event_listener_map_t |
Map of event listeners. | |
Private Member Functions | |
script * | create_script () |
Create a script object. | |
void | assign_with_self_ref_check (const sfnode &, sfnode &) const throw () |
Special assignment function to take into account the fact that Script nodes can be self referential. | |
void | assign_with_self_ref_check (const mfnode &, mfnode &) const throw () |
Special assignment function to take into account the fact that Script nodes can be self referential. | |
virtual script_node * | to_script () throw () |
Return a pointer to this script_node. | |
virtual void | do_initialize (double timestamp) throw (std::bad_alloc) |
Initialize. | |
virtual const field_value & | do_field (const std::string &id) const throw (unsupported_interface) |
Get the value of a field. | |
virtual openvrml::event_listener & | do_event_listener (const std::string &id) throw (unsupported_interface) |
Get an event listener. | |
virtual openvrml::event_emitter & | do_event_emitter (const std::string &id) throw (unsupported_interface) |
Get an event emitter. | |
virtual void | do_shutdown (double timestamp) throw () |
Called by node::shutdown. | |
virtual void | do_render_child (viewer &v, rendering_context context) |
render_child implementation. | |
Static Private Member Functions | |
static const boost::shared_ptr< openvrml::event_listener > | create_listener (field_value::type_id type, const std::string &id, script_node &node) throw (std::bad_alloc) |
Create a Script node event listener. | |
Private Attributes | |
script_node_type | type |
Type object for the script_node instance. | |
sfbool | direct_output |
directOutput field. | |
sfbool | must_evaluate |
mustEvaluate field. | |
set_url_listener_t | set_url_listener |
set_url eventIn handler. | |
mfstring | url_ |
url exposedField. | |
mfstring_emitter | url_changed_emitter |
url_changed eventOut emitter. | |
field_value_map_t | field_value_map_ |
Maps user-defined field names to their values. | |
event_listener_map_t | event_listener_map |
Map of event listeners. | |
eventout_map_t | eventout_map_ |
Map of eventout instances. | |
script * | script_ |
A pointer to a script object. | |
int | events_received |
A count of the number of events received since script_node::update was called. | |
Friends | |
class | script |
Abstract base class for script runtimes. | |
Classes | |
class | eventout |
An event_emitter along with the emitted value. More... | |
class | script_event_listener |
Event listener. More... | |
class | script_node_type |
Type objects for script_nodes. More... | |
class | set_url_listener_t |
set_url event listener. More... |
|
A std::map that keys field values on their field name.
|
|
Reference-counted smart pointer to an eventout.
|
|
Map of eventout instances.
|
|
sfbool event listener.
For internal use only.
|
|
sfcolor event listener.
For internal use only.
|
|
sffloat event listener.
For internal use only.
|
|
sfimage event listener.
For internal use only.
|
|
sfint32 event listener.
For internal use only.
|
|
sfnode event listener.
For internal use only.
|
|
sfrotation event listener.
For internal use only.
|
|
sfstring event listener.
For internal use only.
|
|
sftime event listener.
For internal use only.
|
|
sfvec2f event listener.
For internal use only.
|
|
sfvec3f event listener.
For internal use only.
|
|
mfcolor event listener.
For internal use only.
|
|
mffloat event listener.
For internal use only.
|
|
mfint32 event listener.
For internal use only.
|
|
mfnode event listener.
For internal use only.
|
|
mfrotation event listener.
For internal use only.
|
|
mfstring event listener.
For internal use only.
|
|
mftime event listener.
For internal use only.
|
|
mfvec2f event listener.
For internal use only.
|
|
mfvec3f event listener.
For internal use only.
|
|
Reference-counted smart pointer to an event_listener.
For internal use only.
|
|
Map of event listeners.
For internal use only.
|
|
Construct.
Unlike other concrete node types, which are always instantiated via
|
|
Destroy.
|
|
Create a Script node event listener.
For internal use only.
|
|
Update the script_node for the current time.
|
|
field value map.
|
|
eventOut map.
|
|
Create a script object.
For internal use only.
|
|
Special assignment function to take into account the fact that Script nodes can be self referential.
For internal use only. "Undo" the refcounting appropriately: decrement the refcount on any self-references we acquire ownership of, and increment the refcount on any self-references for which ownership is relinquished.
|
|
Special assignment function to take into account the fact that Script nodes can be self referential.
For internal use only. "Undo" the refcounting appropriately: decrement the refcount on any self-references we acquire ownership of, and increment the refcount on any self-references for which ownership is relinquished.
|
|
Return a pointer to this script_node.
For internal use only.
Reimplemented from openvrml::node. |
|
Initialize.
Reimplemented from openvrml::node. |
|
Get the value of a field.
Implements openvrml::node. |
|
Get an event listener. This method is called by node::event_listener. Subclasses must implement this method.
Implements openvrml::node. |
|
Get an event emitter. This method is called by node::event_emitter.
Implements openvrml::node. |
|
Called by node::shutdown.
Reimplemented from openvrml::node. |
|
render_child implementation.
Reimplemented from openvrml::child_node. |
|
Abstract base class for script runtimes.
|
|
Type object for the script_node instance.
For internal use only. Script node node_types are significantly different from other node_types. While most node_types are shared by the node instances they spawn, the script_node_type is unique to a script_node instance, and it shares the script_node's lifetime. This reflects the fact that Script nodes in VRML get their functionality by the addition of fields, eventIns, and eventOuts on a per-instance basis. For script_node instances, node::node_type is an alias for the script_node_type object. |
|
directOutput field.
For internal use only.
|
|
mustEvaluate field.
For internal use only.
|
|
set_url eventIn handler.
For internal use only.
|
|
url exposedField.
For internal use only.
|
|
url_changed eventOut emitter.
For internal use only.
|
|
Maps user-defined field names to their values.
For internal use only.
|
|
Map of event listeners.
For internal use only.
|
|
Map of eventout instances.
For internal use only.
|
|
A pointer to a script object.
For internal use only.
|
|
A count of the number of events received since script_node::update was called.
For internal use only.
|