Class ProtoBodyObject

java.lang.Object

public class ProtoBodyObject
extends X3DConcreteStatement
ProtoBody contains the definition nodes for new Prototype nodes. This concrete class represents an X3D ProtoBody statement.

X3D statement tooltip: [X3D statement] ProtoBody statement follows the ProtoInterface statement in a ProtoDeclare statement, providing the scene-subgraph node definitions.
  • Hint: initial scene node in a ProtoDeclare/ProtoBody statement determines this prototype's node type.
  • Warning: only the first top-level node and its children are rendered, subsequent nodes (such as Scripts and ROUTEs) are active but are not drawn.
See Also:
X3D Abstract Specification: ProtoBody, X3D Tooltips: ProtoBody, X3D Scene Authoring Hints: InlinesPrototypes
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String COMPONENT
    String constant COMPONENT defines X3D component for the ProtoBody element: Core
    static int LEVEL
    Integer constant LEVEL provides default X3D Core component level for this element: 2
    static java.lang.String NAME
    String constant NAME provides name of this element: ProtoBody.

    Fields inherited from class org.web3d.x3d.jsail.X3DConcreteElement

    validationResult
  • Constructor Summary

    Constructors 
    Constructor Description
    ProtoBodyObject()
    Constructor for ProtoBodyObject to initialize member variables with default values.
  • Method Summary

    Modifier and Type Method Description
    ProtoBodyObject addChild​(X3DNode newValue)
    Utility method to add single child element to contained list of existing children nodes (if any).
    ProtoBodyObject addChildren​(ProtoInstanceObject newValue)
    Add single ProtoInstanceObject (with appropriate node type and containerField value) to MFNode array for children field.
    void addChildren​(X3DNode newValue)
    Add single node to existing array of children nodes (if any).
    void addChildren​(X3DNode[] newValue)
    Add array of children nodes to array of existing nodes (if any).
    ProtoBodyObject addComments​(java.lang.String newComment)
    Add comment as CommentsBlock to children field
    ProtoBodyObject addComments​(java.lang.String[] newComments)
    Add comments as String[] array to children field
    ProtoBodyObject addComments​(CommentsBlock newCommentsBlock)
    Add CommentsBlock to children field
    ProtoBodyObject clearChildren()
    Utility method to clear MFNode value of children field.
    X3DConcreteElement findElementByNameValue​(java.lang.String nameValue)
    Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element.
    X3DConcreteElement findElementByNameValue​(java.lang.String nameValue, java.lang.String elementName)
    Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element.
    X3DConcreteNode findNodeByDEF​(java.lang.String DEFvalue)
    Recursive method to provide object reference to node by DEF, if found as this node or in a contained node.
    java.lang.String getAccessType​(java.lang.String fieldName)
    Indicate accessType corresponding to given fieldName.
    java.util.ArrayList<X3DNode> getChildren()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field children.
    java.lang.String getComponent()
    Defines X3D component for the ProtoBody element: Core
    int getComponentLevel()
    Provides default X3D component level for this element: 2
    java.lang.String getContainerFieldDefault()
    Utility method that provides default containerField value for initial node in ProtoDeclare.
    java.lang.String getElementName()
    Provides name of this element: ProtoBody
    java.lang.String getFieldType​(java.lang.String fieldName)
    Indicate type corresponding to given fieldName.
    java.lang.String getName()
    Utility method to inspect parent ProtoDeclare and provide String value from inputOutput SFString field named name.
    java.lang.String getNodeType()
    First node within ProtoDeclare ProtoBody determines node type of corresponding ProtoInstance, local reference maintained in member variable named primaryNode.
    boolean hasChildren()
    Indicate whether an object is available for inputOutput MFNode field children.
    boolean hasElementByNameValue​(java.lang.String nameValue, java.lang.String elementName)
    Recursive method to determine whether node or statement with given name attribute is found, meaning both objects are attached to same scene graph.
    boolean hasNodeByDEF​(java.lang.String DEFvalue)
    Recursive method to determine whether node with DEFvalue is found, meaning both objects are attached to same scene graph.
    void initialize()
    Initialize all member variables to default values.
    ProtoBodyObject setChildren​(java.util.ArrayList<X3DNode> newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field children.
    void setChildren​(X3DNode newValue)
    Set single children node, replacing prior array of existing nodes (if any).
    java.lang.String toStringClassicVRML​(int indentLevel)
    Recursive method to provide ClassicVRML string serialization.
    java.lang.String toStringVRML97​(int indentLevel)
    Recursive method to provide VRML97 string serialization.
    java.lang.String toStringX3D​(int indentLevel)
    Recursive method to provide X3D string serialization of this model subgraph, utilizing XML encoding and conforming to X3D Canonical Form.
    java.lang.String validate()
    Recursive method to validate this element plus all contained nodes and statements, using both datatype-specification value checks and regular expression (regex) checking of corresponding string values.

    Methods inherited from class org.web3d.x3d.jsail.X3DConcreteStatement

    isNode, isStatement

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait