Class SceneGraphStreamWriter
Using this class to write to a FileOutputStream is not recommended. Use SceneGraphFileWriter instead to achieve maximum performance and flexibility.
-
Constructor Summary
ConstructorsConstructorDescriptionSceneGraphStreamWriter
(OutputStream outputStream) Creates new SceneGraphStreamWriter that will write to the supplied stream -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the SceneGraphStreamWriter and the associated streamvoid
writeBranchGraph
(BranchGroup graph, HashMap namedObjects) Write the entire graph to the stream.void
writeUniverse
(SimpleUniverse universe, boolean writeContent) Writeuniverse
to the Stream.
-
Constructor Details
-
SceneGraphStreamWriter
Creates new SceneGraphStreamWriter that will write to the supplied stream- Throws:
IOException
-
-
Method Details
-
writeUniverse
public void writeUniverse(SimpleUniverse universe, boolean writeContent) throws IOException, UnsupportedUniverseException Writeuniverse
to the Stream.If
writeContent
is true then all BranchGraphs attached to the universe will be saved. If it is false then only the universe data structures will be output (PlatformGeometry, ViewerAvatar, Locales, and the MultiTransformGroup between the ViewingPlatform and the View).If
writeContent
is true then all the BranchGraphs attached to the Locales of the universe must have the ALLOW_DETACH capability set. If they do not, aCapabilityNotSetException
will be thrown- Parameters:
universe
- The universe to writewriteContent
- Flag enabling the BranchGraphs to be written- Throws:
IOException
UnsupportedUniverseException
- Thrown if the universe class is not supported by this implementation
-
writeBranchGraph
public void writeBranchGraph(BranchGroup graph, HashMap namedObjects) throws IOException, DanglingReferenceException, NamedObjectException Write the entire graph to the stream.The API will correctly handle NodeComponents that are shared between seperate graphs. However Nodes cannot be referenced in other Graphs.
If a reference to a Node in another graph is encountered a DanglingReferenceException will be thrown.
namedObjects
can contain a mapping between a key and a SceneGraphObject in the graph. During the read process this can be used to locate nodes in the graph. -
close
Close the SceneGraphStreamWriter and the associated stream- Throws:
IOException
-