javax.media.ding3d.utils.scenegraph.io.retained
Class RandomAccessFileControl

java.lang.Object
  extended by javax.media.ding3d.utils.scenegraph.io.retained.Controller
      extended by javax.media.ding3d.utils.scenegraph.io.retained.RandomAccessFileControl

public class RandomAccessFileControl
extends Controller


Constructor Summary
RandomAccessFileControl()
          Creates new RandomAccessFileControl
 
Method Summary
 void close()
           
 void createFile(java.io.File file, SimpleUniverse universe, boolean writeUniverseContent, java.lang.String description, java.io.Serializable userData)
          Create the file and write the inital header information
 int getBranchGraphCount()
          Return the number of branchgraphs in the file
 int getBranchGraphPosition(BranchGroup graph)
          Given a branchgraph, return the corresponding index of the graph in the file.
 long getFilePointer()
          Get the current file 'pointer' location.
 java.lang.Object getUserData()
           
 void loadNodeComponent(SymbolTableData symbol)
          Used by SymbolTable to load a node component that is not in current graph
 void loadSharedGroup(SymbolTableData symbol)
          Loads the specified SharedGroup
 void openFile(java.io.File file)
          Open the file for reading
 BranchGroup[] readAllBranchGraphs()
          Read and return all the graphs in the file
 BranchGroup[] readBranchGraph(int graphID)
           
 java.lang.Object readBranchGraphUserData(int graphID)
           
 java.lang.String readFileDescription()
           
 ConfiguredUniverse readUniverse(boolean attachBranchGraphs, Canvas3D canvas)
           
 void writeBranchGraph(BranchGroup bg, java.io.Serializable userData)
           
 void writeObject(java.io.DataOutput out, SceneGraphObjectState obj)
           
 
Methods inherited from class javax.media.ding3d.utils.scenegraph.io.retained.Controller
addNamedObject, createState, createState, createState, getClassLoader, getCurrentFileVersion, getImageCompression, getNamedObject, getNames, getNodeClassFromID, getNodeClassID, getOutputFileVersion, getSymbolTable, readBounds, readColor3f, readColor4f, readMatrix4d, readObject, readPoint3d, readPoint3f, readQuat4f, readSerializedData, readSharedGroup, readTransform3D, readTuple3d, readTuple3f, readTuple4d, readTuple4f, readUniverse, readVector3f, readVector4d, readVector4f, reset, setClassLoader, skipUserData, useSuperClassIfNoChildClass, writeBounds, writeColor3f, writeColor4f, writeMatrix4d, writePoint3d, writePoint3f, writeQuat4f, writeSerializedData, writeSharedGroup, writeTransform3D, writeTuple3d, writeTuple3f, writeTuple4d, writeTuple4f, writeUniverse, writeVector3f, writeVector4d, writeVector4f
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RandomAccessFileControl

public RandomAccessFileControl()
Creates new RandomAccessFileControl

Method Detail

createFile

public void createFile(java.io.File file,
                       SimpleUniverse universe,
                       boolean writeUniverseContent,
                       java.lang.String description,
                       java.io.Serializable userData)
                throws java.io.IOException,
                       UnsupportedUniverseException,
                       CapabilityNotSetException
Create the file and write the inital header information

Throws:
java.io.IOException
UnsupportedUniverseException
CapabilityNotSetException

openFile

public void openFile(java.io.File file)
              throws java.io.IOException
Open the file for reading

Throws:
java.io.IOException

readUniverse

public ConfiguredUniverse readUniverse(boolean attachBranchGraphs,
                                       Canvas3D canvas)
                                throws java.io.IOException
Throws:
java.io.IOException

getUserData

public java.lang.Object getUserData()

getBranchGraphCount

public int getBranchGraphCount()
Return the number of branchgraphs in the file


writeBranchGraph

public void writeBranchGraph(BranchGroup bg,
                             java.io.Serializable userData)
                      throws java.io.IOException
Specified by:
writeBranchGraph in class Controller
Throws:
java.io.IOException

readBranchGraph

public BranchGroup[] readBranchGraph(int graphID)
                              throws java.io.IOException
Throws:
java.io.IOException

readAllBranchGraphs

public BranchGroup[] readAllBranchGraphs()
                                  throws java.io.IOException
Read and return all the graphs in the file

Throws:
java.io.IOException

readBranchGraphUserData

public java.lang.Object readBranchGraphUserData(int graphID)
                                         throws java.io.IOException
Throws:
java.io.IOException

writeObject

public void writeObject(java.io.DataOutput out,
                        SceneGraphObjectState obj)
                 throws java.io.IOException
Overrides:
writeObject in class Controller
Throws:
java.io.IOException

readFileDescription

public java.lang.String readFileDescription()
                                     throws java.io.IOException
Throws:
java.io.IOException

loadNodeComponent

public void loadNodeComponent(SymbolTableData symbol)
                       throws java.io.IOException
Used by SymbolTable to load a node component that is not in current graph

Throws:
java.io.IOException

loadSharedGroup

public void loadSharedGroup(SymbolTableData symbol)
                     throws java.io.IOException
Loads the specified SharedGroup

Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in class Controller
Throws:
java.io.IOException

getFilePointer

public long getFilePointer()
Description copied from class: Controller
Get the current file 'pointer' location.

Specified by:
getFilePointer in class Controller

getBranchGraphPosition

public int getBranchGraphPosition(BranchGroup graph)
Given a branchgraph, return the corresponding index of the graph in the file. Returns -1 if graph not found.