javax.media.j3d
Class J3dStructure

java.lang.Object
  extended by javax.media.j3d.J3dStructure
Direct Known Subclasses:
BehaviorStructure, GeometryStructure, RenderBin, RendererStructure, RenderingAttributesStructure, RenderingEnvironmentStructure, SoundScheduler, SoundStructure, TransformStructure

abstract class J3dStructure
extends java.lang.Object

The J3dStructure is the super class of all structures in Java 3D. A structure is a object that organizes a collection of objects.


Field Summary
(package private)  UnorderList messageList
          This is the list of messages to be processed by this structure
(package private)  J3dMessage[] msgList
           
(package private)  int nMessage
          number of messages for this snapshot of time
(package private)  J3dThreadData threadData
          The thread data for the update thread
(package private)  int threadType
          This is the type of update thread
(package private)  VirtualUniverse universe
          The universe of this structure
(package private)  StructureUpdateThread updateThread
          This is the update Thread for this structure
 
Constructor Summary
J3dStructure(VirtualUniverse u, int type)
          This constructor does nothing
 
Method Summary
(package private)  void addMessage(J3dMessage message)
          This adds a message to the list of messages for this structure
(package private) abstract  void cleanup()
          Release resource associate with this structure before GC We need to clear all those IndexedUnorderSet/WakeupIndexedList so that the listIdx associate with IndexedObject reset to -1.
(package private)  void clearMessages()
           
(package private)  J3dMessage[] getMessages(long referenceTime)
          This returns whether or not there are any pending messages
(package private)  int getNumMessage()
           
(package private)  J3dThreadData getUpdateThreadData()
          This returns the thread data for this thread.
(package private) abstract  void processMessages(long referenceTime)
          This gets overriden by the structure
(package private) abstract  void removeNodes(J3dMessage m)
          This is used by MasterControl to process any unused message for final cleanup.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

messageList

UnorderList messageList
This is the list of messages to be processed by this structure


updateThread

StructureUpdateThread updateThread
This is the update Thread for this structure


threadType

int threadType
This is the type of update thread


universe

VirtualUniverse universe
The universe of this structure


threadData

J3dThreadData threadData
The thread data for the update thread


nMessage

int nMessage
number of messages for this snapshot of time


msgList

J3dMessage[] msgList
Constructor Detail

J3dStructure

J3dStructure(VirtualUniverse u,
             int type)
This constructor does nothing

Method Detail

getUpdateThreadData

final J3dThreadData getUpdateThreadData()
This returns the thread data for this thread.


addMessage

final void addMessage(J3dMessage message)
This adds a message to the list of messages for this structure


getMessages

final J3dMessage[] getMessages(long referenceTime)
This returns whether or not there are any pending messages


clearMessages

final void clearMessages()

getNumMessage

int getNumMessage()

processMessages

abstract void processMessages(long referenceTime)
This gets overriden by the structure


removeNodes

abstract void removeNodes(J3dMessage m)
This is used by MasterControl to process any unused message for final cleanup. DON'T decrememt message count in the method, as it is done by MasterControl.


cleanup

abstract void cleanup()
Release resource associate with this structure before GC We need to clear all those IndexedUnorderSet/WakeupIndexedList so that the listIdx associate with IndexedObject reset to -1.



Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.