Aviatrix3D
2.1.0

org.j3d.aviatrix3d
Class NodeComponent

java.lang.Object
  extended by org.j3d.aviatrix3d.SceneGraphObject
      extended by org.j3d.aviatrix3d.NodeComponent
Direct Known Subclasses:
AlphaAttributes, Appearance, AudioComponent, BlendAttributes, DepthAttributes, Geometry, GL14ShaderProgram, LineAttributes, Material, MultipassTextureComponent, PointAttributes, PolygonAttributes, Raster, Shader, ShaderArguments, ShaderProgram, StencilAttributes, TexCoordGeneration, Texture, TextureAttributes, TextureComponent, TextureUnit

public abstract class NodeComponent
extends SceneGraphObject

The NodeComponent class is the superclass for all non renderable nodes. These nodes provides data for other nodes.

Internationalisation Resource Names

Version:
$Revision: 1.14 $
Author:
Alan Hudson

Field Summary
protected  int lastParent
          Index to the next place to add items in the nodeList
protected  int liveCount
          Counter for how many times we've been marked as live so to know when to notify the children of a change of state.
protected  SceneGraphObject[] parentList
          Listing of all the parents of this node
 
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject
alive, LISTENER_SET_TIMING_ERR_PROP, updateHandler
 
Constructor Summary
protected NodeComponent()
          Initialise a new instance of the component, setting up the internal state needed.
 
Method Summary
protected  void addParent(SceneGraphObject p)
          Specify this nodes parent, overridden to provide behaviour that appends the node to the list rather than replacing it.
 void getParents(Node[] parents)
          Get the listing of the number of parents that this node currently has.
 int numParents()
          Request the number of parents this node currently contains
protected  void removeParent(SceneGraphObject p)
          Remove a parent from this shared group.
 
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject
checkForCyclicChild, checkForCyclicParent, dataChanged, getAppUpdateWriteTimingMessage, getBoundsWriteTimingMessage, getDataWriteTimingMessage, getUserData, isLive, setLive, setUpdateHandler, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parentList

protected SceneGraphObject[] parentList
Listing of all the parents of this node


lastParent

protected int lastParent
Index to the next place to add items in the nodeList


liveCount

protected int liveCount
Counter for how many times we've been marked as live so to know when to notify the children of a change of state.

Constructor Detail

NodeComponent

protected NodeComponent()
Initialise a new instance of the component, setting up the internal state needed.

Method Detail

addParent

protected void addParent(SceneGraphObject p)
                  throws AlreadyParentedException,
                         InvalidNodeTypeException
Specify this nodes parent, overridden to provide behaviour that appends the node to the list rather than replacing it. The parent must be a group node in this case.

Parameters:
p - The new parent instance to add to the list
Throws:
AlreadyParentedException - There is a valid parent already set
InvalidNodeTypeException - Either a null reference or not the right generic type of parent

removeParent

protected void removeParent(SceneGraphObject p)
Remove a parent from this shared group. Since setParent() cannot be used to remove a parent from the graph, you'll need to use this method to remove the parent.

Parameters:
p - The new parent instance to remove from the list

numParents

public int numParents()
Request the number of parents this node currently contains

Returns:
a positive number

getParents

public void getParents(Node[] parents)
Get the listing of the number of parents that this node currently has. The provided array must be at least big enough to copy all the values into it.

Parameters:
parents - An array to copy the parent listing into
Throws:
java.lang.NullPointerException - The parents array provided is null

Aviatrix3D
2.1.0

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2009 j3d.org