|
Hi all,
I encountered an exceptin when I tried to use sun j3d's SceneGraphStreamReader/Writer.The following is the stacktrace at the exception: java.lang.RuntimeException:No Such Class at com.sun.j3d.demos.utils.scenegraph.io.state.javax.media.j3d.SceneGraphObjectState.createNode<SceneGraphObjectState.java:245> at com.sun.j3d.demos.utils.scenegraph.io.state.javax.media.j3d.SceneGraphObjectState.readObject<SceneGraphObjectState.java:101> at com.sun.j3d.demos.utils.scenegraph.io.state.javax.media.j3d.NodeState.readObject<NodeState.java:37> at com.sun.j3d.demos.utils.scenegraph.io.state.javax.media.j3d.GroupState.readObject<GroupState.java:45> at com.sun.j3d.demos.utils.scenegraph.io.retained.Controller.readObject<Controller.java:293> at com.sun.j3d.demos.utils.scenegraph.io.retained.StreamControl.readBranchGraph<StreamControl.java:81> at com.sun.j3d.demos.utils.scenegraph.io.SceneGraphStreamReader.readBranchGraph<SceneGraphStreamReader.java:49> Here is my program(load-->save-->reload): ------------------------------------------------------------------------------- FileOutputStream os=new FileOutputStream("xxyy.bg"); SceneGraphStreamWriter sgsw=new SceneGraphStreamWriter(os); ObjectFile of=new ObjectFile(); // use sun's .obj loader Scene scene=of.load("..\\minimart.obj");// it's ok BranchGroup bg=scene.getSceneGroup(); System.out.println("before: "+bg.getBounds());//it's ok HashMap p0=new HashMap(); sgsw.writeBranchGraph(bg,p0); FileInputStream is=new FileInputStream("xxyy.bg"); SceneGraphStreamReader sgsr=new SceneGraphStreamReader(is); HashMap p1=new HashMap(); bg=sgsr.readBranchGraph(p1);////// /*Here throws exception : java.lang.RuntimeException:No Such Class*/ ---------------------------------------------------------------------------------------------- I know j3d's SceneGraphFileReader/Writer is ok, but how to use StreamReader/Writer? best
regards
ping |
