X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fexamples%2FOctreeDemo.java;h=706935cd0de22486e620cdd9968ddd9c20cdd39b;hp=f5a9d0855b8d5caaa71d5bb528e2b18923dd4210;hb=bccb2a4fb28a598bc307b73e55a3d8686a3f944e;hpb=335758c2678788d95da705b28dbebe4ba206c103 diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/examples/OctreeDemo.java b/src/main/java/eu/svjatoslav/sixth/e3d/examples/OctreeDemo.java index f5a9d08..706935c 100755 --- a/src/main/java/eu/svjatoslav/sixth/e3d/examples/OctreeDemo.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/examples/OctreeDemo.java @@ -9,10 +9,10 @@ package eu.svjatoslav.sixth.e3d.examples; import eu.svjatoslav.sixth.e3d.geometry.Point3D; -import eu.svjatoslav.sixth.e3d.math.Transform; -import eu.svjatoslav.sixth.e3d.gui.ViewContext; import eu.svjatoslav.sixth.e3d.gui.ViewFrame; -import eu.svjatoslav.sixth.e3d.gui.humaninput.WorldNavigationTracker; +import eu.svjatoslav.sixth.e3d.gui.ViewPanel; +import eu.svjatoslav.sixth.e3d.gui.humaninput.WorldNavigationUserInputTracker; +import eu.svjatoslav.sixth.e3d.math.Transform; import eu.svjatoslav.sixth.e3d.renderer.octree.OctreeVolume; import eu.svjatoslav.sixth.e3d.renderer.octree.raytracer.Camera; import eu.svjatoslav.sixth.e3d.renderer.octree.raytracer.LightSource; @@ -29,7 +29,7 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.Grid3D import java.awt.event.KeyEvent; import java.util.Vector; -public class OctreeDemo extends WorldNavigationTracker { +public class OctreeDemo extends WorldNavigationUserInputTracker { private static final double magnification = 5; private final LineAppearance gridAppearance = new LineAppearance(40, new Color(255, @@ -37,7 +37,7 @@ public class OctreeDemo extends WorldNavigationTracker { private final Vector lights = new Vector<>(); private OctreeVolume octreeVolume; private ShapeCollection shapeCollection; - private ViewContext context; + private ViewPanel viewPanel; public static void main(final String[] args) { new OctreeDemo().init(); @@ -90,13 +90,13 @@ public class OctreeDemo extends WorldNavigationTracker { private void init() { final ViewFrame viewFrame = new ViewFrame(); - context = viewFrame.getViewPanel().getContext(); + viewPanel = viewFrame.getViewPanel(); - context.getAvatar().setLocation(new Point3D(0, -30, -300)); + viewPanel.getAvatar().setLocation(new Point3D(0, -30, -300)); octreeVolume = new OctreeVolume(); - shapeCollection = context.getRootShapeCollection(); + shapeCollection = viewPanel.getRootShapeCollection(); shapeCollection.addShape(new Grid3D( new Point3D(-10000, -10000, -10000), new Point3D(10000, 10000, @@ -124,18 +124,18 @@ public class OctreeDemo extends WorldNavigationTracker { Color.WHITE, Color.PURPLE); shapeCollection.addShape(message); - context.getKeyboardFocusTracker().setFocusOwner(this); - context.getViewPanel().repaintDuringNextViewUpdate(); + viewPanel.getKeyboardFocusStack().pushFocusOwner(this); + viewPanel.repaintDuringNextViewUpdate(); } @Override - public void keyPressed(final KeyEvent event, final ViewContext viewContext) { + public boolean keyPressed(final KeyEvent event, final ViewPanel viewPanel) { if ('r' == event.getKeyChar()) { raytrace(); - return; + return true; } - super.keyPressed(event, viewContext); + return super.keyPressed(event, viewPanel); } private void putPixel(final int x, final int y, final int z, @@ -159,12 +159,12 @@ public class OctreeDemo extends WorldNavigationTracker { private void raytrace() { // create and add camera object to scene - final Camera camera = new Camera(context.getAvatar(), magnification); + final Camera camera = new Camera(viewPanel.getAvatar(), magnification); shapeCollection.addShape(camera); // initialize and start Raytracer in a separate thread final RayTracer rayTracer = new RayTracer(camera.getTexture(), - octreeVolume, lights, camera, context.getViewPanel()); + octreeVolume, lights, camera, viewPanel); final Thread thread = new Thread(rayTracer); thread.start(); }