package monitoring3D; import javax.media.j3d.Alpha; import javax.media.j3d.Background; import javax.media.j3d.BoundingBox; import javax.media.j3d.BoundingSphere; import javax.media.j3d.BranchGroup; import javax.media.j3d.Canvas3D; import javax.media.j3d.PositionInterpolator; import javax.media.j3d.Transform3D; import javax.media.j3d.TransformGroup; import javax.swing.JFrame; import javax.vecmath.AxisAngle4f; import javax.vecmath.Point3f; import javax.vecmath.Vector3f; import com.sun.j3d.utils.behaviors.mouse.MouseRotate; import com.sun.j3d.utils.behaviors.mouse.MouseTranslate; import com.sun.j3d.utils.behaviors.mouse.MouseWheelZoom; import com.sun.j3d.utils.behaviors.mouse.MouseZoom; import com.sun.j3d.utils.geometry.ColorCube; import com.sun.j3d.utils.universe.SimpleUniverse; public class NewtorkMonitoring3DFrame extends JFrame { private Canvas3D canvas3D; private BranchGroup scene; private SimpleUniverse simpleU; public NewtorkMonitoring3DFrame() { init(); windowsSettings(); } private void init() { canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration()); simpleU = new SimpleUniverse(canvas3D); simpleU.getViewingPlatform().setNominalViewingTransform(); scene = createSceneGraph(); scene.compile(); simpleU.addBranchGraph(scene); add(canvas3D); } private BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); //setting cameras // Creation du groupe de transformation sur lequel vont s'appliquer les // comportements TransformGroup mouseTransform = new TransformGroup(); // Le groupe de transformation sera modifie par le comportement de la // souris mouseTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); mouseTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); // Creation comportement rotation a la souris MouseRotate rotate = new MouseRotate(mouseTransform); rotate.setSchedulingBounds(new BoundingSphere()); objRoot.addChild(rotate); // Creation comportement deplacement a la souris MouseTranslate translate = new MouseTranslate(mouseTransform); translate.setSchedulingBounds(new BoundingSphere()); objRoot.addChild(translate); // Creation comportement zoom a la souris MouseWheelZoom zoom = new MouseWheelZoom(mouseTransform); zoom.setSchedulingBounds(new BoundingSphere()); objRoot.addChild(zoom); Background background = new Background(1,1,1); background.setApplicationBounds(new BoundingBox()); objRoot.addChild(background); // Transform3D translate1 = new Transform3D(); // translate1.set(new Vector3f(0.6f, 0.4f, 0.0f)); // TransformGroup TG1 = new TransformGroup(translate1); // Node3D node1 = new Node3D(0.3f,new Vector3f(0.6f, 0.4f, 0.0f),"127.0.0.1"); // TG1.addChild(node1); // // mouseTransform.addChild(TG1); // mouseTransform.addChild(node1.createText()); NodeEntity3D node1 = new NodeEntity3D(0.3f,new Vector3f(0.8f, 0.5f, 0.0f),"1-nicholas"); mouseTransform.addChild(node1); NodeEntity3D node2 = new NodeEntity3D(0.3f,new Vector3f(-0.8f, -0.2f, 0.0f),"2-george"); mouseTransform.addChild(node2); NodeEntity3D node3 = new NodeEntity3D(0.3f,new Vector3f(0.2f, 0.0f, 0.0f),"3-dudule"); mouseTransform.addChild(node3); NodeEntity3D node4 = new NodeEntity3D(0.3f,new Vector3f(-0.2f, 0.5f, 0.0f),"4-fred"); mouseTransform.addChild(node4); //make a request move // Request3D request = new Request3D("Who is", new Point3f(node2.getTranslation_vector().getX(), // node2.getTranslation_vector().getY(),node2.getTranslation_vector().getZ() ), node4.getTranslation_vector().getX()); // mouseTransform.addChild(request); Request3D request = new Request3D("Who is", node2, node3); mouseTransform.addChild(request); objRoot.addChild(mouseTransform); return objRoot; } private void windowsSettings(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Network Monitoring"); setVisible(true); setSize(700,700); } public static void main(String[] args) { new NewtorkMonitoring3DFrame(); } }