Information technology — Computer graphics, image processing and environmental data representation — Extensible 3D (X3D) language bindings —
Part 2: Java

Annex B

(normative - draft)

Node type interfaces

--- X3D separator bar ---

cubeB.1  Introduction and topics

B.1.1  Introduction

This annex provides the definition of the interface signature for each interface that represents the abstract node instance defined in ISO/IEC 19775-2.

B.1.2  Topics

See Table B.1 for the topics in this clause.

Table B.1 — Topics

TODO

B.1.3 Conventions

This annex describes all the known interfaces that represent abstract node types. It also defines the other types such as interfaces that represent fields scenes etc. The convention used is to provide the definition of the class using the Java language syntax as would be seen in a Java source file.

The naming convention used by to construct interfaces follows these rules:

Extra convenience methods may be supplied by the interfaces on an as-desired basis.

--- X3D separator bar ---

cubeB.2  Node type interfaces

The following abstract interfaces do not include getter/setter accessor methods for any fields defined in parent abstract types.

--- X3D separator bar ---

B.2.1 X3DAppearanceChildNode

/** X3DAppearanceChildNode defines an abstract node interface that extends interface X3DNode.
  * Nodes of this type can be used as child nodes for Appearance. */

public interface X3DAppearanceChildNode extends X3DNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.2 X3DAppearanceNode

/** X3DAppearanceNode defines an abstract node interface that extends interface X3DNode.
  * Base type for all Appearance nodes. */

public interface X3DAppearanceNode extends X3DNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.3 X3DBackgroundNode

/** X3DBackgroundNode defines an abstract node interface that extends interfaces X3DBindableNode, X3DChildNode, and X3DNode.
  * Abstract type from which all backgrounds inherit, also defining a background binding stack. */

public interface X3DBackgroundNode extends X3DBindableNode
{
  /** Provide array of float results array in radians (-∞,∞) from inputOutput MFFloat field named "groundAngle". */
  public float[] getGroundAngle ();

  /** Provide number of primitive values in "groundAngle" array */
  public int getNumGroundAngle ();

  /** Assign float array in radians (-∞,∞) to inputOutput MFFloat field named "groundAngle". */
  public void setGroundAngle (float[] angles);

  /** Assign single float value in radians (-∞,∞) as the MFFloat array for inputOutput field named "groundAngle" */
  public void setGroundAngle (float angle);

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from inputOutput MFColor field named "groundColor". */
  public void getGroundColor (float[] result);

  /** Provide number of 3-tuple primitive values in "groundColor" array */
  public int getNumGroundColor ();

  /** Assign 3-tuple float array using RGB values [0..1] using RGB values [0..1] to inputOutput MFColor field named "groundColor". */
  public void setGroundColor (float[] colors) throws InvalidFieldValueException;

  /** Provide array of float results array in radians (-∞,∞) from inputOutput MFFloat field named "skyAngle". */
  public float[] getSkyAngle ();

  /** Provide number of primitive values in "skyAngle" array */
  public int getNumSkyAngle ();

  /** Assign float array in radians (-∞,∞) to inputOutput MFFloat field named "skyAngle". */
  public void setSkyAngle (float[] angles);

  /** Assign single float value in radians (-∞,∞) as the MFFloat array for inputOutput field named "skyAngle" */
  public void setSkyAngle (float angle);

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from inputOutput MFColor field named "skyColor". */
  public void getSkyColor (float[] result);

  /** Provide number of 3-tuple primitive values in "skyColor" array */
  public int getNumSkyColor ();

  /** Assign 3-tuple float array using RGB values [0..1] using RGB values [0..1] to inputOutput MFColor field named "skyColor". */
  public void setSkyColor (float[] colors) throws InvalidFieldValueException;

  /** Provide float value from inputOutput SFFloat field named "transparency". */
  public float getTransparency ();

  /** Assign float value to inputOutput SFFloat field named "transparency". */
  public void setTransparency (float value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Assign boolean value to inputOnly SFBool field named "set_bind". */
  public void setBind (boolean value);

  /** Provide double value in seconds from outputOnly SFTime field named "bindTime". */
  public double getBindTime ();

  /** Provide boolean value from outputOnly SFBool field named "isBound". */
  public boolean getIsBound ();

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.4 X3DBindableNode

/** X3DBindableNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Bindable nodes implement the binding stack, so that only one of each node type is active at a given time. */

public interface X3DBindableNode extends X3DChildNode
{
  /** Assign boolean value to inputOnly SFBool field named "set_bind". */
  public void setBind (boolean value);

  /** Provide double value in seconds from outputOnly SFTime field named "bindTime". */
  public double getBindTime ();

  /** Provide boolean value from outputOnly SFBool field named "isBound". */
  public boolean getIsBound ();

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.5 X3DChaserNode

/** X3DChaserNode defines an abstract node interface that extends interfaces X3DFollowerNode, X3DChildNode, and X3DNode. */

public interface X3DChaserNode extends X3DFollowerNode
{
  /** Provide double value in seconds [0,∞) from initializeOnly SFTime field named "duration". */
  public double getDuration ();

  /** Assign double value in seconds [0,∞) to initializeOnly SFTime field named "duration". */
  public void setDuration (double timestamp) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.6 X3DChildNode

/** X3DChildNode defines an abstract node interface that extends interface X3DNode.
  * A node that implements X3DChildNode is one of the legal children for a X3DGroupingNode parent. */

public interface X3DChildNode extends X3DNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.7 X3DColorNode

/** X3DColorNode defines an abstract node interface that extends interfaces X3DGeometricPropertyNode and X3DNode.
  * Base type for color specifications in X3D. */

public interface X3DColorNode extends X3DGeometricPropertyNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.8 X3DComposableVolumeRenderStyleNode

/** X3DComposableVolumeRenderStyleNode defines an abstract node interface that extends interfaces X3DVolumeRenderStyleNode and X3DNode. */

public interface X3DComposableVolumeRenderStyleNode extends X3DVolumeRenderStyleNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.9 X3DComposedGeometryNode

/** X3DComposedGeometryNode defines an abstract node interface that extends interfaces X3DGeometryNode and X3DNode.
  * Composed geometry nodes produce renderable geometry, can contain Color Coordinate Normal TextureCoordinate, and are contained by a Shape node. */

public interface X3DComposedGeometryNode extends X3DGeometryNode
{
  /** Provide boolean value from initializeOnly SFBool field named "ccw". */
  public boolean getCcw ();

  /** Assign boolean value to initializeOnly SFBool field named "ccw". */
  public void setCcw (boolean value);

  /** Provide boolean value from initializeOnly SFBool field named "colorPerVertex". */
  public boolean getColorPerVertex ();

  /** Assign boolean value to initializeOnly SFBool field named "colorPerVertex". */
  public void setColorPerVertex (boolean color);

  /** Provide boolean value from initializeOnly SFBool field named "normalPerVertex". */
  public boolean getNormalPerVertex ();

  /** Assign boolean value to initializeOnly SFBool field named "normalPerVertex". */
  public void setNormalPerVertex (boolean value);

  /** Provide boolean value from initializeOnly SFBool field named "solid". */
  public boolean getSolid ();

  /** Assign boolean value to initializeOnly SFBool field named "solid". */
  public void setSolid (boolean value);

  /** Provide array of X3DVertexAttributeNode results array (using a properly typed node array or X3DPrototypeInstance array) from inputOutput X3DVertexAttributeNode type field named "attrib". */
  public void getAttrib (X3DNode[] result);

  /** Provide number of nodes in "attrib" array */
  public int getNumAttrib ();

  /** Assign X3DVertexAttributeNode array (using a properly typed node array) to inputOutput X3DVertexAttributeNode type field named "attrib". */
  public void setAttrib (X3DVertexAttributeNode[] nodes);

  /** Assign single X3DVertexAttributeNode value (using a properly typed node) as the MFNode array for inputOutput field named "attrib" */
  public void setAttrib (X3DVertexAttributeNode node);

  /** Assign X3DVertexAttributeNode array (using a properly typed protoInstance array) to inputOutput X3DVertexAttributeNode type field named "attrib". */
  public void setAttrib (X3DPrototypeInstance node);

  /** Assign X3DVertexAttributeNode array (using a properly typed node array) to inputOutput X3DVertexAttributeNode type field named "attrib". */
  public void setAttrib (X3DNode[] nodes);

  /** Provide X3DColorNode value (using a properly typed node or X3DPrototypeInstance) using RGB values [0..1] from inputOutput X3DColorNode type field named "color". */
  public void getColor (X3DNode result);

  /** Assign X3DColorNode value (using a properly typed node) using RGB values [0..1] to inputOutput X3DColorNode type field named "color". */
  public void setColor (X3DColorNode color) throws InvalidFieldValueException;

  /** Assign X3DColorNode value (using a properly typed protoInstance) */
  public void setColor (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide X3DCoordinateNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DCoordinateNode type field named "coord". */
  public void getCoord (X3DNode result);

  /** Assign X3DCoordinateNode value (using a properly typed node) to inputOutput X3DCoordinateNode type field named "coord". */
  public void setCoord (X3DCoordinateNode node);

  /** Assign X3DCoordinateNode value (using a properly typed protoInstance) */
  public void setCoord (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide FogCoordinate value (using a properly typed node or X3DPrototypeInstance) from inputOutput FogCoordinate type field named "fogCoord". */
  public void getFogCoord (X3DNode result);

  /** Assign FogCoordinate value (using a properly typed node) to inputOutput FogCoordinate type field named "fogCoord". */
  public void setFogCoord (FogCoordinate node);

  /** Assign FogCoordinate value (using a properly typed protoInstance) */
  public void setFogCoord (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide X3DNormalNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DNormalNode type field named "normal". */
  public void getNormal (X3DNode result);

  /** Assign X3DNormalNode value (using a properly typed node) to inputOutput X3DNormalNode type field named "normal". */
  public void setNormal (X3DNormalNode node);

  /** Assign X3DNormalNode value (using a properly typed protoInstance) */
  public void setNormal (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide X3DTextureCoordinateNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DTextureCoordinateNode type field named "texCoord". */
  public void getTexCoord (X3DNode result);

  /** Assign X3DTextureCoordinateNode value (using a properly typed node) to inputOutput X3DTextureCoordinateNode type field named "texCoord". */
  public void setTexCoord (X3DTextureCoordinateNode node);

  /** Assign X3DTextureCoordinateNode value (using a properly typed protoInstance) */
  public void setTexCoord (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.10 X3DCoordinateNode

/** X3DCoordinateNode defines an abstract node interface that extends interfaces X3DGeometricPropertyNode and X3DNode.
  * Base type for all coordinate node types in X3D. */

public interface X3DCoordinateNode extends X3DGeometricPropertyNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.11 X3DDamperNode

/** X3DDamperNode defines an abstract node interface that extends interfaces X3DFollowerNode, X3DChildNode, and X3DNode. */

public interface X3DDamperNode extends X3DFollowerNode
{
  /** Provide double value in seconds [0,∞) from inputOutput SFTime field named "tau". */
  public double getTau ();

  /** Assign double value in seconds [0,∞) to inputOutput SFTime field named "tau". */
  public void setTau (double timestamp) throws InvalidFieldValueException;

  /** Provide float value from inputOutput SFFloat field named "tolerance". */
  public float getTolerance ();

  /** Assign float value to inputOutput SFFloat field named "tolerance". */
  public void setTolerance (float value);

  /** Provide int value [0,5) from initializeOnly SFInt32 field named "order". */
  public int getOrder ();

  /** Assign int value [0,5) to initializeOnly SFInt32 field named "order". */
  public void setOrder (int value) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.12 X3DDragSensorNode

/** X3DDragSensorNode defines an abstract node interface that extends interfaces X3DPointingDeviceSensorNode, X3DSensorNode, X3DChildNode, and X3DNode.
  * Base type for all drag-style pointing device sensors. */

public interface X3DDragSensorNode extends X3DPointingDeviceSensorNode
{
  /** Provide array of 3-tuple float results array from outputOnly SFVec3f field named "trackPoint_changed". */
  public void getTrackPoint (float[] result);

  /** Provide boolean value from inputOutput SFBool field named "autoOffset". */
  public boolean getAutoOffset ();

  /** Assign boolean value to inputOutput SFBool field named "autoOffset". */
  public void setAutoOffset (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isOver". */
  public boolean getIsOver ();

  /** Provide String value from inputOutput SFString field named "description". */
  public String getDescription ();

  /** Assign String value to inputOutput SFString field named "description". */
  public void setDescription (String value);

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.13 X3DEnvironmentalSensorNode

/** X3DEnvironmentalSensorNode defines an abstract node interface that extends interfaces X3DSensorNode, X3DChildNode, and X3DNode.
  * Base type for the environmental sensor nodes ProximitySensor, TransformSensor and VisibilitySensor. */

public interface X3DEnvironmentalSensorNode extends X3DSensorNode
{
  /** Provide array of 3-tuple float results array (-∞,∞) from initializeOnly SFVec3f field named "size". */
  public void getSize (float[] result);

  /** Assign 3-tuple float array (-∞,∞) to initializeOnly SFVec3f field named "size". */
  public void setSize (float[] value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.14 X3DEnvironmentTextureNode

/** X3DEnvironmentTextureNode defines an abstract node interface that extends interfaces X3DTextureNode, X3DAppearanceChildNode, and X3DNode.
  * Base type for all nodes that specify cubic environment map sources for texture images. */

public interface X3DEnvironmentTextureNode extends X3DTextureNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.15 X3DFollowerNode

/** X3DFollowerNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode. */

public interface X3DFollowerNode extends X3DChildNode
{
  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.16 X3DFontStyleNode

/** X3DFontStyleNode defines an abstract node interface that extends interface X3DNode.
  * Base type for all font style nodes. */

public interface X3DFontStyleNode extends X3DNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.17 X3DGeometricPropertyNode

/** X3DGeometricPropertyNode defines an abstract node interface that extends interface X3DNode.
  * Base type for all geometric property node types. */

public interface X3DGeometricPropertyNode extends X3DNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.18 X3DGeometryNode

/** X3DGeometryNode defines an abstract node interface that extends interface X3DNode.
  * Geometry nodes produce renderable geometry and are contained by a Shape node. */

public interface X3DGeometryNode extends X3DNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.19 X3DGroupingNode

/** X3DGroupingNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Grouping nodes can contain other nodes as children, thus making up the backbone of a scene graph. */

public interface X3DGroupingNode extends X3DChildNode, X3DBoundedObject
{
  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "addChildren". */
  public void addChildren (X3DChildNode[] nodes);

  /** Assign single X3DChildNode value (using a properly typed node) as the MFNode array for inputOnly field named "addChildren" */
  public void addChildren (X3DChildNode node);

  /** Assign X3DChildNode array (using a properly typed protoInstance array) to inputOnly X3DChildNode type field named "addChildren". */
  public void addChildren (X3DPrototypeInstance node);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "addChildren". */
  public void addChildren (X3DNode[] nodes);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "removeChildren". */
  public void removeChildren (X3DChildNode[] nodes);

  /** Assign single X3DChildNode value (using a properly typed node) as the MFNode array for inputOnly field named "removeChildren" */
  public void removeChildren (X3DChildNode node);

  /** Assign X3DChildNode array (using a properly typed protoInstance array) to inputOnly X3DChildNode type field named "removeChildren". */
  public void removeChildren (X3DPrototypeInstance node);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "removeChildren". */
  public void removeChildren (X3DNode[] nodes);

  /** Provide array of X3DChildNode results array (using a properly typed node array or X3DPrototypeInstance array) from inputOutput X3DChildNode type field named "children". */
  public void getChildren (X3DNode[] result);

  /** Provide number of nodes in "children" array */
  public int getNumChildren ();

  /** Assign X3DChildNode array (using a properly typed node array) to inputOutput X3DChildNode type field named "children". */
  public void setChildren (X3DChildNode[] nodes);

  /** Assign single X3DChildNode value (using a properly typed node) as the MFNode array for inputOutput field named "children" */
  public void setChildren (X3DChildNode node);

  /** Assign X3DChildNode array (using a properly typed protoInstance array) to inputOutput X3DChildNode type field named "children". */
  public void setChildren (X3DPrototypeInstance node);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOutput X3DChildNode type field named "children". */
  public void setChildren (X3DNode[] nodes);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.20 X3DInfoNode

/** X3DInfoNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type for all nodes that contain only information without visual semantics. */

public interface X3DInfoNode extends X3DChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.21 X3DInterpolatorNode

/** X3DInterpolatorNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Interpolator nodes are designed for linear keyframed animation. Interpolators are driven by an input key ranging [0..1] and produce corresponding piecewise-linear output functions. */

public interface X3DInterpolatorNode extends X3DChildNode
{
  /** Assign float value to inputOnly SFFloat field named "set_fraction". */
  public void setFraction (float value);

  /** Provide array of float results array from inputOutput MFFloat field named "key". */
  public float[] getKey ();

  /** Provide number of primitive values in "key" array */
  public int getNumKey ();

  /** Assign float array to inputOutput MFFloat field named "key". */
  public void setKey (float[] values);

  /** Assign single float value as the MFFloat array for inputOutput field named "key" */
  public void setKey (float value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.22 X3DKeyDeviceSensorNode

/** X3DKeyDeviceSensorNode defines an abstract node interface that extends interfaces X3DSensorNode, X3DChildNode, and X3DNode.
  * Base type for all sensor node types that operate using key devices. */

public interface X3DKeyDeviceSensorNode extends X3DSensorNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.23 X3DLayerNode

/** X3DLayerNode defines an abstract node interface that extends interface X3DNode. */

public interface X3DLayerNode extends X3DNode
{
  /** Provide boolean value from inputOutput SFBool field named "isPickable". */
  public boolean getIsPickable ();

  /** Assign boolean value to inputOutput SFBool field named "isPickable". */
  public void setIsPickable (boolean value);

  /** Provide X3DViewportNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DViewportNode type field named "viewport". */
  public void getViewport (X3DNode result);

  /** Assign X3DViewportNode value (using a properly typed node) to inputOutput X3DViewportNode type field named "viewport". */
  public void setViewport (X3DViewportNode node);

  /** Assign X3DViewportNode value (using a properly typed protoInstance) */
  public void setViewport (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.24 X3DLayoutNode

/** X3DLayoutNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode. */

public interface X3DLayoutNode extends X3DChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.25 X3DLightNode

/** X3DLightNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Light nodes provide illumination for rendering geometry in the scene. Implementing nodes must include a global field with type SFBool and accessType inputOutput. */

public interface X3DLightNode extends X3DChildNode
{
  /** Provide float value from inputOutput SFFloat field named "ambientIntensity". */
  public float getAmbientIntensity ();

  /** Assign float value to inputOutput SFFloat field named "ambientIntensity". */
  public void setAmbientIntensity (float value);

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named "color". */
  public void getColor (float[] result);

  /** Assign 3-tuple float array using RGB values [0..1] using RGB values [0..1] to inputOutput SFColor field named "color". */
  public void setColor (float[] color) throws InvalidFieldValueException;

  /** Provide float value from inputOutput SFFloat field named "intensity". */
  public float getIntensity ();

  /** Assign float value to inputOutput SFFloat field named "intensity". */
  public void setIntensity (float value);

  /** Provide boolean value from inputOutput SFBool field named "on". */
  public boolean getOn ();

  /** Assign boolean value to inputOutput SFBool field named "on". */
  public void setOn (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.26 X3DMaterialNode

/** X3DMaterialNode defines an abstract node interface that extends interfaces X3DAppearanceChildNode and X3DNode. */

public interface X3DMaterialNode extends X3DAppearanceChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.27 X3DNBodyCollidableNode

/** X3DNBodyCollidableNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode. */

public interface X3DNBodyCollidableNode extends X3DChildNode, X3DBoundedObject
{
  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide array of 4-tuple float results array in radians from inputOutput SFRotation field named "rotation". */
  public float[] getRotation ();

  /** Assign 4-tuple float array in radians to inputOutput SFRotation field named "rotation". */
  public void setRotation (float[] value);

  /** Provide array of 3-tuple float results array from inputOutput SFVec3f field named "translation". */
  public void getTranslation (float[] result);

  /** Assign 3-tuple float array to inputOutput SFVec3f field named "translation". */
  public void setTranslation (float[] value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.28 X3DNBodyCollisionSpaceNode

/** X3DNBodyCollisionSpaceNode defines an abstract node interface that extends interface X3DNode. */

public interface X3DNBodyCollisionSpaceNode extends X3DNode, X3DBoundedObject
{
  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.29 X3DNetworkSensorNode

/** X3DNetworkSensorNode defines an abstract node interface that extends interfaces X3DSensorNode, X3DChildNode, and X3DNode.
  * Base typefor all sensors that generate events based on network activity. */

public interface X3DNetworkSensorNode extends X3DSensorNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.30 X3DNode

/** X3DNode defines an abstract node interface.
  * All instantiable nodes implement X3DNode, which corresponds to SFNode in the X3D specification. */

public interface X3DNode
{
  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Dispose of this node's resources. */
  void dispose();

  /** Get a field for this node by name. */
  X3DField getField (String name);

  /** Get list of available fields in this node. */
  X3DFieldDefinition[] getFieldDefinitions();

  /** Get the name of this node. */
  String getNodeName();

  /** Determine if node setup is completed. */
  boolean isRealized ();

  /** Notify node that setup stage is complete. */
  void realize ();
}
--- X3D separator bar ---

B.2.31 X3DNormalNode

/** X3DNormalNode defines an abstract node interface that extends interfaces X3DGeometricPropertyNode and X3DNode.
  * Base type for all normal node types in X3D. */

public interface X3DNormalNode extends X3DGeometricPropertyNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.32 X3DNurbsControlCurveNode

/** X3DNurbsControlCurveNode defines an abstract node interface that extends interface X3DNode.
  * Base type for all nodes that provide control curve information in 2D space. */

public interface X3DNurbsControlCurveNode extends X3DNode
{
  /** Provide array of 2-tuple double results array from inputOutput MFVec2d field named "controlPoint". */
  public void getControlPoint (double[] result);

  /** Provide number of 2-tuple primitive values in "controlPoint" array */
  public int getNumControlPoint ();

  /** Assign 2-tuple double array to inputOutput MFVec2d field named "controlPoint". */
  public void setControlPoint (double[] values);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.33 X3DNurbsSurfaceGeometryNode

/** X3DNurbsSurfaceGeometryNode defines an abstract node interface that extends interfaces X3DParametricGeometryNode, X3DGeometryNode, and X3DNode.
  * Abstract geometry type for all types of NURBS surfaces. */

public interface X3DNurbsSurfaceGeometryNode extends X3DParametricGeometryNode
{
  /** Provide boolean value from initializeOnly SFBool field named "uClosed". */
  public boolean getUClosed ();

  /** Assign boolean value to initializeOnly SFBool field named "uClosed". */
  public void setUClosed (boolean value);

  /** Provide boolean value from initializeOnly SFBool field named "vClosed". */
  public boolean getVClosed ();

  /** Assign boolean value to initializeOnly SFBool field named "vClosed". */
  public void setVClosed (boolean value);

  /** Provide int value [0,∞) from initializeOnly SFInt32 field named "uDimension". */
  public int getUDimension ();

  /** Assign int value [0,∞) to initializeOnly SFInt32 field named "uDimension". */
  public void setUDimension (int value) throws InvalidFieldValueException;

  /** Provide int value [0,∞) from initializeOnly SFInt32 field named "vDimension". */
  public int getVDimension ();

  /** Assign int value [0,∞) to initializeOnly SFInt32 field named "vDimension". */
  public void setVDimension (int value) throws InvalidFieldValueException;

  /** Provide array of double results array from initializeOnly MFDouble field named "uKnot". */
  public double[] getUKnot ();

  /** Provide number of primitive values in "uKnot" array */
  public int getNumUKnot ();

  /** Assign double array to initializeOnly MFDouble field named "uKnot". */
  public void setUKnot (double[] values);

  /** Assign single double value as the MFDouble array for initializeOnly field named "uKnot" */
  public void setUKnot (double value);

  /** Provide array of double results array from initializeOnly MFDouble field named "vKnot". */
  public double[] getVKnot ();

  /** Provide number of primitive values in "vKnot" array */
  public int getNumVKnot ();

  /** Assign double array to initializeOnly MFDouble field named "vKnot". */
  public void setVKnot (double[] values);

  /** Assign single double value as the MFDouble array for initializeOnly field named "vKnot" */
  public void setVKnot (double value);

  /** Provide int value [2,∞) from initializeOnly SFInt32 field named "uOrder". */
  public int getUOrder ();

  /** Assign int value [2,∞) to initializeOnly SFInt32 field named "uOrder". */
  public void setUOrder (int value) throws InvalidFieldValueException;

  /** Provide int value [2,∞) from initializeOnly SFInt32 field named "vOrder". */
  public int getVOrder ();

  /** Assign int value [2,∞) to initializeOnly SFInt32 field named "vOrder". */
  public void setVOrder (int value) throws InvalidFieldValueException;

  /** Provide int value from inputOutput SFInt32 field named "uTessellation". */
  public int getUTessellation ();

  /** Assign int value to inputOutput SFInt32 field named "uTessellation". */
  public void setUTessellation (int value);

  /** Provide int value from inputOutput SFInt32 field named "vTessellation". */
  public int getVTessellation ();

  /** Assign int value to inputOutput SFInt32 field named "vTessellation". */
  public void setVTessellation (int value);

  /** Provide array of double results array (-∞,∞) from inputOutput MFDouble field named "weight". */
  public double[] getWeight ();

  /** Provide number of primitive values in "weight" array */
  public int getNumWeight ();

  /** Assign double array (-∞,∞) to inputOutput MFDouble field named "weight". */
  public void setWeight (double[] values);

  /** Assign single double value (-∞,∞) as the MFDouble array for inputOutput field named "weight" */
  public void setWeight (double value);

  /** Provide boolean value from initializeOnly SFBool field named "solid". */
  public boolean getSolid ();

  /** Assign boolean value to initializeOnly SFBool field named "solid". */
  public void setSolid (boolean value);

  /** Provide X3DCoordinateNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DCoordinateNode type field named "controlPoint". */
  public void getControlPoint (X3DNode result);

  /** Assign X3DCoordinateNode value (using a properly typed node) to inputOutput X3DCoordinateNode type field named "controlPoint". */
  public void setControlPoint (X3DCoordinateNode node);

  /** Assign X3DCoordinateNode value (using a properly typed protoInstance) */
  public void setControlPoint (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide X3DTextureCoordinateNode|NurbsTextureCoordinate value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DTextureCoordinateNode|NurbsTextureCoordinate type field named "texCoord". */
  public void getTexCoord (X3DNode result);

  /** Assign X3DTextureCoordinateNode|NurbsTextureCoordinate value (using a properly typed node) to inputOutput X3DTextureCoordinateNode|NurbsTextureCoordinate type field named "texCoord". */
  public void setTexCoord (X3DNode node);

  /** Assign X3DTextureCoordinateNode|NurbsTextureCoordinate value (using a properly typed protoInstance) */
  public void setTexCoord (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.34 X3DParametricGeometryNode

/** X3DParametricGeometryNode defines an abstract node interface that extends interfaces X3DGeometryNode and X3DNode.
  * Base type for all geometry node types that are created parametrically and use control points to describe the final shape of the surface. */

public interface X3DParametricGeometryNode extends X3DGeometryNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.35 X3DParticleEmitterNode

/** X3DParticleEmitterNode defines an abstract node interface that extends interface X3DNode. */

public interface X3DParticleEmitterNode extends X3DNode
{
  /** Provide float value [0,∞) from inputOutput SFFloat field named "speed". */
  public float getSpeed ();

  /** Assign float value [0,∞) to inputOutput SFFloat field named "speed". */
  public void setSpeed (float value) throws InvalidFieldValueException;

  /** Provide float value [0,∞) from inputOutput SFFloat field named "variation". */
  public float getVariation ();

  /** Assign float value [0,∞) to inputOutput SFFloat field named "variation". */
  public void setVariation (float value) throws InvalidFieldValueException;

  /** Provide float value [0,∞) from inputOutput SFFloat field named "mass". */
  public float getMass ();

  /** Assign float value [0,∞) to inputOutput SFFloat field named "mass". */
  public void setMass (float value) throws InvalidFieldValueException;

  /** Provide float value [0,∞) from initializeOnly SFFloat field named "surfaceArea". */
  public float getSurfaceArea ();

  /** Assign float value [0,∞) to initializeOnly SFFloat field named "surfaceArea". */
  public void setSurfaceArea (float value) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.36 X3DParticlePhysicsModelNode

/** X3DParticlePhysicsModelNode defines an abstract node interface that extends interface X3DNode. */

public interface X3DParticlePhysicsModelNode extends X3DNode
{
  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.37 X3DPickSensorNode

/** X3DPickSensorNode defines an abstract node interface that extends interfaces X3DSensorNode, X3DChildNode, and X3DNode. */

public interface X3DPickSensorNode extends X3DSensorNode
{
  /** Provide array of String results array ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named "objectType". */
  public String[] getObjectType ();

  /** Provide number of primitive values in "objectType" array */
  public int getNumObjectType ();

  /** Assign String array ["ALL","NONE","TERRAIN",...] to inputOutput MFString field named "objectType". */
  public void setObjectType (String[] values) throws InvalidFieldValueException;

  /** Provide String enumeration value ("BOUNDS"|"GEOMETRY") from initializeOnly SFString field named "intersectionType". */
  public String getIntersectionType ();

  /** Assign String enumeration value ("BOUNDS"|"GEOMETRY") to initializeOnly SFString field named "intersectionType". */
  public void setIntersectionType (String value);

  /** Provide String enumeration value ("ANY"|"CLOSEST"|"ALL"|"ALL_SORTED") from initializeOnly SFString field named "sortOrder". */
  public String getSortOrder ();

  /** Assign String enumeration value ("ANY"|"CLOSEST"|"ALL"|"ALL_SORTED") to initializeOnly SFString field named "sortOrder". */
  public void setSortOrder (String value);

  /** Provide String value from initializeOnly SFString field named "intersectionType". */
  public String getIntersectionType ();

  /** Assign String value to initializeOnly SFString field named "intersectionType". */
  public void setIntersectionType (String value);

  /** Provide String enumeration value ("MATCH_ANY"|"MATCH_EVERY"|"MATCH_ONLY_ONE") from inputOutput SFString field named "matchCriterion". */
  public String getMatchCriterion ();

  /** Assign String enumeration value ("MATCH_ANY"|"MATCH_EVERY"|"MATCH_ONLY_ONE") to inputOutput SFString field named "matchCriterion". */
  public void setMatchCriterion (String value);

  /** Provide array of String results array ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named "objectType". */
  public String[] getObjectType ();

  /** Provide number of primitive values in "objectType" array */
  public int getNumObjectType ();

  /** Assign String array ["ALL","NONE","TERRAIN",...] to inputOutput MFString field named "objectType". */
  public void setObjectType (String[] values);

  /** Assign single String value ["ALL","NONE","TERRAIN",...] as the MFString array for inputOutput field named "objectType" */
  public void setObjectType (String value);

  /** Provide String value from initializeOnly SFString field named "sortOrder". */
  public String getSortOrder ();

  /** Assign String value to initializeOnly SFString field named "sortOrder". */
  public void setSortOrder (String value);

  /** Provide array of X3DGroupingNode|X3DShapeNode|Inline results array (using a properly typed node array or X3DPrototypeInstance array) from inputOutput X3DGroupingNode|X3DShapeNode|Inline type field named "pickTarget". */
  public void getPickTarget (X3DNode[] result);

  /** Provide number of nodes in "pickTarget" array */
  public int getNumPickTarget ();

  /** Assign X3DGroupingNode|X3DShapeNode|Inline array (using a properly typed node array) to inputOutput X3DGroupingNode|X3DShapeNode|Inline type field named "pickTarget". */
  public void setPickTarget (X3DNode[] nodes);

  /** Assign single X3DNode[] value (using a properly typed node) as the MFNode array for inputOutput field named "pickTarget" */
  public void setPickTarget (X3DNode node);

  /** Assign X3DGroupingNode|X3DShapeNode|Inline array (using a properly typed protoInstance array) to inputOutput X3DGroupingNode|X3DShapeNode|Inline type field named "pickTarget". */
  public void setPickTarget (X3DPrototypeInstance node);

  /** Provide array of X3DChildNode results array (using a properly typed node array or X3DPrototypeInstance array) from outputOnly X3DChildNode type field named "pickedGeometry". */
  public void getPickedGeometry (X3DNode[] result);

  /** Provide number of nodes in "pickedGeometry" array */
  public int getNumPickedGeometry ();

  /** Provide X3DGeometryNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DGeometryNode type field named "pickingGeometry". */
  public void getPickingGeometry (X3DNode result);

  /** Assign X3DGeometryNode value (using a properly typed node) to inputOutput X3DGeometryNode type field named "pickingGeometry". */
  public void setPickingGeometry (X3DGeometryNode node);

  /** Assign X3DGeometryNode value (using a properly typed protoInstance) */
  public void setPickingGeometry (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.38 X3DPointingDeviceSensorNode

/** X3DPointingDeviceSensorNode defines an abstract node interface that extends interfaces X3DSensorNode, X3DChildNode, and X3DNode.
  * Base type for all pointing device sensors. */

public interface X3DPointingDeviceSensorNode extends X3DSensorNode
{
  /** Provide boolean value from outputOnly SFBool field named "isOver". */
  public boolean getIsOver ();

  /** Provide String value from inputOutput SFString field named "description". */
  public String getDescription ();

  /** Assign String value to inputOutput SFString field named "description". */
  public void setDescription (String value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.39 X3DProductStructureChildNode

/** X3DProductStructureChildNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type marking nodes that are valid product structure children for the CADGeometry component. */

public interface X3DProductStructureChildNode extends X3DChildNode
{
  /** Provide String value from inputOutput SFString field named "name". */
  public String getName ();

  /** Assign String value to inputOutput SFString field named "name". */
  public void setName (String value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.40 X3DPrototypeInstance

/** X3DPrototypeInstance defines an abstract interface.
  * Base type for all prototype instances. Note that direct children nodes are disallowed, instead let fieldValue with type SFNode/MFNode contain them. Current practice is that, if desired, prototype authors must explicitly add the metadata SFNode field in the ProtoInterface. */

public interface X3DPrototypeInstance extends X3DNode
{
  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.41 X3DRigidJointNode

/** X3DRigidJointNode defines an abstract node interface that extends interface X3DNode. */

public interface X3DRigidJointNode extends X3DNode
{
  /** Provide array of String results array from inputOutput MFString field named "forceOutput". */
  public String[] getForceOutput ();

  /** Provide number of primitive values in "forceOutput" array */
  public int getNumForceOutput ();

  /** Assign String array to inputOutput MFString field named "forceOutput". */
  public void setForceOutput (String[] values);

  /** Provide array of String results array from inputOutput MFString field named "forceOutput". */
  public String[] getForceOutput ();

  /** Provide number of primitive values in "forceOutput" array */
  public int getNumForceOutput ();

  /** Assign String array to inputOutput MFString field named "forceOutput". */
  public void setForceOutput (String[] values);

  /** Assign single String value as the MFString array for inputOutput field named "forceOutput" */
  public void setForceOutput (String value);

  /** Provide RigidBody value (using a properly typed node or X3DPrototypeInstance) from inputOutput RigidBody type field named "body1". */
  public void getBody1 (X3DNode result);

  /** Assign RigidBody value (using a properly typed node) to inputOutput RigidBody type field named "body1". */
  public void setBody1 (RigidBody node);

  /** Assign RigidBody value (using a properly typed protoInstance) */
  public void setBody1 (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide RigidBody value (using a properly typed node or X3DPrototypeInstance) from inputOutput RigidBody type field named "body2". */
  public void getBody2 (X3DNode result);

  /** Assign RigidBody value (using a properly typed node) to inputOutput RigidBody type field named "body2". */
  public void setBody2 (RigidBody node);

  /** Assign RigidBody value (using a properly typed protoInstance) */
  public void setBody2 (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.42 X3DScriptNode

/** X3DScriptNode defines an abstract node interface.
  * This abstract node type is the base type for all scripting nodes. */

public interface X3DScriptNode extends X3DChildNode, X3DUrlObject
{
  /** Provide array of String results array from inputOutput MFString field named "url". */
  public String[] getUrl ();

  /** Provide number of primitive values in "url" array */
  public int getNumUrl ();

  /** Assign String array to inputOutput MFString field named "url". */
  public void setUrl (String[] values);

  /** Assign single String value as the MFString array for inputOutput field named "url" */
  public void setUrl (String value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.43 X3DSensorNode

/** X3DSensorNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type for all sensors. */

public interface X3DSensorNode extends X3DChildNode
{
  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.44 X3DSequencerNode

/** X3DSequencerNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type from which all Sequencers are derived. */

public interface X3DSequencerNode extends X3DChildNode
{
  /** Assign boolean value to inputOnly SFBool field named "next". */
  public void setNext (boolean value);

  /** Assign boolean value to inputOnly SFBool field named "previous". */
  public void setPrevious (boolean value);

  /** Assign float value to inputOnly SFFloat field named "set_fraction". */
  public void setFraction (float value);

  /** Provide array of float results array from inputOutput MFFloat field named "key". */
  public float[] getKey ();

  /** Provide number of primitive values in "key" array */
  public int getNumKey ();

  /** Assign float array to inputOutput MFFloat field named "key". */
  public void setKey (float[] values);

  /** Assign single float value as the MFFloat array for inputOutput field named "key" */
  public void setKey (float value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.45 X3DShaderNode

/** X3DShaderNode defines an abstract node interface that extends interfaces X3DAppearanceChildNode and X3DNode.
  * Base type for all nodes that specify a programmable shader. */

public interface X3DShaderNode extends X3DAppearanceChildNode
{
  /** Provide String value from initializeOnly SFString field named "language". */
  public String getLanguage ();

  /** Assign String value to initializeOnly SFString field named "language". */
  public void setLanguage (String value);

  /** Assign boolean value to inputOnly SFBool field named "activate". */
  public void setActivate (boolean value);

  /** Provide boolean value from outputOnly SFBool field named "isSelected". */
  public boolean getIsSelected ();

  /** Provide boolean value from outputOnly SFBool field named "isValid". */
  public boolean getIsValid ();

  /** Provide String value from initializeOnly SFString field named "language". */
  public String getLanguage ();

  /** Assign String value to initializeOnly SFString field named "language". */
  public void setLanguage (String value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.46 X3DShapeNode

/** X3DShapeNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type for all Shape nodes. */

public interface X3DShapeNode extends X3DChildNode, X3DBoundedObject
{
  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;

  /** Provide X3DAppearanceNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DAppearanceNode type field named "appearance". */
  public void getAppearance (X3DNode result);

  /** Assign X3DAppearanceNode value (using a properly typed node) to inputOutput X3DAppearanceNode type field named "appearance". */
  public void setAppearance (X3DAppearanceNode node);

  /** Assign X3DAppearanceNode value (using a properly typed protoInstance) */
  public void setAppearance (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  /** Provide X3DGeometryNode value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DGeometryNode type field named "geometry". */
  public void getGeometry (X3DNode result);

  /** Assign X3DGeometryNode value (using a properly typed node) to inputOutput X3DGeometryNode type field named "geometry". */
  public void setGeometry (X3DGeometryNode node);

  /** Assign X3DGeometryNode value (using a properly typed protoInstance) */
  public void setGeometry (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.47 X3DSoundNode

/** X3DSoundNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type for all sound nodes. */

public interface X3DSoundNode extends X3DChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.48 X3DSoundSourceNode

/** X3DSoundSourceNode defines an abstract node interface that extends interfaces X3DTimeDependentNode, X3DChildNode, and X3DNode.
  * Nodes implementing X3DSoundSourceNode are allowed as children of Sound node. */

public interface X3DSoundSourceNode extends X3DTimeDependentNode
{
  /** Provide double value in seconds from outputOnly SFTime field named "duration_changed". */
  public double getDuration ();

  /** Provide String value from inputOutput SFString field named "description". */
  public String getDescription ();

  /** Assign String value to inputOutput SFString field named "description". */
  public void setDescription (String value);

  /** Provide float value (0,∞) from inputOutput SFFloat field named "pitch". */
  public float getPitch ();

  /** Assign float value (0,∞) to inputOutput SFFloat field named "pitch". */
  public void setPitch (float value) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide double value in seconds from outputOnly SFTime field named "elapsedTime". */
  public double getElapsedTime ();

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from outputOnly SFBool field named "isPaused". */
  public boolean getIsPaused ();

  /** Provide boolean value from inputOutput SFBool field named "loop". */
  public boolean getLoop ();

  /** Assign boolean value to inputOutput SFBool field named "loop". */
  public void setLoop (boolean value);

  /** Provide double value in seconds from inputOutput SFTime field named "pauseTime". */
  public double getPauseTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "pauseTime". */
  public void setPauseTime (double timestamp);

  /** Provide double value in seconds from inputOutput SFTime field named "resumeTime". */
  public double getResumeTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "resumeTime". */
  public void setResumeTime (double timestamp);

  /** Provide double value in seconds from inputOutput SFTime field named "startTime". */
  public double getStartTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "startTime". */
  public void setStartTime (double timestamp);

  /** Provide double value in seconds from inputOutput SFTime field named "stopTime". */
  public double getStopTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "stopTime". */
  public void setStopTime (double timestamp);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.49 X3DTexture2DNode

/** X3DTexture2DNode defines an abstract node interface that extends interfaces X3DTextureNode, X3DAppearanceChildNode, and X3DNode. */

public interface X3DTexture2DNode extends X3DTextureNode
{
  /** Provide boolean value from initializeOnly SFBool field named "repeatS". */
  public boolean getRepeatS ();

  /** Assign boolean value to initializeOnly SFBool field named "repeatS". */
  public void setRepeatS (boolean value);

  /** Provide boolean value from initializeOnly SFBool field named "repeatT". */
  public boolean getRepeatT ();

  /** Assign boolean value to initializeOnly SFBool field named "repeatT". */
  public void setRepeatT (boolean value);

  /** Provide TextureProperties value (using a properly typed node or X3DPrototypeInstance) from initializeOnly TextureProperties type field named "textureProperties". */
  public void getTextureProperties (X3DNode result);

  /** Assign TextureProperties value (using a properly typed node) to initializeOnly TextureProperties type field named "textureProperties". */
  public void setTextureProperties (TextureProperties node);

  /** Assign TextureProperties value (using a properly typed protoInstance) */
  public void setTextureProperties (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.50 X3DTexture3DNode

/** X3DTexture3DNode defines an abstract node interface that extends interfaces X3DTextureNode, X3DAppearanceChildNode, and X3DNode.
  * Base type for all nodes that specify 3D sources for texture images. */

public interface X3DTexture3DNode extends X3DTextureNode
{
  /** Provide boolean value from initializeOnly SFBool field named "repeatS". */
  public boolean getRepeatS ();

  /** Assign boolean value to initializeOnly SFBool field named "repeatS". */
  public void setRepeatS (boolean value);

  /** Provide boolean value from initializeOnly SFBool field named "repeatT". */
  public boolean getRepeatT ();

  /** Assign boolean value to initializeOnly SFBool field named "repeatT". */
  public void setRepeatT (boolean value);

  /** Provide boolean value from initializeOnly SFBool field named "repeatR". */
  public boolean getRepeatR ();

  /** Assign boolean value to initializeOnly SFBool field named "repeatR". */
  public void setRepeatR (boolean value);

  /** Provide TextureProperties value (using a properly typed node or X3DPrototypeInstance) from initializeOnly TextureProperties type field named "textureProperties". */
  public void getTextureProperties (X3DNode result);

  /** Assign TextureProperties value (using a properly typed node) to initializeOnly TextureProperties type field named "textureProperties". */
  public void setTextureProperties (TextureProperties node);

  /** Assign TextureProperties value (using a properly typed protoInstance) */
  public void setTextureProperties (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.51 X3DTextureCoordinateNode

/** X3DTextureCoordinateNode defines an abstract node interface that extends interfaces X3DGeometricPropertyNode and X3DNode.
  * Base type for all nodes which specify texture coordinates. */

public interface X3DTextureCoordinateNode extends X3DGeometricPropertyNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.52 X3DTextureNode

/** X3DTextureNode defines an abstract node interface that extends interfaces X3DAppearanceChildNode and X3DNode. */

public interface X3DTextureNode extends X3DAppearanceChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.53 X3DTextureTransformNode

/** X3DTextureTransformNode defines an abstract node interface that extends interfaces X3DAppearanceChildNode and X3DNode.
  * Base type for all nodes which specify a transformation of texture coordinates. */

public interface X3DTextureTransformNode extends X3DAppearanceChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.54 X3DTimeDependentNode

/** X3DTimeDependentNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type from which all time-dependent nodes are derived. */

public interface X3DTimeDependentNode extends X3DChildNode
{
  /** Provide double value in seconds from outputOnly SFTime field named "elapsedTime". */
  public double getElapsedTime ();

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from outputOnly SFBool field named "isPaused". */
  public boolean getIsPaused ();

  /** Provide boolean value from inputOutput SFBool field named "loop". */
  public boolean getLoop ();

  /** Assign boolean value to inputOutput SFBool field named "loop". */
  public void setLoop (boolean value);

  /** Provide double value in seconds from inputOutput SFTime field named "pauseTime". */
  public double getPauseTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "pauseTime". */
  public void setPauseTime (double timestamp);

  /** Provide double value in seconds from inputOutput SFTime field named "resumeTime". */
  public double getResumeTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "resumeTime". */
  public void setResumeTime (double timestamp);

  /** Provide double value in seconds from inputOutput SFTime field named "startTime". */
  public double getStartTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "startTime". */
  public void setStartTime (double timestamp);

  /** Provide double value in seconds from inputOutput SFTime field named "stopTime". */
  public double getStopTime ();

  /** Assign double value in seconds to inputOutput SFTime field named "stopTime". */
  public void setStopTime (double timestamp);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.55 X3DTouchSensorNode

/** X3DTouchSensorNode defines an abstract node interface that extends interfaces X3DPointingDeviceSensorNode, X3DSensorNode, X3DChildNode, and X3DNode.
  * Base type for all touch-style pointing device sensors. */

public interface X3DTouchSensorNode extends X3DPointingDeviceSensorNode
{
  /** Provide double value in seconds from outputOnly SFTime field named "touchTime". */
  public double getTouchTime ();

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide boolean value from outputOnly SFBool field named "isOver". */
  public boolean getIsOver ();

  /** Provide String value from inputOutput SFString field named "description". */
  public String getDescription ();

  /** Assign String value to inputOutput SFString field named "description". */
  public void setDescription (String value);

  /** Provide boolean value from outputOnly SFBool field named "isActive". */
  public boolean getIsActive ();

  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.56 X3DTriggerNode

/** X3DTriggerNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode.
  * Base type from which all trigger nodes are derived. */

public interface X3DTriggerNode extends X3DChildNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.57 X3DVertexAttributeNode

/** X3DVertexAttributeNode defines an abstract node interface that extends interfaces X3DGeometricPropertyNode and X3DNode.
  * Base type for all nodes that specify per-vertex attribute information to the shader. */

public interface X3DVertexAttributeNode extends X3DGeometricPropertyNode
{
  /** Provide String value from inputOutput SFString field named "name". */
  public String getName ();

  /** Assign String value to inputOutput SFString field named "name". */
  public void setName (String value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.58 X3DViewpointNode

/** X3DViewpointNode defines an abstract node interface that extends interfaces X3DBindableNode, X3DChildNode, and X3DNode.
  * Node type X3DViewpointNode defines a specific location in the local coordinate system from which the user may view the scene, and also defines a viewpoint binding stack. */

public interface X3DViewpointNode extends X3DBindableNode
{
  /** Provide String value from inputOutput SFString field named "description". */
  public String getDescription ();

  /** Assign String value to inputOutput SFString field named "description". */
  public void setDescription (String value);

  /** Provide boolean value from inputOutput SFBool field named "jump". */
  public boolean getJump ();

  /** Assign boolean value to inputOutput SFBool field named "jump". */
  public void setJump (boolean value);

  /** Provide array of 4-tuple float results array in radians from inputOutput SFRotation field named "orientation". */
  public float[] getOrientation ();

  /** Assign 4-tuple float array in radians to inputOutput SFRotation field named "orientation". */
  public void setOrientation (float[] value);

  /** Provide boolean value from inputOutput SFBool field named "retainUserOffsets". */
  public boolean getRetainUserOffsets ();

  /** Assign boolean value to inputOutput SFBool field named "retainUserOffsets". */
  public void setRetainUserOffsets (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Assign boolean value to inputOnly SFBool field named "set_bind". */
  public void setBind (boolean value);

  /** Provide double value in seconds from outputOnly SFTime field named "bindTime". */
  public double getBindTime ();

  /** Provide boolean value from outputOnly SFBool field named "isBound". */
  public boolean getIsBound ();

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.59 X3DViewportNode

/** X3DViewportNode defines an abstract node interface that extends interfaces X3DGroupingNode, X3DChildNode, and X3DNode.
  * Grouping nodes can contain other nodes as children, thus making up the backbone of a scene graph. */

public interface X3DViewportNode extends X3DGroupingNode
{
  // ===== methods for fields inherited from parent interfaces =====

  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "addChildren". */
  public void addChildren (X3DChildNode[] nodes);

  /** Assign single X3DChildNode value (using a properly typed node) as the MFNode array for inputOnly field named "addChildren" */
  public void addChildren (X3DChildNode node);

  /** Assign X3DChildNode array (using a properly typed protoInstance array) to inputOnly X3DChildNode type field named "addChildren". */
  public void addChildren (X3DPrototypeInstance node);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "addChildren". */
  public void addChildren (X3DNode[] nodes);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "removeChildren". */
  public void removeChildren (X3DChildNode[] nodes);

  /** Assign single X3DChildNode value (using a properly typed node) as the MFNode array for inputOnly field named "removeChildren" */
  public void removeChildren (X3DChildNode node);

  /** Assign X3DChildNode array (using a properly typed protoInstance array) to inputOnly X3DChildNode type field named "removeChildren". */
  public void removeChildren (X3DPrototypeInstance node);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOnly X3DChildNode type field named "removeChildren". */
  public void removeChildren (X3DNode[] nodes);

  /** Provide array of X3DChildNode results array (using a properly typed node array or X3DPrototypeInstance array) from inputOutput X3DChildNode type field named "children". */
  public void getChildren (X3DNode[] result);

  /** Provide number of nodes in "children" array */
  public int getNumChildren ();

  /** Assign X3DChildNode array (using a properly typed node array) to inputOutput X3DChildNode type field named "children". */
  public void setChildren (X3DChildNode[] nodes);

  /** Assign single X3DChildNode value (using a properly typed node) as the MFNode array for inputOutput field named "children" */
  public void setChildren (X3DChildNode node);

  /** Assign X3DChildNode array (using a properly typed protoInstance array) to inputOutput X3DChildNode type field named "children". */
  public void setChildren (X3DPrototypeInstance node);

  /** Assign X3DChildNode array (using a properly typed node array) to inputOutput X3DChildNode type field named "children". */
  public void setChildren (X3DNode[] nodes);

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.60 X3DVolumeDataNode

/** X3DVolumeDataNode defines an abstract node interface that extends interfaces X3DChildNode and X3DNode. */

public interface X3DVolumeDataNode extends X3DChildNode, X3DBoundedObject
{
  /** Provide array of 3-tuple float results array (-∞,∞) from inputOutput SFVec3f field named "dimensions". */
  public void getDimensions (float[] result);

  /** Assign 3-tuple float array (-∞,∞) to inputOutput SFVec3f field named "dimensions". */
  public void setDimensions (float[] value);

  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.2.61 X3DVolumeRenderStyleNode

/** X3DVolumeRenderStyleNode defines an abstract node interface that extends interface X3DNode. */

public interface X3DVolumeRenderStyleNode extends X3DNode
{
  /** Provide boolean value from inputOutput SFBool field named "enabled". */
  public boolean getEnabled ();

  /** Assign boolean value to inputOutput SFBool field named "enabled". */
  public void setEnabled (boolean value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

cubeB.3  Auxiliary node type interfaces

--- X3D separator bar ---

B.3.1 X3DBoundedObject

/** X3DBoundedObject defines an abstract interface.
  * X3DBoundedObject indicates that bounding box values can be provided (or computed) to encompass this node and any children. */

public interface X3DBoundedObject
{
  /** Provide array of 3-tuple float results array from initializeOnly SFVec3f field named "bboxCenter". */
  public void getBboxCenter (float[] result);

  /** Assign 3-tuple float array to initializeOnly SFVec3f field named "bboxCenter". */
  public void setBboxCenter (float[] value);

  /** Provide array of 3-tuple float results array [0,∞) or −1 −1 −1 from initializeOnly SFVec3f field named "bboxSize". */
  public void getBboxSize (float[] result);

  /** Assign 3-tuple float array [0,∞) or −1 −1 −1 to initializeOnly SFVec3f field named "bboxSize". */
  public void setBboxSize (float[] value) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.3.2 X3DFogObject

/** X3DFogObject defines an abstract interface.
  * Abstract type describing a node that influences the lighting equation through the use of fog semantics. */

public interface X3DFogObject
{
  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named "color". */
  public void getColor (float[] result);

  /** Assign 3-tuple float array using RGB values [0..1] using RGB values [0..1] to inputOutput SFColor field named "color". */
  public void setColor (float[] color) throws InvalidFieldValueException;

  /** Provide String enumeration value ("LINEAR"|"EXPONENTIAL") from inputOutput SFString field named "fogType". */
  public String getFogType ();

  /** Assign String enumeration value ("LINEAR"|"EXPONENTIAL") to inputOutput SFString field named "fogType". */
  public void setFogType (String value);

  /** Provide float value [0,∞) from inputOutput SFFloat field named "visibilityRange". */
  public float getVisibilityRange ();

  /** Assign float value [0,∞) to inputOutput SFFloat field named "visibilityRange". */
  public void setVisibilityRange (float value) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.3.3 X3DMetadataObject

/** X3DMetadataObject defines an abstract interface that extends interface X3DNode.
  * Each node inheriting the X3DMetadataObject interface contains a single array of strictly typed values: MFBool, MFInt32, MFFloat, MFDouble, MFString, or MFNode, the latter having children that are all Metadata nodes. */

public interface X3DMetadataObject extends X3DNode
{
  /** Provide String value from inputOutput SFString field named "name". */
  public String getName ();

  /** Assign String value to inputOutput SFString field named "name". */
  public void setName (String value);

  /** Provide String value from inputOutput SFString field named "reference". */
  public String getReference ();

  /** Assign String value to inputOutput SFString field named "reference". */
  public void setReference (String value);

  // ===== methods for fields inherited from parent interfaces =====

  /** Provide X3DMetadataObject value (using a properly typed node or X3DPrototypeInstance) from inputOutput X3DMetadataObject type field named "metadata". */
  public void getMetadata (X3DNode result);

  /** Assign X3DMetadataObject value (using a properly typed node) to inputOutput X3DMetadataObject type field named "metadata". */
  public void setMetadata (X3DMetadataObject node);

  /** Assign X3DMetadataObject value (using a properly typed protoInstance) */
  public void setMetadata (X3DPrototypeInstance protoInstance) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.3.4 X3DPickableObject

/** X3DPickableObject defines an abstract interface. */

public interface X3DPickableObject
{
  /** Provide array of String results array ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named "objectType". */
  public String[] getObjectType ();

  /** Provide number of primitive values in "objectType" array */
  public int getNumObjectType ();

  /** Assign String array ["ALL","NONE","TERRAIN",...] to inputOutput MFString field named "objectType". */
  public void setObjectType (String[] values) throws InvalidFieldValueException;

  /** Provide array of String results array ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named "objectType". */
  public String[] getObjectType ();

  /** Provide number of primitive values in "objectType" array */
  public int getNumObjectType ();

  /** Assign String array ["ALL","NONE","TERRAIN",...] to inputOutput MFString field named "objectType". */
  public void setObjectType (String[] values);

  /** Assign single String value ["ALL","NONE","TERRAIN",...] as the MFString array for inputOutput field named "objectType" */
  public void setObjectType (String value);

  /** Provide boolean value from inputOutput SFBool field named "pickable". */
  public boolean getPickable ();

  /** Assign boolean value to inputOutput SFBool field named "pickable". */
  public void setPickable (boolean value);
}
--- X3D separator bar ---

B.3.5 X3DProgrammableShaderObject

/** X3DProgrammableShaderObject defines an abstract interface. */

public interface X3DProgrammableShaderObject
{}
--- X3D separator bar ---

B.3.6 X3DUrlObject

/** X3DUrlObject defines an abstract interface.
  * X3DUrlObject indicates that a node has content loaded from a Uniform Resource Locator (URL) and can be tracked via a LoadSensor. */

public interface X3DUrlObject
{
  /** Provide array of String results array from inputOutput MFString field named "url". */
  public String[] getUrl ();

  /** Provide number of primitive values in "url" array */
  public int getNumUrl ();

  /** Assign String array to inputOutput MFString field named "url". */
  public void setUrl (String[] values);

  /** Assign single String value as the MFString array for inputOutput field named "url" */
  public void setUrl (String value);
}
--- X3D separator bar ---

cubeB.4  Field interfaces

--- X3D separator bar ---

B.4.1 X3DFieldTypes

public interface X3DFieldTypes {

    public int INPUT_ONLY = 1;
    public int INITIALIZE_ONLY = 2;
    public int INPUT_OUTPUT = 3;
    public int OUTPUT_ONLY = 4;

    public int SFBOOL = 1;
    public int MFBOOL = 2;
    public int SFCOLOR = 21;
    public int MFCOLOR = 22;
    public int SFCOLORRGBA = 23;
    public int MFCOLORRGBA = 24;
    public int SFDOUBLE = 7;
    public int MFDOUBLE = 8;
    public int SFFLOAT = 5;
    public int MFFLOAT = 6;
    public int SFIMAGE = 25;
    public int MFIMAGE = 26;
    public int SFINT32 = 3;
    public int MFINT32 = 4;
    public int SFNODE = 11;
    public int MFNODE = 12;
    public int SFROTATION = 19;
    public int MFROTATION = 20;
    public int SFSTRING = 27;
    public int MFSTRING = 28;
    public int SFTIME = 9;
    public int MFTIME = 10;
    public int SFVEC2F = 13;
    public int MFVEC2F = 14;
    public int SFVEC3F = 15;
    public int MFVEC3F = 16;
    public int SFVEC3D = 17;
    public int MFVEC3D = 18;
}
--- X3D separator bar ---

B.4.2 X3DFieldEvent

public class X3DFieldEvent extends java.util.EventObject {

    public X3DFieldEvent(Object src, double ts, Object data);

    public double getTime();

    public Object getData();
}
--- X3D separator bar ---

B.4.3 X3DFieldEventListener

public interface X3DFieldEventListener extends java.util.EventListener {
    public void readableFieldChanged(X3DFieldEvent evt);
}
--- X3D separator bar ---

B.4.4 X3DFieldDefinition

public interface X3DFieldDefinition {

    public String getName();

    public int getAccessType();

    public int getFieldType();

    public String getFieldTypeString();
}
--- X3D separator bar ---

B.4.5 X3DField

public interface X3DField {

    public X3DFieldDefinition getDefinition();

    public boolean isReadable();

    public boolean isWritable();

    public void addX3DEventListener(X3DFieldEventListener l);

    public void removeX3DEventListener(X3DFieldEventListener l);

    public void setUserData(Object data);

    public Object getUserData();
}
--- X3D separator bar ---

B.4.6 MField

public interface MField extends X3DField {

    public int size();

    public void clear();

    public void remove(int index);
}
--- X3D separator bar ---

B.4.7 SFBool

/** SFBool defines a node type interface.
  * SFBool is a logical type with possible values (true|false) to match the XML boolean type. Hint: boolean values are lower case (true|false) in order to maintain compatibility with HTML and other XML documents. */

public interface SFBool extends X3DField
{
  /** Provide boolean value from type SFBool */
  public boolean getValue ();

  /** Provide boolean value from type SFBool */
  public void setValue (boolean value);
}
--- X3D separator bar ---

B.4.8 MFBool

/** MFBool defines a node type interface.
  * MFBool is an array of Boolean values. Type MFBool was previously undefined in the VRML 97 Specification, but nevertheless needed for event utilities and scripting. Example use: MFBool is useful for defining a series of behavior states using a BooleanSequencer prototype. Hint: boolean values are lower case (true|false) in order to maintain compatibility with HTML and other XML documents. */

public interface MFBool extends MField
{
  /** Provide array of boolean results array from type MFBool */
  public boolean[] getValue ();

  /** Utility method to provide single value from MFBool array */
  public boolean get1Value (int index);

  /** Provide array of boolean results array from type MFBool */
  public void setValue (int size, boolean[] values);

  /** Utility method to set a single value in MFBool array */
  public void set1Value (int index, boolean value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFBool array */
  public void append (boolean value);

  /** Utility method to insert a single value in MFBool array */
  public void insertValue (int index, boolean value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.9 SFColor

/** SFColor defines a node type interface.
  * The SFColor field specifies one RGB (red-green-blue) color triple. Each color value is an RGB triple of floating point numbers in the range 0.0 to 1.0. The default value of an uninitialized SFColor field is (0 0 0). Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFColor extends X3DField
{
  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from type SFColor */
  public void getValue (float[] result);

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from type SFColor */
  public void setValue (float[] color) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.4.10 MFColor

/** MFColor defines a node type interface.
  * MFColor specifies zero or more SFColor RGB triples. Each color value is an RGB triple of floating point numbers in the range 0.0 to 1.0. The default value of an uninitialized MFColor field is the empty list. Individual SFColor array values are optionally separated by commas. */

public interface MFColor extends MField
{
  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from type MFColor */
  public void getValue (float[] result);

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from type MFColor */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single 3-tuple value from MFColor array */
  public void get1Value (int index, float[] result);

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from type MFColor */
  public void setValue (int size, float[] colors) throws InvalidFieldValueException;

  /** Provide array of 3-tuple float results array using RGB values [0..1] using RGB values [0..1] from type MFColor */
  public void setValue (float[][] colors) throws InvalidFieldValueException; // overloaded method for convenience

  /** Utility method to set a single 3-tuple value in MFColor array */
  public void set1Value (int index, float[] color) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 3-tuple value to MFColor array */
  public void append (float[] color);

  /** Utility method to insert a single 3-tuple value in MFColor array */
  public void insertValue (int index, float[] color) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.11 SFColorRGBA

/** SFColorRGBA defines a node type interface.
  * The SFColorRGBA field specifies one RGBA (red-green-blue-alpha) color 4-tuple. Each color value is an RGBA 4-tuple of floating point numbers in the range 0.0 to 1.0. Alpha (opacity) values = (1 - transparency). The default value of an uninitialized SFColorRGBA field is (0 0 0 0). Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFColorRGBA extends X3DField
{
  /** Provide array of 4-tuple float results array using RGBA values [0..1] using RGB values [0..1] from type SFColorRGBA */
  public void getValue (float[] result);

  /** Provide array of 4-tuple float results array using RGBA values [0..1] using RGB values [0..1] from type SFColorRGBA */
  public void setValue (float[] color) throws InvalidFieldValueException;
}
--- X3D separator bar ---

B.4.12 MFColorRGBA

/** MFColorRGBA defines a node type interface.
  * MFColorRGBA specifies zero or more SFColorRGBA 4-tuples. Each color value is an RGBA 4-tuple of floating point numbers in the range 0.0 to 1.0. Alpha (opacity) values = (1 - transparency). The default value of an uninitialized MFColor field is the empty list. Individual SFColorRGBA array values are optionally separated by commas. */

public interface MFColorRGBA extends MField
{
  /** Provide array of 4-tuple float results array using RGBA values [0..1] using RGB values [0..1] from type MFColorRGBA */
  public void getValue (float[] result);

  /** Provide array of 4-tuple float results array using RGBA values [0..1] using RGB values [0..1] from type MFColorRGBA */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single 4-tuple value from MFColorRGBA array */
  public void get1Value (int index, float[] result);

  /** Provide array of 4-tuple float results array using RGBA values [0..1] using RGB values [0..1] from type MFColorRGBA */
  public void setValue (int size, float[] colors) throws InvalidFieldValueException;

  /** Provide array of 4-tuple float results array using RGBA values [0..1] using RGB values [0..1] from type MFColorRGBA */
  public void setValue (float[][] colors) throws InvalidFieldValueException; // overloaded method for convenience

  /** Utility method to set a single 4-tuple value in MFColorRGBA array */
  public void set1Value (int index, float[] color) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 4-tuple value to MFColorRGBA array */
  public void append (float[] color);

  /** Utility method to insert a single 4-tuple value in MFColorRGBA array */
  public void insertValue (int index, float[] color) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.13 SFDouble

/** SFDouble defines a node type interface.
  * SFDouble is a double-precision floating-point type. Array values are optionally separated by commas. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision for rationale. */

public interface SFDouble extends X3DField
{
  /** Provide double value from type SFDouble */
  public double getValue ();

  /** Provide double value from type SFDouble */
  public void setValue (double value);
}
--- X3D separator bar ---

B.4.14 MFDouble

/** MFDouble defines a node type interface.
  * MFDouble is an array of Double values, i.e. a double-precision floating-point array type. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision for rationale. SFDouble/MFDouble are analagous to SFDouble/MFDouble. Array values are optionally separated by commas. */

public interface MFDouble extends MField
{
  /** Provide array of double results array from type MFDouble */
  public double[] getValue ();

  /** Utility method to provide single value from MFDouble array */
  public double get1Value (int index);

  /** Provide array of double results array from type MFDouble */
  public void setValue (int size, double[] values);

  /** Utility method to set a single value in MFDouble array */
  public void set1Value (int index, double value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFDouble array */
  public void append (double value);

  /** Utility method to insert a single value in MFDouble array */
  public void insertValue (int index, double value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.15 SFFloat

/** SFFloat defines a node type interface.
  * SFFloat is a single-precision floating-point type. */

public interface SFFloat extends X3DField
{
  /** Provide float value from type SFFloat */
  public float getValue ();

  /** Provide float value from type SFFloat */
  public void setValue (float value);
}
--- X3D separator bar ---

B.4.16 MFFloat

/** MFFloat defines a node type interface.
  * MFFloat is an array of SFFloat values, i.e. a single-precision floating-point array type. Array values are optionally separated by commas. */

public interface MFFloat extends MField
{
  /** Provide array of float results array from type MFFloat */
  public float[] getValue ();

  /** Utility method to provide single value from MFFloat array */
  public float get1Value (int index);

  /** Provide array of float results array from type MFFloat */
  public void setValue (int size, float[] values);

  /** Utility method to set a single value in MFFloat array */
  public void set1Value (int index, float value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFFloat array */
  public void append (float value);

  /** Utility method to insert a single value in MFFloat array */
  public void insertValue (int index, float value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.17 SFImage

/** SFImage defines a node type interface.
  * The SFImage field specifies a single uncompressed 2-dimensional pixel image. SFImage fields contain three integers representing the width, height and number of components in the image, followed by (width x height) hexadecimal or integer values representing the pixels in the image. */

public interface SFImage extends X3DField
{
    /** Get image width in pixels */
    public int getWidth ();

    /** Get image height in pixels */
    public int getHeight ();

    /** Get number of components in an image:
      * 1 (intensity), 2 (intensity alpha), 3 (red green blue), 4 (red green blue alpha-opacity).*/
    public int getComponents();

    /** Get array of pixel values [0-255] */
    public void getPixels (int[] pixels);

    /** Get java.awt.image.WritableRenderedImage version of image */
    public  java.awt.image.WritableRenderedImage getImage();

    /** Initialize image */
    public void setValue (int width,
                          int height,
                          int components,
                          int[] pixels);

    /** Assign a new image as current image */
    public void setImage (java.awt.image.RenderedImage image);

    /** Assign a portion of a new image as part of current image */
    public void setSubImage (java.awt.image.RenderedImage image,
                             int srcWidth,
                             int srcHeight,
                             int srcXOffset,
                             int srcYOffset,
                             int destXOffset,
                             int destYOffset);
}
--- X3D separator bar ---

B.4.18 MFImage

/** MFImage defines a node type interface.
  * MFImage is an array of SFImage values. */

public interface MFImage extends MField
{
    /** Get selected image width in pixels */
    public int getWidth (int imageIndex) throws ArrayIndexOutOfBoundsException;

    /** Get selected image height in pixels */
    public int getHeight (int imageIndex) throws ArrayIndexOutOfBoundsException;

    /** Get number of components in selected image:
      * 1 (intensity), 2 (intensity alpha), 3 (red green blue), 4 (red green blue alpha-opacity).*/
    public int getComponents (int imageIndex) throws ArrayIndexOutOfBoundsException;

    /** Get array of pixel values [0-255] in selected image */
    public void getPixels (int imageIndex, int[] pixels) throws ArrayIndexOutOfBoundsException;

    /** Get <a href="http://docs.oracle.com/javase/8/docs/api/java/awt/image/WritableRenderedImage.html">java.awt.image.WritableRenderedImage</a> version of selected image */
    public WritableRenderedImage getImage(int imageIndex) throws ArrayIndexOutOfBoundsException;

    /** Assign a new image as a replacement image within the current image array */
    public void setImage (int imageIndex, RenderedImage img) throws ArrayIndexOutOfBoundsException;

    /** Assign a portion of a new image as part of current selected image in array */
    public void setSubImage (int imageIndex,
                             RenderedImage img,
                             int srcWidth,
                             int srcHeight,
                             int srcXOffset,
                             int srcYOffset,
                             int destXOffset,
                             int destYOffset) throws ArrayIndexOutOfBoundsException;

    /** Utility method to set all values for selected image in array */
    public void set1Value (int imageIndex, int value) throws ArrayIndexOutOfBoundsException;

    /** Initialize selected image */
    public void set1Value (int imageIndex,
                           int width,
                           int height,
                           int components,
                           int[] pixels) throws ArrayIndexOutOfBoundsException;

    /** Utility method to set all values for all images in array */
    public void setValue (int[] value);

    /** Assign a new image array as current image array */
    public void setImage (RenderedImage[] img);

    /** Append a new image to current image array */
    public void append (RenderedImage value);

    /** Insert a new image in the current image array */
    public void insertValue (int imageIndex, RenderedImage value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.19 SFInt32

/** SFInt32 defines a node type interface.
  * An SFInt32 field specifies one 32-bit signed integer. */

public interface SFInt32 extends X3DField
{
  /** Provide int value from type SFInt32 */
  public int getValue ();

  /** Provide int value from type SFInt32 */
  public void setValue (int value);
}
--- X3D separator bar ---

B.4.20 MFInt32

/** MFInt32 defines a node type interface.
  * An MFInt32 field defines an array of 32-bit signed integers. Array values are optionally separated by commas. */

public interface MFInt32 extends MField
{
  /** Provide MFInt32 value from type MFInt32 */
  public MFInt32 getValue ();

  /** Utility method to provide single value from MFInt32 array */
  public int get1Value (int index);

  /** Provide MFInt32 value from type MFInt32 */
  public void setValue (int size, MFInt32 values);

  /** Utility method to set a single value in MFInt32 array */
  public void set1Value (int index, int value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFInt32 array */
  public void append (int value);

  /** Utility method to insert a single value in MFInt32 array */
  public void insertValue (int index, int value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.21 SFRotation

/** SFRotation defines a node type interface.
  * SFRotation is an axis-angle 4-tuple, indicating X-Y-Z direction axis plus angle orientation about that axis. The first three values specify a normalized axis vector about which the rotation takes place, so the first three values shall be within the range [-1..+1] in order to represent a normalized unit vector. The fourth value specifies the amount of right-handed rotation about that axis in radians. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFRotation extends X3DField
{
  /** Provide array of 4-tuple float results array in radians from type SFRotation */
  public float[] getValue ();

  /** Provide array of 4-tuple float results array in radians from type SFRotation */
  public void setValue (float[] angle);
}
--- X3D separator bar ---

B.4.22 MFRotation

/** MFRotation defines a node type interface.
  * MFRotation is an array of SFRotation values. Individual singleton SFRotation array values are optionally separated by commas. */

public interface MFRotation extends MField
{
  /** Provide array of 4-tuple float results array in radians from type MFRotation */
  public float[] getValue ();

  /** Provide array of 4-tuple float results array in radians from type MFRotation */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single 4-tuple value from MFRotation array */
  public float[] get1Value (int index);

  /** Provide array of 4-tuple float results array in radians from type MFRotation */
  public void setValue (int size, float[] angles);

  /** Provide array of 4-tuple float results array in radians from type MFRotation */
  public void setValue (float[][] angles); // overloaded method for convenience

  /** Utility method to set a single 4-tuple value in MFRotation array */
  public void set1Value (int index, float[] angle) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 4-tuple value to MFRotation array */
  public void append (float[] angle);

  /** Utility method to insert a single 4-tuple value in MFRotation array */
  public void insertValue (int index, float[] angle) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.23 SFString

/** SFString defines a node type interface.
  * SFString defines a single string encoded with the UTF-8 universal character set. */

public interface SFString extends X3DField
{
  /** Provide String value from type SFString */
  public String getValue ();

  /** Provide String value from type SFString */
  public void setValue (String value);
}
--- X3D separator bar ---

B.4.24 MFString

/** MFString defines a node type interface.
  * MFString is an array of SFString values, each "quoted" and separated by whitespace. Individual SFString array values are optionally separated by commas. */

public interface MFString extends MField
{
  /** Provide array of String results array from type MFString */
  public String[] getValue ();

  /** Utility method to provide single value from MFString array */
  public String get1Value (int index);

  /** Provide array of String results array from type MFString */
  public void setValue (int size, String[] values);

  /** Utility method to set a single value in MFString array */
  public void set1Value (int index, String value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFString array */
  public void append (String value);

  /** Utility method to insert a single value in MFString array */
  public void insertValue (int index, String value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.25 SFTime

/** SFTime defines a node type interface.
  * The SFTime field specifies a single time value. Time values are specified as a double-precision floating point number. Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT. */

public interface SFTime extends X3DField
{
  /** Provide double value in seconds from type SFTime */
  public double getValue ();

  /** Provide long value in nanoseconds from type SFTime */
  public long getJavaValue ();

  /** Provide double value in seconds from type SFTime */
  public void setValue (double timestamp);

  /** Assign long value in nanoseconds using System.nanoTime() to type SFTime */
  public void setValue (long value);
}
--- X3D separator bar ---

B.4.26 MFTime

/** MFTime defines a node type interface.
  * MFTime is an array of SFTime values. Array values are optionally separated by commas. */

public interface MFTime extends MField
{
  /** Provide array of double results array in seconds from type MFTime */
  public double[] getValue ();

  /** Utility method to provide single value from MFTime array */
  public double get1Value (int index);

  /** Utility method to provide single long value in nanoseconds from MFTime array */
  public long get1JavaValue (int index);

  /** Provide array of double results array in seconds from type MFTime */
  public void setValue (int size, double[] timestamps);

  /** Assign long array in nanoseconds to type MFTime */
  public void setValue (int size, long[] values);

  /** Utility method to set a single value in MFTime array */
  public void set1Value (int index, double timestamp) throws ArrayIndexOutOfBoundsException;

  /** Utility method to set a single long value in nanoseconds using System.nanoTime() in MFTime array */
  public void set1Value (int index, long value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFTime array */
  public void append (double timestamp);

  /** Utility method to insert a single value in MFTime array */
  public void insertValue (int index, double timestamp) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.27 SFVec2f

/** SFVec2f defines a node type interface.
  * SFVec2f is a 2-tuple pair of SFFloat values. Hint: SFVec2f can be used to specify a 2D single-precision coordinate. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFVec2f extends X3DField
{
  /** Provide array of 2-tuple float results array from type SFVec2f */
  public void getValue (float[] result);

  /** Provide array of 2-tuple float results array from type SFVec2f */
  public void setValue (float[] value);
}
--- X3D separator bar ---

B.4.28 MFVec2f

/** MFVec2f defines a node type interface.
  * MFVec2f is an array of SFVec2f values. Individual singleton SFVec2f array values are optionally separated by commas. */

public interface MFVec2f extends MField
{
  /** Provide array of 2-tuple float results array from type MFVec2f */
  public void getValue (float[] result);

  /** Provide array of 2-tuple float results array from type MFVec2f */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single 2-tuple value from MFVec2f array */
  public void get1Value (int index, float[] result);

  /** Provide array of 2-tuple float results array from type MFVec2f */
  public void setValue (int size, float[] values);

  /** Provide array of 2-tuple float results array from type MFVec2f */
  public void setValue (float[][] values); // overloaded method for convenience

  /** Utility method to set a single 2-tuple value in MFVec2f array */
  public void set1Value (int index, float[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 2-tuple value to MFVec2f array */
  public void append (float[] value);

  /** Utility method to insert a single 2-tuple value in MFVec2f array */
  public void insertValue (int index, float[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.29 SFVec2d

/** SFVec2d defines a node type interface.
  * SFVec2d is a 2-tuple pair of SFDouble values. Hint: SFVec2d can be used to specify a 2D double-precision coordinate. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFVec2d extends X3DField
{
  /** Provide array of 2-tuple double results array from type SFVec2d */
  public void getValue (double[] result);

  /** Provide array of 2-tuple double results array from type SFVec2d */
  public void setValue (double[] value);
}
--- X3D separator bar ---

B.4.30 MFVec2d

/** MFVec2d defines a node type interface.
  * MFVec2d is an array of SFVec2d values. Individual singleton SFVec2d array values are optionally separated by commas. */

public interface MFVec2d extends MField
{
  /** Provide array of 2-tuple double results array from type MFVec2d */
  public void getValue (double[] result);

  /** Provide array of 2-tuple double results array from type MFVec2d */
  public void getValue (double[][] result); // overloaded method for convenience

  /** Utility method to provide single 2-tuple value from MFVec2d array */
  public void get1Value (int index, double[] result);

  /** Provide array of 2-tuple double results array from type MFVec2d */
  public void setValue (int size, double[] values);

  /** Provide array of 2-tuple double results array from type MFVec2d */
  public void setValue (double[][] values); // overloaded method for convenience

  /** Utility method to set a single 2-tuple value in MFVec2d array */
  public void set1Value (int index, double[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 2-tuple value to MFVec2d array */
  public void append (double[] value);

  /** Utility method to insert a single 2-tuple value in MFVec2d array */
  public void insertValue (int index, double[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.31 SFVec3f

/** SFVec3f defines a node type interface.
  * SFVec3f is a 3-tuple triplet of SFFloat values. Hint: SFVec3f can be used to specify a 3D coordinate or a 3D scale value. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFVec3f extends X3DField
{
  /** Provide array of 3-tuple float results array from type SFVec3f */
  public void getValue (float[] result);

  /** Provide array of 3-tuple float results array from type SFVec3f */
  public void setValue (float[] value);
}
--- X3D separator bar ---

B.4.32 MFVec3f

/** MFVec3f defines a node type interface.
  * MFVec3f is an array of SFVec3f values. Individual singleton SFVec3f array values are optionally separated by commas. */

public interface MFVec3f extends MField
{
  /** Provide array of 3-tuple float results array from type MFVec3f */
  public void getValue (float[] result);

  /** Provide array of 3-tuple float results array from type MFVec3f */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single 3-tuple value from MFVec3f array */
  public void get1Value (int index, float[] result);

  /** Provide array of 3-tuple float results array from type MFVec3f */
  public void setValue (int size, float[] values);

  /** Provide array of 3-tuple float results array from type MFVec3f */
  public void setValue (float[][] values); // overloaded method for convenience

  /** Utility method to set a single 3-tuple value in MFVec3f array */
  public void set1Value (int index, float[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 3-tuple value to MFVec3f array */
  public void append (float[] value);

  /** Utility method to insert a single 3-tuple value in MFVec3f array */
  public void insertValue (int index, float[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.33 SFVec3d

/** SFVec3d defines a node type interface.
  * SFVec3d is a 3-tuple triplet of SFDouble values. See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision. Hint: SFVec3d can be used to specify a georeferenced 3D coordinate. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFVec3d extends X3DField
{
  /** Provide array of 3-tuple double results array from type SFVec3d */
  public void getValue (double[] result);

  /** Provide array of 3-tuple double results array from type SFVec3d */
  public void setValue (double[] value);
}
--- X3D separator bar ---

B.4.34 MFVec3d

/** MFVec3d defines a node type interface.
  * MFVec3d is an array of SFVec3d values. Individual singleton SFVec3d array values are optionally separated by commas. Original rationale for inclusion: GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision. Hint: MFVec3d can be used to specify a list of georeferenced 3D coordinates. */

public interface MFVec3d extends MField
{
  /** Provide array of 3-tuple double results array from type MFVec3d */
  public void getValue (double[] result);

  /** Provide array of 3-tuple double results array from type MFVec3d */
  public void getValue (double[][] result); // overloaded method for convenience

  /** Utility method to provide single 3-tuple value from MFVec3d array */
  public void get1Value (int index, double[] result);

  /** Provide array of 3-tuple double results array from type MFVec3d */
  public void setValue (int size, double[] values);

  /** Provide array of 3-tuple double results array from type MFVec3d */
  public void setValue (double[][] values); // overloaded method for convenience

  /** Utility method to set a single 3-tuple value in MFVec3d array */
  public void set1Value (int index, double[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 3-tuple value to MFVec3d array */
  public void append (double[] value);

  /** Utility method to insert a single 3-tuple value in MFVec3d array */
  public void insertValue (int index, double[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.35 SFVec4f

/** SFVec4f defines a node type interface.
  * SFVec4f is a 4-tuple set of single-precision floating-point values, specifying a 3D homogeneous vector. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFVec4f extends X3DField
{
  /** Provide array of 4-tuple float results array from type SFVec4f */
  public void getValue (float[] result);

  /** Provide array of 4-tuple float results array from type SFVec4f */
  public void setValue (float[] value);
}
--- X3D separator bar ---

B.4.36 MFVec4f

/** MFVec4f defines a node type interface.
  * MFVec4f is zero or more SFVec4f values. Individual singleton SFVec4f array values are optionally separated by commas. */

public interface MFVec4f extends MField
{
  /** Provide array of 4-tuple float results array from type MFVec4f */
  public void getValue (float[] result);

  /** Provide array of 4-tuple float results array from type MFVec4f */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single 4-tuple value from MFVec4f array */
  public void get1Value (int index, float[] result);

  /** Provide array of 4-tuple float results array from type MFVec4f */
  public void setValue (int size, float[] values);

  /** Provide array of 4-tuple float results array from type MFVec4f */
  public void setValue (float[][] values); // overloaded method for convenience

  /** Utility method to set a single 4-tuple value in MFVec4f array */
  public void set1Value (int index, float[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 4-tuple value to MFVec4f array */
  public void append (float[] value);

  /** Utility method to insert a single 4-tuple value in MFVec4f array */
  public void insertValue (int index, float[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.37 SFVec4d

/** SFVec4d defines a node type interface.
  * SFVec4d is a 4-tuple set of double-precision floating-point values, specifying a 3D homogeneous vector. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFVec4d extends X3DField
{
  /** Provide array of 4-tuple double results array from type SFVec4d */
  public void getValue (double[] result);

  /** Provide array of 4-tuple double results array from type SFVec4d */
  public void setValue (double[] value);
}
--- X3D separator bar ---

B.4.38 MFVec4d

/** MFVec4d defines a node type interface.
  * MFVec4d is zero or more SFVec4d values. Individual singleton SFVec4d array values are optionally separated by commas. */

public interface MFVec4d extends MField
{
  /** Provide array of 4-tuple double results array from type MFVec4d */
  public void getValue (double[] result);

  /** Provide array of 4-tuple double results array from type MFVec4d */
  public void getValue (double[][] result); // overloaded method for convenience

  /** Utility method to provide single 4-tuple value from MFVec4d array */
  public void get1Value (int index, double[] result);

  /** Provide array of 4-tuple double results array from type MFVec4d */
  public void setValue (int size, double[] values);

  /** Provide array of 4-tuple double results array from type MFVec4d */
  public void setValue (double[][] values); // overloaded method for convenience

  /** Utility method to set a single 4-tuple value in MFVec4d array */
  public void set1Value (int index, double[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single 4-tuple value to MFVec4d array */
  public void append (double[] value);

  /** Utility method to insert a single 4-tuple value in MFVec4d array */
  public void insertValue (int index, double[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.39 SFMatrix3f

/** SFMatrix3f defines a node type interface.
  * SFMatrix3f specifies a 3x3 matrix of single-precision floating point numbers, organized in row-major fashion. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFMatrix3f extends X3DField
{
  /** Provide array of float results array from type SFMatrix3f */
  public float[] getValue ();

  /** Provide array of float results array from type SFMatrix3f */
  public void setValue (float[] value);
}
--- X3D separator bar ---

B.4.40 MFMatrix3f

/** MFMatrix3f defines a node type interface.
  * MFMatrix3f specifies zero or more 3x3 matrices of single-precision floating point numbers, organized in row-major fashion. Warning: comma characters can only appear between singleton 9-tuple values. */

public interface MFMatrix3f extends MField
{
  /** Provide array of float results array from type MFMatrix3f */
  public float[] getValue ();

  /** Provide array of float results array from type MFMatrix3f */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single value from MFMatrix3f array */
  public float[] get1Value (int index);

  /** Provide array of float results array from type MFMatrix3f */
  public void setValue (int size, float[] values);

  /** Provide array of float results array from type MFMatrix3f */
  public void setValue (float[][] values); // overloaded method for convenience

  /** Utility method to set a single value in MFMatrix3f array */
  public void set1Value (int index, float[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFMatrix3f array */
  public void append (float[] value);

  /** Utility method to insert a single value in MFMatrix3f array */
  public void insertValue (int index, float[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.41 SFMatrix3d

/** SFMatrix3d defines a node type interface.
  * SFMatrix3d specifies a 3x3 matrix of double-precision floating point numbers, organized in row-major fashion. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFMatrix3d extends X3DField
{
  /** Provide array of double results array from type SFMatrix3d */
  public double[] getValue ();

  /** Provide array of double results array from type SFMatrix3d */
  public void setValue (double[] value);
}
--- X3D separator bar ---

B.4.42 MFMatrix3d

/** MFMatrix3d defines a node type interface.
  * MFMatrix3d specifies zero or more 3x3 matrices of double-precision floating point numbers, organized in row-major fashion. Warning: comma characters can only appear between singleton 9-tuple values. */

public interface MFMatrix3d extends MField
{
  /** Provide array of double results array from type MFMatrix3d */
  public double[] getValue ();

  /** Provide array of double results array from type MFMatrix3d */
  public void getValue (double[][] result); // overloaded method for convenience

  /** Utility method to provide single value from MFMatrix3d array */
  public double[] get1Value (int index);

  /** Provide array of double results array from type MFMatrix3d */
  public void setValue (int size, double[] values);

  /** Provide array of double results array from type MFMatrix3d */
  public void setValue (double[][] values); // overloaded method for convenience

  /** Utility method to set a single value in MFMatrix3d array */
  public void set1Value (int index, double[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFMatrix3d array */
  public void append (double[] value);

  /** Utility method to insert a single value in MFMatrix3d array */
  public void insertValue (int index, double[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.43 SFMatrix4f

/** SFMatrix4f defines a node type interface.
  * SFMatrix4f specifies a 4x4 matrix of single-precision floating point numbers, organized in row-major fashion. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFMatrix4f extends X3DField
{
  /** Provide array of float results array from type SFMatrix4f */
  public float[] getValue ();

  /** Provide array of float results array from type SFMatrix4f */
  public void setValue (float[] value);
}
--- X3D separator bar ---

B.4.44 MFMatrix4f

/** MFMatrix4f defines a node type interface.
  * MFMatrix4f specifies zero or more 4x4 matrices of single-precision floating point numbers, organized in row-major fashion. Warning: comma characters can only appear between singleton 16-tuple values. */

public interface MFMatrix4f extends MField
{
  /** Provide array of float results array from type MFMatrix4f */
  public float[] getValue ();

  /** Provide array of float results array from type MFMatrix4f */
  public void getValue (float[][] result); // overloaded method for convenience

  /** Utility method to provide single value from MFMatrix4f array */
  public float[] get1Value (int index);

  /** Provide array of float results array from type MFMatrix4f */
  public void setValue (int size, float[] values);

  /** Provide array of float results array from type MFMatrix4f */
  public void setValue (float[][] values); // overloaded method for convenience

  /** Utility method to set a single value in MFMatrix4f array */
  public void set1Value (int index, float[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFMatrix4f array */
  public void append (float[] value);

  /** Utility method to insert a single value in MFMatrix4f array */
  public void insertValue (int index, float[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.45 SFMatrix4d

/** SFMatrix4d defines a node type interface.
  * SFMatrix4d specifies a 4x4 matrix of double-precision floating point numbers, organized in row-major fashion. Warning: comma characters in attribute values do not pass strict XML validation. */

public interface SFMatrix4d extends X3DField
{
  /** Provide array of double results array from type SFMatrix4d */
  public double[] getValue ();

  /** Provide array of double results array from type SFMatrix4d */
  public void setValue (double[] value);
}
--- X3D separator bar ---

B.4.46 MFMatrix4d

/** MFMatrix4d defines a node type interface.
  * MFMatrix4d specifies zero or more 4x4 matrices of double-precision floating point numbers, organized in row-major fashion. Warning: comma characters can only appear between singleton 16-tuple values. */

public interface MFMatrix4d extends MField
{
  /** Provide array of double results array from type MFMatrix4d */
  public double[] getValue ();

  /** Provide array of double results array from type MFMatrix4d */
  public void getValue (double[][] result); // overloaded method for convenience

  /** Utility method to provide single value from MFMatrix4d array */
  public double[] get1Value (int index);

  /** Provide array of double results array from type MFMatrix4d */
  public void setValue (int size, double[] values);

  /** Provide array of double results array from type MFMatrix4d */
  public void setValue (double[][] values); // overloaded method for convenience

  /** Utility method to set a single value in MFMatrix4d array */
  public void set1Value (int index, double[] value) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFMatrix4d array */
  public void append (double[] value);

  /** Utility method to insert a single value in MFMatrix4d array */
  public void insertValue (int index, double[] value) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

B.4.47 SFNode

/** SFNode defines a node type interface.
  * The SFNode field specifies an X3D node; the default value of an uninitialized SFNode field is NULL. */

public interface SFNode extends X3DField
{
  /** Provide X3DNode value (using a properly typed node or X3DPrototypeInstance) from type SFNode */
  public void getValue (X3DNode result);

  /** Provide X3DNode value (using a properly typed node or X3DPrototypeInstance) from type SFNode */
  public void setValue (X3DNode node);
}
--- X3D separator bar ---

B.4.48 MFNode

/** MFNode defines a node type interface.
  * The MFNode field specifies zero or more nodes; the default value of an MFNode field is the empty list. */

public interface MFNode extends MField
{
  /** Provide array of X3DNode results array (using a properly typed node array or X3DPrototypeInstance array) from type MFNode */
  public void getValue (X3DNode[] result);

  /** Utility method to provide single value from MFNode array */
  public void get1Value (int index, X3DNode result);

  /** Provide array of X3DNode results array (using a properly typed node array or X3DPrototypeInstance array) from type MFNode */
  public void setValue (int size, X3DNode[] nodes);

  /** Utility method to set a single value in MFNode array */
  public void set1Value (int index, X3DNode node) throws ArrayIndexOutOfBoundsException;

  /** Utility method to append a single value to MFNode array */
  public void append (X3DNode node);

  /** Utility method to insert a single value in MFNode array */
  public void insertValue (int index, X3DNode node) throws ArrayIndexOutOfBoundsException;
}
--- X3D separator bar ---

cubeB.5  Service interfaces

B.5.1 BrowserEvent

public class BrowserEvent extends EventObject
{
    public static final int INITIALIZED = 0;
    public static final int SHUTDOWN = 1;
    public static final int URL_ERROR = 2;
    public static final int CONNECTION_ERROR = 10;
    public static final int LAST_IDENTIFIER = 100;

    public BrowserEvent(Object browser, int action);
    public int getID();
}

B.5.2 BrowserFactory

public class BrowserFactory
{
    private BrowserFactory();

    public static void setBrowserFactoryImpl(
        BrowserFactoryImpl fac)
        throws IllegalArgumentException,
               X3DException,
               SecurityException;

    public static X3DComponent createX3DComponent(Map params)
        throws NotSupportedException;

    public static ExternalBrowser getBrowser(Applet applet)
        throws NotSupportedException,
               NoSuchBrowserException,
               ConnectionException;

    public static ExternalBrowser getBrowser(Applet applet,
                                             String frameName,
                                             int index)
        throws NotSupportedException,
               NoSuchBrowserException,
               ConnectionException;

    public static ExternalBrowser getBrowser(InetAddress address, int port)
        throws NotSupportedException,
               NoSuchBrowserException,
               UnknownHostException,
               ConnectionException;
}

B.5.3 X3DFieldEvent

public class X3DFieldEvent extends EventObject
{
    public X3DFieldEvent(Object src, double ts, Object data);
    public double getTime();
    public Object getData();
}

B.5.4 Matrix3

public class Matrix3
{
	public Matrix3();
	public void setIdentity();
    public void set(int row, int column)
    public float get(int row, int column)
    public void setTransform(SFVec2f translation,
                             SFVec3f rotation,
                             SFVec2f scale,
                             SFVec3f scaleOrientation,
                             SFVec2f center)
    public void getTransform(SFVec2f translation,
                             SFVec3f rotation,
                             SFVec2f scale)
    public Matrix3 inverse()
    public Matrix3 transpose()
    public Matrix3 multiplyLeft(Matrix3 mat)
    public Matrix3 multiplyRight(Matrix3 mat)
    public Matrix3 multiplyRowVector(SFVec3f vec)
    public Matrix3 multiplyColVector(SFVec3f vec)
}

B.5.5 Matrix4

public class Matrix4
{
	public Matrix4();
	public void setIdentity();
    public void set(int row, int column)
    public float get(int row, int column)
    public void setTransform(SFVec3f translation,
                             SFRotation rotation,
                             SFVec3f scale,
                             SFRotation scaleOrientation,
                             SFVec3f center)
    public void getTransform(SFVec3f translation,
                             SFRotation rotation,
                             SFVec3f scale)
    public Matrix3 inverse()
    public Matrix3 transpose()
    public Matrix3 multiplyLeft(Matrix4 mat)
    public Matrix3 multiplyRight(Matrix4 mat)
    public Matrix3 multiplyRowVector(SFVec3f vec)
    public Matrix3 multiplyColVector(SFVec3f vec)
}
--- X3D separator bar ---

cubeB.6  Statement interfaces

B.6.1 ComponentInfo

public interface ComponentInfo
{
    public String getName();
    public int getLevel();
    public String getTitle();
    public String getProviderURL();
    public String toX3DString();
}

B.6.2 ProfileInfo

public interface ProfileInfo
{
    public String getName();
    public String getTitle();
    public ComponentInfo[] getComponents();
    public String toX3DString();
}
--- X3D separator bar ---

cubeB.7  Exception definitions

B.7.1 X3DException

public class X3DException extends RuntimeException
{
	public X3DException();
	public X3DException(String);
}

B.7.2 BrowserNotSharedException

public class BrowserNotSharedException extends X3DException
{
	public BrowserNotSharedException();
	public BrowserNotSharedException(String);
}

B.7.3 ConnectionException

public class ConnectionException extends X3DException
{
	public ConnectionException();
	public ConnectionException(String);
}

B.7.4 ImportedNodeException

public class ImportedNodeException extends X3DException
{
	public ImportedNodeException();
	public ImportedNodeException(String);
}

B.7.5 InsufficientCapabilitiesException

public class InsufficientCapabilitiesException extends X3DException
{
	public InsufficientCapabilitiesException();
	public InsufficientCapabilitiesException(String);
}

B.7.6 InvalidBrowserException

public class InvalidBrowserException extends X3DException
{
	public InvalidBrowserException();
	public InvalidBrowserException(String);
}

B.7.7 InvalidDocumentException

public class InvalidDocumentException extends X3DException
{
	public InvalidDocumentException();
	public InvalidDocumentException(String);
}

B.7.8 InvalidExecutionContextException

public class InvalidExecutionContextException extends X3DException
{
	public InvalidExecutionContextException();
	public InvalidExecutionContextException(String);
}

B.7.9 InvalidFieldException

public class InvalidFieldException extends X3DException
{
	public InvalidFieldException();
	public InvalidFieldException(String);
}

B.7.10 InvalidFieldValueException

public class InvalidFieldValueException extends X3DException
{
	public InvalidFieldValueException();
	public InvalidFieldValueException(String);
}

B.7.11 InvalidNodeException

public class InvalidNodeException extends X3DException
{
	public InvalidNodeException();
	public InvalidNodeException(String);
}

B.7.12 InvalidOperationTimingException

public class InvalidOperationTimingException extends X3DException
{
	public InvalidOperationTimingException();
	public InvalidOperationTimingException(String);
}

B.7.13 InvalidProtoException

public class InvalidProtoException extends X3DException
{
	public InvalidProtoException();
	public InvalidProtoException(String);
}

B.7.14 InvalidRouteException

public class InvalidRouteException extends X3DException
{
	public InvalidRouteException();
	public InvalidRouteException(String);
}

B.7.15 InvalidURLException

public class InvalidURLException extends X3DException
{
	public InvalidURLException();
	public InvalidURLException(String);
}

B.7.16 InvalidX3DException

public class InvalidX3DException extends X3DException
{
	public InvalidX3DException();
	public InvalidX3DException(String);
}

B.7.17 NodeInUseException

public class NodeInUseException extends X3DException
{
	public NodeInUseException();
	public NodeInUseException(String);
}

B.7.18 NodeUnavailableException

public class NodeUnavailableException extends X3DException
{
	public NodeUnavailableException();
	public NodeUnavailableException(String);
}

B.7.19 NoSuchBrowserException

public class NoSuchBrowserException extends X3DException
{
	public NoSuchBrowserException();
	public NoSuchBrowserException(String);
}

B.7.20 NotSupportedException

public class NotSupportedException extends X3DException
{
	public NotSupportedException();
	public NotSupportedException(String);
}

B.7.21 URLUnavailableException

public class URLUnavailableException extends X3DException
{
	public URLUnavailableException();
	public URLUnavailableException(String);
}
--- X3D separator bar ---

TODO

NOTE 1. Revisions to this document are autogenerated based on X3D Schema updates.

NOTE 2. This TODO section needs to be removed when the actual specification document is submitted to ISO for review.

TODO. Continue node signature verification and best-practice design patterns.

DONE. Sections for Annex B.1 B.2 B.3 and B.4 are being generated. Need to be re-verified to ensure that no side effects have crept in during incremental development.

DONE. Original code sections for Annex B.4.1 through B.4.6 needs to be inserted.

DONE. Original prose sections for Annex B.5 B.6 and B.7 has been inserted.

URLs.
Autogenerated version online at http://www.web3d.org/specifications/JavaLanguageBinding/Part2/nodeTypeInterfaces.html
ISO-approved version online at http://www.web3d.org/documents/specifications/19777-2/V3.3/Part2/abstracts.html