iicm.vrml.pw
Class ProtoNode

java.lang.Object
  extended by iicm.vrml.pw.Node
      extended by iicm.vrml.pw.GroupNode
          extended by iicm.vrml.pw.ProtoNode
All Implemented Interfaces:
GotEventCallback

public class ProtoNode
extends GroupNode

ProtoNode - PROTO or EXTERNPROTO node definition Copyright (c) 1996,97 IICM

Version:
0.1, changed: 8 Jan 97
Author:
Michael Pichler, Karin Roschker

Field Summary
 boolean external
           
 java.util.Hashtable protofields
          prototyped fields
 java.lang.String protoname
           
(package private)  boolean readingprotofields
           
 MFString urls_
           
 
Fields inherited from class iicm.vrml.pw.GroupNode
addChildren, children, removeChildren
 
Fields inherited from class iicm.vrml.pw.Node
DEF_KEYWORD, EXTERNPROTO_KEYWORD, fieldIScontent, newISname, newISnum, objname, PROTO_KEYWORD, ROUTE_KEYWORD, SCRIPT_KEYWORD, subfields, USE_KEYWORD, userdata
 
Constructor Summary
ProtoNode(java.lang.String name, boolean extern)
           
 
Method Summary
(package private)  Field getProtoISfield(java.lang.String name)
          get the proto field that IS associated with a name
 java.lang.String nodeName()
          the node's name
(package private)  void readFields(VRMLparser parser)
          called both from readProtoBody ([]) and readNodeBody ({})
(package private)  void readProtoBody(VRMLparser parser)
          read the field declarations (within "[" ... "]")
(package private)  void readProtoFields(VRMLparser parser)
          read the prototyped fields (inside "[" ... "]")
(package private)  void readProtoURLs(VRMLparser parser)
          body of EXTERNPROTO: SFString URLs
 void traverse(Traverser t)
          must call appropriate method of Traverser for node traversal
 void writeNode(java.io.PrintStream os, java.util.Hashtable writtenrefs)
          write the prototype definition
 void writeX3dNode(VRMLparser parser, java.io.PrintStream os, java.util.Hashtable writtenrefs, int depth)
          write X3d node to output stream
 
Methods inherited from class iicm.vrml.pw.GroupNode
getChildrenEnumerator, gotEventCB, readNodes, readNodes, writeNodes, writeX3dNodes, writeX3dNodes, writeX3dNodes, writeX3dNodes, writeX3dNodes
 
Methods inherited from class iicm.vrml.pw.Node
addField, addRoute, atCurrLine, createInstanceFromName, deleteRoute, getEvent, readNode, readNodeBody, readNodeBody, tab, traverseNode, writeSubfield, writeSubfields, writeX3dISfields, writeX3dNode, writeX3dNode, writeX3dSubfield, writeX3dSubfields, writeX3dSubfields
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

protoname

public java.lang.String protoname

readingprotofields

boolean readingprotofields

external

public boolean external

urls_

public MFString urls_

protofields

public java.util.Hashtable protofields
prototyped fields

Constructor Detail

ProtoNode

ProtoNode(java.lang.String name,
          boolean extern)
Method Detail

nodeName

public java.lang.String nodeName()
Description copied from class: Node
the node's name

Overrides:
nodeName in class GroupNode

traverse

public void traverse(Traverser t)
Description copied from class: Node
must call appropriate method of Traverser for node traversal

Overrides:
traverse in class GroupNode

readProtoBody

void readProtoBody(VRMLparser parser)
read the field declarations (within "[" ... "]")


readFields

void readFields(VRMLparser parser)
called both from readProtoBody ([]) and readNodeBody ({})

Overrides:
readFields in class Node

readProtoURLs

void readProtoURLs(VRMLparser parser)
body of EXTERNPROTO: SFString URLs


readProtoFields

void readProtoFields(VRMLparser parser)
read the prototyped fields (inside "[" ... "]")


getProtoISfield

Field getProtoISfield(java.lang.String name)
get the proto field that IS associated with a name


writeNode

public void writeNode(java.io.PrintStream os,
                      java.util.Hashtable writtenrefs)
write the prototype definition

Overrides:
writeNode in class Node

writeX3dNode

public void writeX3dNode(VRMLparser parser,
                         java.io.PrintStream os,
                         java.util.Hashtable writtenrefs,
                         int depth)
Description copied from class: Node
write X3d node to output stream

Overrides:
writeX3dNode in class Node