Class dnx.lr.Node
All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class dnx.lr.Node

java.lang.Object
   |
   +----dnx.util.DNXObject
           |
           +----dnx.lr.Node

public class Node
extends DNXObject
implements DNXObservable
Node is the base class for all VRML nodes.

Variable Index

 o debugShowBoundingBoxes
 o debugShowFlags
 o debugShowUsingNodes
 o instances
A pointer to the first of a list of the node's instances.
 o name
The name of the node.

Constructor Index

 o Node()

Method Index

 o addObserver(DNXObserver)
 o addObserver(DNXObserver, int)
 o boundingBox(BoundingBox3)
External function: set the argument to the bounding box of the node.
 o boundingBoxHasChanged(Field)
Meant to be overridden by subclasses.
 o circularityCheckNewNode(Node)
 o classToNodeTypeName(Class)
 o clone()
Clone this node and all of its fields.
 o countIncomingRoutes()
 o countIncomingRoutes(int)
 o countInvisibleIncomingRoutes()
 o countInvisibleOutgoingRoutes()
 o countObservers()
 o countOccurrences()
Return the number of times the node occurs in its NodeTreeContext.
 o countOutgoingRoutes()
 o countOutgoingRoutes(int)
It's not acceptable to optimize away eventOuts if there aren't any routes going out, because there still may be node observers, and even if not, a Script node can call getEventOut() on any Node at any time and query it to get the last value sent out.
 o createExtensionNode(String, ReadAction)
Creates an extension node and initializes its field to the default values.
 o createInvisibleRoute(Node, int, Node, int)
 o createNode(String)
Creates a node and initializes its field to the default values.
 o createNodeDefinition(NodeDefinition)
Create the node definition.
 o debugPrint()
Print out the subgraph rooted at this node onto System.err.
 o debugPrintBriefly()
 o deepClone()
Clone this node and all of its fields.
 o deepClone(DeepCloneAction)
Clone this node and all of its fields.
 o deepCloneList(NodeList)
Do a deep clone of all nodes in the list, preserving shared structure across the entire list and destructively modifying the list with the cloned nodes.
 o deleteObserver(DNXObserver)
 o deleteObservers()
 o doTraverseInstances(InstancesOfNodeAction)
This function "continues" the recursion started by traverseInstances() -- it actually does the traversal, and is overridden by subnodes.
 o doTraverseUpwards(UpwardMapping)
"Continue" the upward traversal.
 o fieldChanged(Field)
fieldChanged is called whenever one of a node's fields is changed.
 o getDefinition()
Return a sanitized version of the definition.
 o getEventInIndex(String)
Look up an eventIn index given its name -- convenience function that's equivalent to getDefinition().getEventInIndex().
 o getEventOut(int)
Get the eventOut field at a specified index.
 o getEventOut(String)
Get the eventOut field of a given name, or null if there is no field of that name.
 o getEventOutIndex(Field)
Look up an eventOut index given a field that refers to an eventOut, or -1 if F is not one of the eventOut fields of this node.
 o getEventOutIndex(String)
Look up an eventOut index given its name -- convenience function that's equivalent to getDefinition().getEventOutIndex().
 o getEventOutName(Field)
Return the name of an eventOut field of this node, or null if F is not one of the eventOut fields of this node.
 o getField(int)
Get the field at a specified index.
 o getField(String)
Get the field of a given name, or null if there is no field of that name.
 o getFieldIndex(Field)
Look up a field index given the field, or -1 if F is not one of the fields of this node.
 o getFieldIndex(String)
Look up a field index given its name -- convenience function that's equivalent to getDefinition().getFieldIndex().
 o getFieldInstanceIndex(Field)
Return the index of the FieldInstance corresponding to a child-carrying field.
 o getFieldName(Field)
Return the name of a field of this node, or null if F is not one of the fields of this node.
 o getIncomingRoute(int, Node, int)
Look for a route from (FROM, EVENTOUT) to (THIS, EVENTIN).
 o getIncomingRoutes()
 o getIncomingRoutes(int)
 o getInstanceChildField(NodeInstance, int)
Get the child field instance of a node instance at the specified child field index.
 o getName()
Return the name of the node (or null if the node is unnamed).
 o getNodeTreeContext()
Return the NodeTreeContext that this node belongs to.
 o getObservableEngine()
 o getObserverEventMask()
 o getOutgoingRoute(int, Node, int)
Look for a route from (THIS, EVENTOUT) to (TO, EVENTIN).
 o getOutgoingRoutes()
 o getOutgoingRoutes(int)
 o getParents()
Return an enumeration of the parents of this node.
 o getPrimitiveNode()
Return the "actual" node at the root of the node tree rooted at node.
 o getProperty(Object)
Get the value of a property.
 o getProperty(Object, Object)
Get the value of a property.
 o getPropertyEqual(Object)
Like getProperty() but compare keys with equals().
 o getPropertyEqual(Object, Object)
Like getProperty() but compare keys with equals().
 o getSceneContext()
Return the SceneContext that this node belongs to.
 o getUniquifiedInstance()
If there's a uniquified instance of this node, return it; Otherwise return null.
 o getUniquifiedInstanceOtherThan(NodeInstance)
 o handleAddToContext()
The handleAddToContext method is called when a node has just been added to a NodeTreeContext.
 o handleAddToScene()
The handleAddToScene method is called when a node has just been added to a scene.
 o handleEvent(SceneEvent)
Handle an event.
 o handleFieldChange(Field)
Handle a field change.
 o handleFrameEvent(double)
 o handleInstanceAttach(NodeInstance)
 o handleInstanceDetach(NodeInstance)
 o handleRemoveFromContext()
The handleRemoveFromContext method is called when a node is about to be removed from a NodeTreeContext.
 o handleRemoveFromScene()
The handleRemoveFromScene method is called when a node is about to be removed from a scene.
 o handleRestart()
The handleRestart method is called when a stopped scene is restarted.
 o handleStop()
The handleStop method is called when the scene is stopped.
 o handleSyncEvent()
 o hasRoutes()
Return true if there are any routes going into or out of the node.
 o hasVisibleRoutes()
Return true if there are any non-internal routes going into or out of the node.
 o initFields()
Initialize field values.
 o isBindableNode()
 o isGeometryNode()
 o isGroupingNode()
 o isLeafNode()
 o isPointerSensorNode()
 o isSubsidiaryNode()
 o isSubtreePropertyNode()
 o isTextureNode()
 o isTransformGroupingNode()
 o makeInstance()
Return a non-uniquified instance of this node.
 o mapAllInstanceChildren(NodeInstance, ChildInstanceMapper, Object)
 o mapAllNodeChildren(ChildNodeMapper, Object)
 o mapAllTraversalPathInstanceChildren(NodeInstance, ChildInstanceMapper, Camera, Matrix4, Object)
 o mapAllTraversalPathNodeChildren(ChildNodeMapper, Camera, Matrix4, Object)
 o mapAuxGeomInstanceChildren(NodeInstance, ChildInstanceMapper, Object)
 o mapAuxGeomNodeChildren(ChildNodeMapper, Object)
 o mapInstances(InstanceMapper, Object)
Map over all node instance objects of a node, calling fun.instanceMapperCallback on each one.
 o mapNormalInstanceChildren(NodeInstance, ChildInstanceMapper, Object)
 o mapNormalNodeChildren(ChildNodeMapper, Object)
 o mapParents(ParentMapper, Object)
 o mapTraversalPathInstanceChildren(NodeInstance, ChildInstanceMapper, Camera, Matrix4, Object)
 o mapTraversalPathNodeChildren(ChildNodeMapper, Camera, Matrix4, Object)
 o nodeTypeNameToClass(String)
 o potentialChildCarryingFieldChange(Field, Node)
 o print(PrintAction)
Print out the subgraph rooted at this node.
 o putProperty(Object, Object)
Add an arbitrary property to a node instance.
 o putPropertyEqual(Object, Object)
Like putProperty() but compare keys with equals().
 o readNode(ReadAction)
Parse and create a new node.
 o recomputeBoundingBox(BoundingBox3)
Meant to be overridden by subclasses; compute the bounding box and store into the argument.
 o removeProperty(Object)
Remove a property from a node instance.
 o removePropertyEqual(Object)
Like removeProperty() but compare keys with equals().
 o setName(String)
Name the node.
 o toString()
 o traverse(NodeTraversal)
Perform a traversal of NODE and any of its children.
 o traverseInstances(InstancesOfNodeAction)
Visit all node instance objects of a node.
 o traverseUpwards(UpwardMapping)
Perform an upward traversal of this node and any of its parents.
 o typeName()
Get the name of the type of this node.
 o unionBoundingBox(BoundingBox3, MFNode)
Union the existing bounding box in BOX with the bounding boxes of all the fields in F.
 o updateObservers(Object)
 o warn(String)

Variables

 o name
  protected String name
The name of the node.
 o instances
  protected NodeInstance instances
A pointer to the first of a list of the node's instances. If there is a non-uniquified instance, it is the first in the list. The rest are uniquified instances, but only those that belong within the scene. (The list is threaded through the nextLinked/prevLinked fields of each instance in the list.) There may also be ghosted instances outside of the scene. However, these are not tracked, either here or in the nextLinked/ prevLinked fields of the instances within the scene.
 o debugShowUsingNodes
  public static boolean debugShowUsingNodes
 o debugShowFlags
  public static boolean debugShowFlags
 o debugShowBoundingBoxes
  public static boolean debugShowBoundingBoxes

Constructors

 o Node
  public Node()

Methods

 o classToNodeTypeName
  public static String classToNodeTypeName(Class cl)
 o nodeTypeNameToClass
  public static Class nodeTypeNameToClass(String type)
 o createNodeDefinition
  protected abstract void createNodeDefinition(NodeDefinition def)
Create the node definition. This method is only called when constructing the first instance of the node class. By default, it leaves the NodeDefinition empty--no fields, no defaults
 o initFields
  protected abstract void initFields()
Initialize field values.
 o setName
  public void setName(String s)
Name the node.
 o getName
  public String getName()
Return the name of the node (or null if the node is unnamed).
 o getNodeTreeContext
  public final NodeTreeContext getNodeTreeContext()
Return the NodeTreeContext that this node belongs to. @see NodeTreeContext
 o getSceneContext
  public final SceneContext getSceneContext()
Return the SceneContext that this node belongs to. This is gotten by retrieving the SceneContext of the NodeTreeContext.
 o getDefinition
  public ConstNodeDefinition getDefinition()
Return a sanitized version of the definition. @see ConstNodeDefinition
 o getFieldIndex
  public int getFieldIndex(String name)
Look up a field index given its name -- convenience function that's equivalent to getDefinition().getFieldIndex().
 o getEventInIndex
  public int getEventInIndex(String name)
Look up an eventIn index given its name -- convenience function that's equivalent to getDefinition().getEventInIndex().
 o getEventOutIndex
  public int getEventOutIndex(String name)
Look up an eventOut index given its name -- convenience function that's equivalent to getDefinition().getEventOutIndex().
 o getFieldIndex
  public int getFieldIndex(Field f)
Look up a field index given the field, or -1 if F is not one of the fields of this node.
 o getEventOutIndex
  public int getEventOutIndex(Field f)
Look up an eventOut index given a field that refers to an eventOut, or -1 if F is not one of the eventOut fields of this node.
 o getFieldInstanceIndex
  public int getFieldInstanceIndex(Field f)
Return the index of the FieldInstance corresponding to a child-carrying field.
 o getFieldName
  public String getFieldName(Field f)
Return the name of a field of this node, or null if F is not one of the fields of this node.
 o getEventOutName
  public String getEventOutName(Field f)
Return the name of an eventOut field of this node, or null if F is not one of the eventOut fields of this node.
 o getField
  public Field getField(int index)
Get the field at a specified index.
 o getField
  public Field getField(String name)
Get the field of a given name, or null if there is no field of that name.
 o getEventOut
  public Field getEventOut(int index)
Get the eventOut field at a specified index.
 o getEventOut
  public Field getEventOut(String name)
Get the eventOut field of a given name, or null if there is no field of that name.
 o getParents
  public Enumeration getParents()
Return an enumeration of the parents of this node. If this node occurs multiple times under the same parent, that parent will be returned multiple times by the enumeration (although all such occurrences will be contiguous).
 o getInstanceChildField
  protected FieldInstance getInstanceChildField(NodeInstance inst,
                                                int index)
Get the child field instance of a node instance at the specified child field index. This is *NOT* the same as the field index; use fieldIndexToFieldInstanceIndex() and fieldInstanceIndexToFieldIndex() (on the definition) to convert.
 o readNode
  public static Node readNode(ReadAction a) throws IOException, VRMLSyntaxException
Parse and create a new node. This method returns null if a node can't be read because EOF is reached.
 o createNode
  public static Node createNode(String nodeName)
Creates a node and initializes its field to the default values. This searches the CLASSPATH. This returns null if the node type is not recognized.
 o createExtensionNode
  public static Node createExtensionNode(String classname,
                                         ReadAction a)
Creates an extension node and initializes its field to the default values. This searches in the `classes/' subdirectory of the URL of the scene loaded or being loaded, as specified in the ReadAction. Note that this will dynamically load new node types as necessary -- this allows a very powerful form of extensibility. This returns null if the node type cannot be loaded.
 o deepClone
  public Object deepClone()
Clone this node and all of its fields. The new node is in no scene. Recursively clone all child nodes, making sure to preserve any structure-sharing.
 o deepClone
  public Object deepClone(DeepCloneAction a)
Clone this node and all of its fields. The new node is in no scene. Recursively clone all child nodes, making sure to preserve any structure-sharing. Use the provided DeepCloneAction. (Doing it this way allows access to the hashtable in the DeepCloneAction that maps nodes to their clones.) The DeepCloneAction is not cleared out before doing the deep clone. This means that you can do successive deep clones of multiple nodes and preserve shared structure across all of them by successively calling this function, passing in the same DeepCloneAction each time.
 o deepCloneList
  public static void deepCloneList(NodeList li)
Do a deep clone of all nodes in the list, preserving shared structure across the entire list and destructively modifying the list with the cloned nodes. Note that you can get an equivalent result using deepClone (DeepCloneAction), but this function may be a bit more convenient.
 o clone
  public Object clone()
Clone this node and all of its fields. The new node is in no scene.
Overrides:
clone in class Object
 o getObservableEngine
  public DNXObservableEngine getObservableEngine()
 o getObserverEventMask
  public int getObserverEventMask()
 o addObserver
  public void addObserver(DNXObserver o)
 o addObserver
  public void addObserver(DNXObserver o,
                          int mask)
 o countObservers
  public synchronized int countObservers()
 o deleteObserver
  public synchronized void deleteObserver(DNXObserver o)
 o deleteObservers
  public synchronized void deleteObservers()
 o updateObservers
  protected void updateObservers(Object o)
 o createInvisibleRoute
  protected Route createInvisibleRoute(Node fromNode,
                                       int outEvent,
                                       Node toNode,
                                       int inEvent)
 o countIncomingRoutes
  public final synchronized int countIncomingRoutes(int index)
 o countIncomingRoutes
  public final synchronized int countIncomingRoutes()
 o countInvisibleIncomingRoutes
  public final synchronized int countInvisibleIncomingRoutes()
 o countOutgoingRoutes
  public final synchronized int countOutgoingRoutes(int index)
It's not acceptable to optimize away eventOuts if there aren't any routes going out, because there still may be node observers, and even if not, a Script node can call getEventOut() on any Node at any time and query it to get the last value sent out.
 o countOutgoingRoutes
  public final synchronized int countOutgoingRoutes()
 o countInvisibleOutgoingRoutes
  public final synchronized int countInvisibleOutgoingRoutes()
 o getIncomingRoutes
  public Enumeration getIncomingRoutes(int index)
 o getOutgoingRoutes
  public Enumeration getOutgoingRoutes(int index)
 o getIncomingRoutes
  public Enumeration getIncomingRoutes()
 o getOutgoingRoutes
  public Enumeration getOutgoingRoutes()
 o getIncomingRoute
  public Route getIncomingRoute(int eventIn,
                                Node from,
                                int eventOut)
Look for a route from (FROM, EVENTOUT) to (THIS, EVENTIN). Return the route if it exists; otherwise, return null.
 o getOutgoingRoute
  public Route getOutgoingRoute(int eventOut,
                                Node to,
                                int eventIn)
Look for a route from (THIS, EVENTOUT) to (TO, EVENTIN). Return the route if it exists; otherwise, return null.
 o hasRoutes
  public final synchronized boolean hasRoutes()
Return true if there are any routes going into or out of the node.
 o hasVisibleRoutes
  public final synchronized boolean hasVisibleRoutes()
Return true if there are any non-internal routes going into or out of the node.
 o putProperty
  public void putProperty(Object key,
                          Object value)
Add an arbitrary property to a node instance. This mechanism allows you to attach instance-specific data to an instance. Keys are compared using the `==' operator. Therefore, don't use strings as keys; instead, use the Symbol object, by calling Symbol.intern ("string") to convert a string into a Symbol. If the key already exists, its value is replaced. @see dnx.util.Symbol @see dnx.util.PropertyList
 o getProperty
  public Object getProperty(Object key)
Get the value of a property. Keys are compared using the `==' operator; this means that the keys should not be strings (use Symbols instead). If the key is not found, null is returned. @see dnx.util.Symbol @see dnx.util.PropertyList
 o getProperty
  public Object getProperty(Object key,
                            Object defalt)
Get the value of a property. Keys are compared using the `==' operator; this means that the keys should not be strings (use Symbols instead). If the key is not found, DEFALT is returned. @see dnx.util.Symbol @see dnx.util.PropertyList
 o removeProperty
  public boolean removeProperty(Object key)
Remove a property from a node instance. Keys are compared using the `==' operator; this means that the keys should not be strings (use Symbols instead). Return value is true if the key was found. @see dnx.util.Symbol @see dnx.util.PropertyList
 o putPropertyEqual
  public void putPropertyEqual(Object key,
                               Object value)
Like putProperty() but compare keys with equals().
 o getPropertyEqual
  public Object getPropertyEqual(Object key)
Like getProperty() but compare keys with equals().
 o getPropertyEqual
  public Object getPropertyEqual(Object key,
                                 Object defalt)
Like getProperty() but compare keys with equals().
 o removePropertyEqual
  public boolean removePropertyEqual(Object key)
Like removeProperty() but compare keys with equals().
 o potentialChildCarryingFieldChange
  protected void potentialChildCarryingFieldChange(Field f,
                                                   Node newValue)
 o fieldChanged
  public final void fieldChanged(Field f)
fieldChanged is called whenever one of a node's fields is changed. It is called by particular field classes as necessary. You should not call it yourself. This method handles posting _changed events to any listeners, and then calls handleFieldChange(), which may be overridden by nodes that want to do something interesting when their field values change.
 o boundingBox
  public void boundingBox(BoundingBox3 box)
External function: set the argument to the bounding box of the node.
 o recomputeBoundingBox
  protected void recomputeBoundingBox(BoundingBox3 box)
Meant to be overridden by subclasses; compute the bounding box and store into the argument.
 o boundingBoxHasChanged
  protected boolean boundingBoxHasChanged(Field f)
Meant to be overridden by subclasses. A change has happened to the given field and we've already called handleFieldChange(); return true if the bounding box might have changed. If you define recomputeBoundingBox(), you should consider very strongly defining this as well.
 o unionBoundingBox
  protected void unionBoundingBox(BoundingBox3 box,
                                  MFNode f)
Union the existing bounding box in BOX with the bounding boxes of all the fields in F. This doesn't reset BOX first; you've got to do that yourself if you want that behavior.
 o handleFieldChange
  protected void handleFieldChange(Field f)
Handle a field change. This is called whenever any of the fields of the node changes its value. This includes when a node is read in, for all fields with values specified. (For fields that are not explicitly specified in the VRML file, and thus assume their default value, handleFieldChange() on the field is not called.) Note the following caveats: -- Nodes that override this method *MUST* call their superclass's handleFieldChange() method, preferably at the end of the overriding method. -- A change to one of the fields of a child of a node does not cause the node's handleFieldChange() method to be called. If you want such changes propagated up, the child node needs to explicitly propagate it up to all parents. -- If your handleFieldChange() method propagates changes up to its parents, you should be aware of the following additional caveats: -- As well as receiving field-change propagations from its children, the parent node should note whenever children are added or deleted (i.e. handleFieldChange() is called on one of its child- carrying fields) and do the same as if it received a field-change propagation from a child. -- Nodes that are not within a NodeTreeContext do not keep track of their parent nodes. Therefore, adding a node to a NodeTreeContext will suddenly cause the node to "gain" more children for the purpose of propagation up from those children. In other words, a node that receives field-change propagations from its children should override handleAddToContext() and do the same as if it received a field-change propagation from a child. (And remember that handleAddToContext() needs to chain to its superclass just like handleFieldChange().) Note also that changes to fields (and a corresponding call to handleFieldChange()) can occur for various reasons, e.g. as a result of an event being sent or simply because some Java code explicitly modifies the field.
 o handleEvent
  protected void handleEvent(SceneEvent ev)
Handle an event.
 o handleAddToScene
  protected void handleAddToScene()
The handleAddToScene method is called when a node has just been added to a scene. getSceneContext() specifies the scene. (Adding to a scene means that getSceneContext() changes from null to non-null.) The default method just does nothing. Note that when a tree of nodes is added to a scene, handleAddToScene() is called from the bottom up (post-order). -- Nodes that override this method *MUST* call their superclass's handleAddToScene() method, preferably at the end of the overriding method.
 o handleRemoveFromScene
  protected void handleRemoveFromScene()
The handleRemoveFromScene method is called when a node is about to be removed from a scene. getSceneContext() specifies the scene. (Removing from a scene means that getSceneContext() changes from non-null to null.) The default method just does nothing. Note that when a tree of nodes is removed from a scene, handleRemoveFromScene() is called from top down (pre-order). Note the following caveats: -- Nodes that override this method *MUST* call their superclass's handleRemoveFromScene() method, preferably at the end of the overriding method.
 o handleAddToContext
  protected void handleAddToContext()
The handleAddToContext method is called when a node has just been added to a NodeTreeContext. getNodeTreeContext() specifies the NodeTreeContext. (Adding to a NodeTreeContext means that getNodeTreeContext() changes from null to non-null.) The default method just does nothing. Note that when a tree of nodes is added to a context, handleAddToContext() is called from the bottom up (post-order). However, at the time that handleAddToContext() is called on a node, all parent nodes will already have the new context set on them. Note the following caveats: -- Nodes that override this method *MUST* call their superclass's handleAddToContext() method, preferably at the end of the overriding method. -- See handleFieldChange() about the relationship between it and this method.
 o handleRemoveFromContext
  protected void handleRemoveFromContext()
The handleRemoveFromContext method is called when a node is about to be removed from a NodeTreeContext. getNodeTreeContext() specifies the NodeTreeContext. (Removing from a NodeTreeContext means that getNodeTreeContext() changes from non-null to null.) The default method just does nothing. Note that when a tree of nodes is removed from a scene, handleRemoveFromContext() is called from top down (pre-order). Note the following caveats: -- Nodes that override this method *MUST* call their superclass's handleRemoveFromContext() method, preferably at the end of the overriding method.
 o handleInstanceAttach
  protected void handleInstanceAttach(NodeInstance inst)
 o handleInstanceDetach
  protected void handleInstanceDetach(NodeInstance inst)
 o handleFrameEvent
  protected void handleFrameEvent(double time)
 o handleSyncEvent
  protected void handleSyncEvent()
 o handleStop
  protected void handleStop()
The handleStop method is called when the scene is stopped. If a node has any threads running, it should stop them.
 o handleRestart
  protected void handleRestart()
The handleRestart method is called when a stopped scene is restarted. If a node needs to restart any threads, it should do so here. Note that this method is *NOT* called when a node is first added to a scene. If you want to start a thread or do similar action at that time, you should override handleAddToScene().
 o debugPrint
  public void debugPrint()
Print out the subgraph rooted at this node onto System.err.
 o debugPrintBriefly
  public void debugPrintBriefly()
 o print
  public void print(PrintAction a)
Print out the subgraph rooted at this node.
 o getUniquifiedInstance
  public NodeInstance getUniquifiedInstance()
If there's a uniquified instance of this node, return it; Otherwise return null. In general, it's a bad idea to call this -- it probably indicates a logic flaw in your program, and using this function means that you don't handle multiply-instanced nodes correctly. But in some cases, there's no help for this (partially due to general bogosities and ill-thoughtedness in the VRML 2.0 spec, esp. w.r.t. bindable nodes).
 o getUniquifiedInstanceOtherThan
  public NodeInstance getUniquifiedInstanceOtherThan(NodeInstance notThis)
 o makeInstance
  protected NodeInstance makeInstance()
Return a non-uniquified instance of this node. Note that at most one non-uniquified instance exists at any one time, so this will simply return the existing one if there is one. If you're thinking about calling this, think again. In general, you never ever want to see non-uniquified nodes.
 o mapAllNodeChildren
  public final boolean mapAllNodeChildren(ChildNodeMapper fun,
                                          Object mapData)
 o mapAllTraversalPathNodeChildren
  public final boolean mapAllTraversalPathNodeChildren(ChildNodeMapper fun,
                                                       Camera cam,
                                                       Matrix4 objectToViewerMatrix,
                                                       Object mapData)
 o mapNormalNodeChildren
  public boolean mapNormalNodeChildren(ChildNodeMapper fun,
                                       Object mapData)
 o mapAuxGeomNodeChildren
  public final boolean mapAuxGeomNodeChildren(ChildNodeMapper fun,
                                              Object mapData)
 o mapTraversalPathNodeChildren
  public boolean mapTraversalPathNodeChildren(ChildNodeMapper fun,
                                              Camera cam,
                                              Matrix4 objectToViewerMatrix,
                                              Object mapData)
 o mapParents
  public final boolean mapParents(ParentMapper fun,
                                  Object mapData)
 o mapInstances
  public final boolean mapInstances(InstanceMapper fun,
                                    Object mapData)
Map over all node instance objects of a node, calling fun.instanceMapperCallback on each one. Note that the first instance visited is the non-uniquified one. This is an *INTERNAL* function and the same provisos apply as for makeInstance().
 o mapAllInstanceChildren
  public final NodeInstance mapAllInstanceChildren(NodeInstance inst,
                                                   ChildInstanceMapper fun,
                                                   Object mapData)
 o mapAllTraversalPathInstanceChildren
  public final NodeInstance mapAllTraversalPathInstanceChildren(NodeInstance inst,
                                                                ChildInstanceMapper fun,
                                                                Camera cam,
                                                                Matrix4 objectToViewerMatrix,
                                                                Object mapData)
 o mapNormalInstanceChildren
  public NodeInstance mapNormalInstanceChildren(NodeInstance inst,
                                                ChildInstanceMapper fun,
                                                Object mapData)
 o mapAuxGeomInstanceChildren
  public final NodeInstance mapAuxGeomInstanceChildren(NodeInstance inst,
                                                       ChildInstanceMapper fun,
                                                       Object mapData)
 o mapTraversalPathInstanceChildren
  public NodeInstance mapTraversalPathInstanceChildren(NodeInstance inst,
                                                       ChildInstanceMapper fun,
                                                       Camera cam,
                                                       Matrix4 objectToViewerMatrix,
                                                       Object mapData)
 o traverseInstances
  public final boolean traverseInstances(InstancesOfNodeAction a)
Visit all node instance objects of a node. Note that the first instance visited is the non-uniquified one. This is an *INTERNAL* function and the same provisos apply as for makeInstance().
 o doTraverseInstances
  public boolean doTraverseInstances(InstancesOfNodeAction a)
This function "continues" the recursion started by traverseInstances() -- it actually does the traversal, and is overridden by subnodes. Unless you're a subclass of Node, you generally do *NOT* want to be calling this. Call traverseInstances() instead, if you need to be messing with this at all.
 o traverse
  public final boolean traverse(NodeTraversal trav)
Perform a traversal of NODE and any of its children. The return value is true if the traversal was terminated early due to a visit() function having returned STOP. Don't confuse this with a traversal of a node instance. NOTE: If a node occurs multiple times in the scene, this will normally visit the node only once, unless the traversal object sets allowMultipleVisits to true.
 o traverseUpwards
  public boolean traverseUpwards(UpwardMapping um)
Perform an upward traversal of this node and any of its parents. The return value is true if the traversal was terminated early due to a visit() function having returned STOP.
 o doTraverseUpwards
  protected boolean doTraverseUpwards(UpwardMapping vart)
"Continue" the upward traversal.
 o circularityCheckNewNode
  public void circularityCheckNewNode(Node newParent)
 o countOccurrences
  public int countOccurrences()
Return the number of times the node occurs in its NodeTreeContext. This is the number of times that a DEF or USE of the node appears in the VRML file. This is not necessarily the same as the number of instances, which can be much greater with nested USE's.
 o warn
  protected void warn(String str)
 o typeName
  public String typeName()
Get the name of the type of this node. The type name is the class name minus the suffix 'Node' and the package name prefix. If the node was created from a prototype, typeName() returns the name of the prototype.
Overrides:
typeName in class DNXObject
 o toString
  public String toString()
Overrides:
toString in class Object
 o getPrimitiveNode
  public Node getPrimitiveNode()
Return the "actual" node at the root of the node tree rooted at node. If this is a PrototypeNode, the return value is the non-PrototypeNode that is the root of the prototype. Otherwise, the return value is this.
 o isBindableNode
  public final boolean isBindableNode()
 o isGeometryNode
  public final boolean isGeometryNode()
 o isGroupingNode
  public final boolean isGroupingNode()
 o isTransformGroupingNode
  public final boolean isTransformGroupingNode()
 o isLeafNode
  public final boolean isLeafNode()
 o isPointerSensorNode
  public final boolean isPointerSensorNode()
 o isSubtreePropertyNode
  public final boolean isSubtreePropertyNode()
 o isSubsidiaryNode
  public final boolean isSubsidiaryNode()
 o isTextureNode
  public final boolean isTextureNode()

All Packages  Class Hierarchy  This Package  Previous  Next  Index