Mercurial > hg > Members > tatsuki > Alice
diff src/alice/test/topology/movement/MakeFrame.java @ 88:33a19ca88e43 working
Singleton is removed .
author | sugi |
---|---|
date | Mon, 04 Jun 2012 16:08:53 +0900 |
parents | src/alice/test/topology/movement/FishMovement.java@f8d86641b2ec |
children | e269cedd8bae |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/test/topology/movement/MakeFrame.java Mon Jun 04 16:08:53 2012 +0900 @@ -0,0 +1,79 @@ +package alice.test.topology.movement; + +import java.awt.GraphicsConfiguration; + +import javax.media.j3d.BoundingSphere; +import javax.media.j3d.BranchGroup; +import javax.media.j3d.Canvas3D; +import javax.media.j3d.DirectionalLight; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.vecmath.Color3f; +import javax.vecmath.Vector3f; + +import com.sun.j3d.utils.universe.SimpleUniverse; +import com.sun.j3d.utils.universe.ViewingPlatform; + +public class MakeFrame { + + int fSizeX = 800; + int fSizeY = 800; + private Canvas3D canvas; + private SimpleUniverse universe; + private KeyInput key; + + public MakeFrame(){ + JFrame frame = new JFrame(); + frame.setSize(fSizeX,fSizeY); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JPanel cp = new JPanel(); + cp.setLayout(null); + frame.add(cp); + + GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); + canvas = new Canvas3D(config); + canvas.setBounds(0,0,fSizeX,fSizeY); + cp.add(canvas); + + universe = new SimpleUniverse(canvas); + universe.addBranchGraph(createLight()); + + key = new KeyInput(); + canvas.addKeyListener(key); + + frame.setVisible(true); + + ViewingPlatform camera = universe.getViewingPlatform(); + camera.setNominalViewingTransform(); + } + + private BranchGroup createLight(){ + BranchGroup scene = new BranchGroup(); + Color3f light_color = new Color3f(1.7f,1.7f,1.7f); + Vector3f light_direction = new Vector3f(0.2f,-0.2f,-0.6f); + DirectionalLight light = new DirectionalLight(light_color,light_direction); + BoundingSphere bounds = new BoundingSphere(); + light.setInfluencingBounds(bounds); + scene.addChild(light); + return scene; + } + + public void register(BranchGroup group){ + this.universe.addBranchGraph(group); + } + + public Canvas3D getCanvas(){ + return this.canvas; + } + + public KeyInput getKey(){ + return this.key; + } + + public SimpleUniverse getUniverse(){ + return this.universe; + } + +}