Xj3D 2.0 VRML/X3D Code API

org.web3d.vrml.scripting
Interface ScriptWrapper

All Known Implementing Classes:
JavaSAIScriptWrapper, VRML97ScriptWrapper

public interface ScriptWrapper

A wrapper abstract interface used to convert between the Xj3D implementation specific details and the spec requirements for a script.

Version:
$Revision: 1.5 $
Author:
Justin Couch

Method Summary
 void eventsProcessed()
          Notification that the eventsProcessed() functionality should be called on the script code now.
 void initialize(VRMLScriptNodeType node)
          Initialise the underlying script, based on the surrounding node's details.
 boolean prepareEvents()
          Call the prepareEvents() method on the script, if it has one.
 void queueEvent(int type, java.lang.String name, boolean value)
          Queue a changed SFBool event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, boolean[] value, int numValid)
          Queue a changed MFBool event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, double value)
          Queue a changed SFTime or SFDouble event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, double[] value, int numValid)
          Queue a changed MFTime or MFDouble event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, float value)
          Queue a changed SFFloat event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, float[] value, int numValid)
          Queue a changed event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, int value)
          Queue a changed SFInt32 event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, int[] value, int numValid)
          Queue a changed MFInt32 event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, long value)
          Queue a changed SFLong event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, long[] value, int numValid)
          Queue a changed MFLong event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, java.lang.String value)
          Queue a changed SFString event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, java.lang.String[] value, int numValid)
          Queue a changed MFString event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, VRMLNodeType value)
          Queue a changed SFNode event value ready for processing by the script.
 void queueEvent(int type, java.lang.String name, VRMLNodeType[] value, int numValid)
          Queue a changed MFNode event value ready for processing by the script.
 boolean sendEvents()
          Send the events to the real script now.
 void setTimestamp(double time)
          Set the timestamp that we shall start the next queue with.
 void shutdown()
          Called when the Script node is deleted.
 void updateEventOuts()
          Process the eventOuts of the script now.
 

Method Detail

initialize

void initialize(VRMLScriptNodeType node)
Initialise the underlying script, based on the surrounding node's details.

Parameters:
node - The implementation node describing the script

setTimestamp

void setTimestamp(double time)
Set the timestamp that we shall start the next queue with.

Parameters:
time - The timestamp to use (in seconds)

prepareEvents

boolean prepareEvents()
Call the prepareEvents() method on the script, if it has one. If it does not, this becomes a no-op. Return true if something executed and therefore we need to check on further events being sent.

Returns:
true if something executed

queueEvent

void queueEvent(int type,
                java.lang.String name,
                int value)
Queue a changed SFInt32 event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                int[] value,
                int numValid)
Queue a changed MFInt32 event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

queueEvent

void queueEvent(int type,
                java.lang.String name,
                long value)
Queue a changed SFLong event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                long[] value,
                int numValid)
Queue a changed MFLong event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

queueEvent

void queueEvent(int type,
                java.lang.String name,
                boolean value)
Queue a changed SFBool event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                boolean[] value,
                int numValid)
Queue a changed MFBool event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

queueEvent

void queueEvent(int type,
                java.lang.String name,
                float value)
Queue a changed SFFloat event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                float[] value,
                int numValid)
Queue a changed event value ready for processing by the script. Used to set SFColor, SFRotation, SFVec2f, SFVec3f or MFFloat fields

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

queueEvent

void queueEvent(int type,
                java.lang.String name,
                double value)
Queue a changed SFTime or SFDouble event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                double[] value,
                int numValid)
Queue a changed MFTime or MFDouble event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

queueEvent

void queueEvent(int type,
                java.lang.String name,
                java.lang.String value)
Queue a changed SFString event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                java.lang.String[] value,
                int numValid)
Queue a changed MFString event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

queueEvent

void queueEvent(int type,
                java.lang.String name,
                VRMLNodeType value)
Queue a changed SFNode event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field

queueEvent

void queueEvent(int type,
                java.lang.String name,
                VRMLNodeType[] value,
                int numValid)
Queue a changed MFNode event value ready for processing by the script.

Parameters:
type - The type of field to process
name - The field name to process
value - The new value of the field
numValid - The number of valid values to copy from the array

sendEvents

boolean sendEvents()
Send the events to the real script now. The return value indicates if any eventOuts of the script have changed. It is assumed that in this period the directOutputs have changed (if the flag is set), but eventOuts are not processed.

Returns:
true One or more output events nee to be sent

updateEventOuts

void updateEventOuts()
Process the eventOuts of the script now. It should do that by calling setValue() on the script node instance passed in as part of the the initialize() method.


eventsProcessed

void eventsProcessed()
Notification that the eventsProcessed() functionality should be called on the script code now.


shutdown

void shutdown()
Called when the Script node is deleted. We free everything here to allow the GC to do its magic.


Xj3D 2.0 VRML/X3D Code API

Copyright © 2001 - 2006 Web3D Consortium