vs.Vscp(マルチユーザー共有動作API)
vrml package
public abstract class Field implements Cloneable
{
O public Object clone();
}
public abstract class ConstField extends Field
{
}
public abstract class ConstMField extends ConstField
{
O public abstract int getSize();
}
public abstract class MField extends Field
{
O public abstract int getSize();
X public abstract void clear();
X public abstract void delete(int index);
}
public class Event implements Cloneable {
O public String getName();
O public double getTimeStamp();
O public ConstField getValue();
O public Object clone();
}
public class Browser {
// Browser interface
O public String getName();
O public String getVersion();
X public float getCurrentSpeed();
X public float getCurrentFrameRate();
O public String getWorldURL();
X public void replaceWorld(BaseNode[] nodes);
O public BaseNode[] createVrmlFromString(String vrmlSyntax)
throws InvalidVRMLSyntaxException;
O public void createVrmlFromURL(String[] url, BaseNode node, String event)
O public void addRoute(BaseNode fromNode, String fromEventOut,
BaseNode toNode, String toEventIn);
O public void deleteRoute(BaseNode fromNode, String fromEventOut,
BaseNode toNode, String toEventIn);
O public void loadURL(String[] url, String[] parameter)
O public void setDescription(String description);
}
//
// BaseNodeクラス
//
public abstract class BaseNode
{
// ノードの種別を返す。ノードがプロトタイプであれば、プロトタイプ名が
// 返される。
O public String getType();
// ノードが含まれているBrowserのインスタンスを返す。
O public Browser getBrowser();
}
vrml.field package
public class ConstSFBool extends ConstField
{
O public boolean getValue();
}
public class ConstSFColor extends ConstField
{
O public void getValue(float color[]);
O public float getRed();
O public float getGreen();
O public float getBlue();
}
public class ConstSFFloat extends ConstField
{
O public float getValue();
}
Xpublic class ConstSFImage extends ConstField
{
X public int getWidth();
X public int getHeight();
X public int getComponents();
X public void getPixels(byte pixels[]);
}
public class ConstSFInt32 extends ConstField
{
O public int getValue();
}
public class ConstSFNode extends ConstField
{
/* ***********************************************************
* getValue()はBaseNodeクラスのサブクラスインスタンスを返す。
* 返されるクラスはブラウザの実装に異なる。
*********************************************************** */
O public BaseNode getValue();
}
public class ConstSFRotation extends ConstField
{
O public void getValue(float[] rotation);
}
public class ConstSFString extends ConstField
{
O public String getValue();
}
public class ConstSFTime extends ConstField
{
O public double getValue();
}
public class ConstSFVec2f extends ConstField
{
O public void getValue(float vec2[]);
O public float getX();
O public float getY();
}
public class ConstSFVec3f extends ConstField
{
O public void getValue(float vec3[]);
O public float getX();
O public float getY();
O public float getZ();
}
public class ConstMFColor extends ConstMField
{
O public void getValue(float colors[][]);
O public void getValue(float colors[]);
* public void get1Value(int index, float color[]);
* public void get1Value(int index, SFColor color);
}
public class ConstMFFloat extends ConstMField
{
O public void getValue(float values[]);
* public float get1Value(int index);
}
public class ConstMFInt32 extends ConstMField
{
O public void getValue(int values[]);
* public int get1Value(int index);
}
Xpublic class ConstMFNode extends ConstMField
{
/* ***********************************************************
* getValue()はBaseNodeクラスのサブクラスインスタンスを返す。
* 返されるクラスはブラウザの実装に異なる。
*********************************************************** */
O public void getValue(BaseNode values[]);
X public Node get1Value(int index);
}
public class ConstMFRotation extends ConstMField
{
O public void getValue(float rotations[][]);
O public void getValue(float rotations[]);
* public void get1Value(int index, float rotation[]);
* public void get1Value(int index, SFRotation rotation);
}
public class ConstMFString extends ConstMField
{
O public void getValue(String values[]);
* public String get1Value(int index);
}
public class ConstMFTime extends ConstMField
{
O public void getValue(double times[]);
* public double get1Value(int index);
}
public class ConstMFVec2f extends ConstMField
{
O public void getValue(float vecs[][]);
O public void getValue(float vecs[]);
* public void get1Value(int index, float vec[]);
* public void get1Value(int index, SFVec2f vec);
}
public class ConstMFVec3f extends ConstMField
{
O public void getValue(float vecs[][]);
O public void getValue(float vecs[]);
* public void get1Value(int index, float vec[]);
* public void get1Value(int index, SFVec3f vec);
}
public class SFBool extends Field
{
O public SFBool(boolean value);
O public boolean getValue();
O public void setValue(boolean b);
O public void setValue(ConstSFBool b);
O public void setValue(SFBool b);
}
public class SFColor extends Field
{
O public SFColor(float red, float green, float blue);
O public void getValue(float color[]);
O public float getRed();
O public float getGreen();
O public float getBlue();
O public void setValue(float color[]);
O public void setValue(float red, float green, float blue);
O public void setValue(ConstSFColor color);
O public void setValue(SFColor color);
}
public class SFFloat extends Field
{
O public SFFloat(float f);
O public float getValue();
O public void setValue(float f);
O public void setValue(ConstSFFloat f);
O public void setValue(SFFloat f);
}
Xpublic class SFImage extends Field
{
X public SFImage(int width, int height, int components, byte pixels[]);
X public int getWidth();
X public int getHeight();
X public int getComponents();
X public void getPixels(byte pixels[]);
X public void setValue(int width, int height, int components,
byte pixels[]);
X public void setValue(ConstSFImage image);
X public void setValue(SFImage image);
}
public class SFInt32 extends Field
{
O public SFInt32(int value);
O public int getValue();
O public void setValue(int i);
O public void setValue(ConstSFInt32 i);
O public void setValue(SFInt32 i);
}
public class SFNode extends Field
{
O public SFNode(BaseNode node);
/* ***********************************************************
* getValue()はBaseNodeクラスのサブクラスインスタンスを返す。
* 返されるクラスはブラウザの実装に異なる。
*********************************************************** */
O public Node getValue();
O public void setValue(BaseNode node);
O public void setValue(ConstSFNode node);
O public void setValue(SFNode node);
}
public class SFRotation extends Field
{
O public SFRotation(float axisX, float axisY, float axisZ, float rotation);
O public void getValue(float[] rotation);
O public void setValue(float[] rotation);
O public void setValue(float axisX, float axisY, float axisZ, float rotation);
O public void setValue(ConstSFRotation rotation);
O public void setValue(SFRotation rotation);
}
public class SFString extends Field
{
O public SFString(String s);
O public String getValue();
O public void setValue(String s);
O public void setValue(ConstSFString s);
O public void setValue(SFString s);
}
public class SFTime extends Field
{
O public SFTime(double time);
O public double getValue();
O public void setValue(double time);
O public void setValue(ConstSFTime time);
O public void setValue(SFTime time);
}
public class SFVec2f extends Field
{
O public SFVec2f(float x, float y);
O public void getValue(float vec[]);
O public float getX();
O public float getY();
O public void setValue(float vec[]);
O public void setValue(float x, float y);
O public void setValue(ConstSFVec2f vec);
O public void setValue(SFVec2f vec);
}
public class SFVec3f extends Field
{
O public SFVec3f(float x, float y, float z);
O public void getValue(float vec[]);
O public float getX();
O public float getY();
O public float getZ();
O public void setValue(float vec[]);
O public void setValue(float x, float y, float z);
O public void setValue(ConstSFVec3f vec);
O public void setValue(SFVec3f vec);
}
public class MFColor extends MField
{
O public MFColor(float value[][]);
O public MFColor(float value[]);
O public MFColor(int size, float value[]);
O public void getValue(float colors[][]);
O public void getValue(float colors[]);
O public void setValue(float colors[][]);
/****************************************************************
* color[0], color[1], color[2]がそれぞれ、先頭のred,green,
* blueに対応する。すなわち、colorの数は"size / 3"として扱われる。
************************************************************** */
O public void setValue(int size, float colors[]);
O public void setValue(ConstMFColor colors);
* public void get1Value(int index, float color[]);
* public void get1Value(int index, SFColor color);
* public void set1Value(int index, ConstSFColor color);
* public void set1Value(int index, SFColor color);
* public void set1Value(int index, float red, float green, float blue);
* public void addValue(ConstSFColor color);
* public void addValue(SFColor color);
* public void addValue(float red, float green, float blue);
* public void insertValue(int index, ConstSFColor color);
* public void insertValue(int index, SFColor color);
* public void insertValue(int index, float red, float green, float blue);
}
public class MFFloat extends MField
{
O public MFFloat(float values[]);
O public void getValue(float values[]);
O public void setValue(float values[]);
O public void setValue(int size, float values[]);
O public void setValue(ConstMFFloat value);
* public float get1Value(int index);
* public void set1Value(int index, float f);
* public void set1Value(int index, ConstSFFloat f);
* public void set1Value(int index, SFFloat f);
* public void addValue(float f);
* public void addValue(ConstSFFloat f);
* public void addValue(SFFloat f);
* public void insertValue(int index, float f);
* public void insertValue(int index, ConstSFFloat f);
* public void insertValue(int index, SFFloat f);
}
public class MFInt32 extends MField
{
O public MFInt32(int values[]);
O public void getValue(int values[]);
O public void setValue(int values[]);
O public void setValue(int size, int values[]);
O public void setValue(ConstMFInt32 value);
* public int get1Value(int index);
* public void set1Value(int index, int i);
* public void set1Value(int index, ConstSFInt32 i);
* public void set1Value(int index, SFInt32 i);
* public void addValue(int i);
* public void addValue(ConstSFInt32 i);
* public void addValue(SFInt32 i);
* public void insertValue(int index, int i);
* public void insertValue(int index, ConstSFInt32 i);
* public void insertValue(int index, SFInt32 i);
}
public class MFNode extends MField
{
O public MFNode(BaseNode node[]);
/* ***********************************************************
* getValue()はBaseNodeクラスのサブクラスインスタンスを返す。
* 返されるクラスはブラウザの実装に異なる。
*********************************************************** */
O public void getValue(BaseNode node[]);
O public void setValue(BaseNode node[]);
O public void setValue(int size, Node node[]);
O public void setValue(ConstMFNode node);
* public Node get1Value(int index);
* public void set1Value(int index, BaseNode node);
* public void set1Value(int index, ConstSFNode node);
* public void set1Value(int index, SFNode node);
* public void addValue(BaseNode node);
* public void addValue(ConstSFNode node);
* public void addValue(SFNode node);
* public void insertValue(int index, BaseNode node);
* public void insertValue(int index, ConstSFNode node);
* public void insertValue(int index, SFNode node);
}
public class MFRotation extends MField
{
O public MFRotation(float rotations[][]);
O public MFRotation(float rotations[]);
O public MFRotation(int size, float rotations[]);
O public void getValue(float rotations[][]);
O public void getValue(float rotations[]);
O public void setValue(float rotations[][])
O public void setValue(int size, float rotations[]);
O public void setValue(ConstMFRotation rotations);
* public void get1Value(int index, float rotation[]);
* public void get1Value(int index, SFRotation rotation);
* public void set1Value(int index, ConstSFRotation rotation);
* public void set1Value(int index, SFRotation rotation);
* public void set1Value(int index, float ax, float ay, float az, float angle);
* public void addValue(ConstSFRotation rotation);
* public void addValue(SFRotation rotation);
* public void addValue(float ax, float ay, float az, float angle);
* public void insertValue(int index, ConstSFRotation rotation);
* public void insertValue(int index, SFRotation rotation);
* public void insertValue(int index, float ax, float ay, float az, float angle);
}
public class MFString extends MField
{
O public MFString(String s[]);
O public void getValue(String s[]);
O public void setValue(String s[]);
O public void setValue(int size, String s[]);
O public void setValue(ConstMFString s);
* public String get1Value(int index);
* public void set1Value(int index, String s);
* public void set1Value(int index, ConstSFString s);
* public void set1Value(int index, SFString s);
* public void addValue(String s);
* public void addValue(ConstSFString s);
* public void addValue(SFString s);
* public void insertValue(int index, String s);
* public void insertValue(int index, ConstSFString s);
* public void insertValue(int index, SFString s);
}
public class MFTime extends MField
{
O public MFTime(double times[]);
O public void getValue(double times[]);
O public void setValue(double times[]);
O public void setValue(int size, double times[]);
O public void setValue(ConstMFTime times);
* public double get1Value(int index);
* public void set1Value(int index, double time);
* public void set1Value(int index, ConstSFTime time);
* public void set1Value(int index, SFTime time);
* public void addValue(double time);
* public void addValue(ConstSFTime time);
* public void addValue(SFTime time);
* public void insertValue(int index, double time);
* public void insertValue(int index, ConstSFTime time);
* public void insertValue(int index, SFTime time);
}
public class MFVec2f extends MField
{
O public MFVec2f(float vecs[][]);
O public MFVec2f(float vecs[]);
O public MFVec2f(int size, float vecs[]);
O public void getValue(float vecs[][]);
O public void getValue(float vecs[]);
O public void setValue(float vecs[][]);
O public void setValue(int size, vecs[]);
O public void setValue(ConstMFVec2f vecs);
* public void get1Value(int index, float vec[]);
* public void get1Value(int index, SFVec2f vec);
* public void set1Value(int index, float x, float y);
* public void set1Value(int index, ConstSFVec2f vec);
* public void set1Value(int index, SFVec2f vec);
* public void addValue(float x, float y);
* public void addValue(ConstSFVec2f vec);
* public void addValue(SFVec2f vec);
* public void insertValue(int index, float x, float y);
* public void insertValue(int index, ConstSFVec2f vec);
* public void insertValue(int index, SFVec2f vec);
}
public class MFVec3f extends MField
{
O public MFVec3f(float vecs[][]);
O public MFVec3f(float vecs[]);
O public MFVec3f(int size, float vecs[]);
O public void getValue(float vecs[][]);
O public void getValue(float vecs[]);
O public void setValue(float vecs[][]);
O public void setValue(int size, float vecs[]);
O public void setValue(ConstMFVec3f vecs);
* public void get1Value(int index, float vec[]);
* public void get1Value(int index, SFVec3f vec);
* public void set1Value(int index, float x, float y, float z);
* public void set1Value(int index, ConstSFVec3f vec);
* public void set1Value(int index, SFVec3f vec);
* public void addValue(float x, float y, float z);
* public void addValue(ConstSFVec3f vec);
* public void addValue(SFVec3f vec);
* public void insertValue(int index, float x, float y, float z);
* public void insertValue(int index, ConstSFVec3f vec);
* public void insertValue(int index, SFVec3f vec);
}
vrml.node package
//
// ノードクラス
//
public abstract class Node extends BaseNode {
/* **********************************************************
*ノードから、nameによって指定されたEventInフィールドを返す。
*このフィールドは書き込みのみが可能である。
*不当なEventInフィールド名が指定された場合、
*InvalidEventInExceptionが発生する。
********************************************************** */
O public final Field getEventIn(String fieldName);
/* **********************************************************
*ノードから、nameによって指定されたEventOutフィールドを返す。
*このフィールドは読み書きが可能である。
*不当なEventOutフィールド名が指定された場合、
*InvalidEventOutExceptionが発生する。
********************************************************** */
O public final ConstField getEventOut(String fieldName);
/* **********************************************************
*ノードから、nameによって指定されたExposedFieldフィールドを返す。
*このフィールドは読み書きが可能である。
*不当なExposedFieldフィールド名が指定された場合、
*InvalidExposedFieldExceptionが発生する。
********************************************************** */
O public final Field getExposedField(String fieldName);
}
//
// Scriptクラス
//
// VRMLのScriptノードに指定可能なJavaクラスはこのクラスのサブクラス
// でなければならない。
//
public abstract class Script extends BaseNode {
/* ***********************************************************
*全てのイベントが発生する前に評価される。
*********************************************************** */
O public void initialize();
/* **********************************************************
*nameによって指定されたFieldフィールドを返す。
*このフィールドは読み書きが可能である。
*不当なFieldフィールド名が指定された場合、
*InvalidFieldExceptionが発生する。
********************************************************** */
O protected final Field getField(String fieldName);
/* **********************************************************
*nameによって指定されたEventOutフィールドを返す。
*このフィールドは読み書きが可能である。
*不当なEventOutフィールド名が指定された場合、
*InvalidEventOutExceptionが発生する。
********************************************************** */
O protected final Field getEventOut(String fieldName);
/* **********************************************************
*nameによって指定されたEventInフィールドを返す。
*このフィールドは書き込みのみが可能である。
*不当なEventInフィールド名が指定された場合、
*InvalidEventInExceptionが発生する。
********************************************************** */
O protected final Field getEventIn(String fieldName);
/* **********************************************************
*processEvents()は、スクリプトが同一タイムスタンプの1つ以上の
*イベントを受け取ったときに評価される。
*countは、送られてきたイベントの個数を表す。
********************************************************** */
O public void processEvents(int count, Event events[]);
/* **********************************************************
*processEvent()は、1つのイベントを受け取ったときに評価される。
********************************************************** */
O public void processEvent(Event event);
/* ****************************************************************
* eventsProcessed()は、processEvents()が評価されるたびに評価される。
**************************************************************** */
O public void eventsProcessed()
/* ****************************************************************
* shutdown()は、スクリプトノードが削除される時に評価される。
**************************************************************** */
O public void shutdown();
}