Archon::X3D::Route Struct Reference

Inheritance diagram for Archon::X3D::Route:

Inheritance graph
[legend]
Collaboration diagram for Archon::X3D::Route:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void cascadeEvent (const Event *e) const
virtual Ref< NodeBasegetSourceNode () const
virtual const FieldBasegetSourceField () const
void refDispose (Mutex::Lock &l)
 ~Route ()

Static Public Member Functions

static void add (Ref< NodeBase > sourceNode, const FieldBase *sourceField, Ref< NodeBase > targetNode, const FieldBase *targetField) throw (AccessException, TypeException, ContextException)
static bool del (Ref< NodeBase > sourceNode, const FieldBase *sourceField, Ref< NodeBase > targetNode, const FieldBase *targetField) throw (ContextException)

Classes

struct  AccessException
 Thrown by 'add' if the source field is not an event source or if the target field is not an event target. More...
struct  ContextException
 Thrown by 'add' or 'del' if the source and target nodes do not belong to the same context. More...
struct  TypeException
 Thrown by 'add' if the types of the source and target fields do not conform. More...

Detailed Description

Definition at line 76 of file event.H.


Member Function Documentation

void Archon::X3D::Route::add Ref< NodeBase sourceNode,
const FieldBase sourceField,
Ref< NodeBase targetNode,
const FieldBase targetField
throw (AccessException, TypeException, ContextException) [static]
 

Todo:
The below injective node type restriction is not mentioned in the X3D specification and is probably violating it.

Todo:
Self reference is probably not redundant and thus should probably not be ignored.
In fact this is just a degenerate case of cyclic routing, which as far as I remember is allowed.

Definition at line 62 of file event.C.

References Archon::Utilities::Ref< T >::get(), and Archon::X3D::NodeFieldBase::getNodeType().

Referenced by Archon::X3D::Parser::addRoute(), and Archon::X3D::SAI::RouteChange::apply().


The documentation for this struct was generated from the following files:
Generated on Sun Jul 30 22:58:58 2006 for Archon by  doxygen 1.4.4