Advertisement
Guest User

Untitled

a guest
May 28th, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package de.whs.ik.cgr.praktikum.user.MIhmig.Aufgabe3;
  7.  
  8. import com.jogamp.newt.event.KeyEvent;
  9. import de.whs.ik.cgr.praktikum.Application;
  10. import de.whs.ik.cgr.praktikum.ApplicationHandler;
  11. import de.whs.ik.cgr.praktikum.mesh.MeshRenderer;
  12. import de.whs.ik.cgr.praktikum.user.MIhmig.Aufgabe1.MeshRendererImpl;
  13. import de.whs.ik.cgr.praktikum.user.MIhmig.Aufgabe2.SegmentedPlaneImpl;
  14. import javax.media.opengl.GL2;
  15.  
  16. /**
  17.  *
  18.  * @author Maike-Chan
  19.  */
  20. public class Translation implements ApplicationHandler {
  21.  
  22.     SegmentedPlaneImpl plane1;
  23.     SegmentedPlaneImpl plane2;
  24.     SegmentedPlaneImpl plane3;
  25.     Class<? extends MeshRenderer> m;
  26.  
  27.     public Translation(Class<? extends MeshRenderer> m) {
  28.         this.m = m;
  29.     }
  30.  
  31.     //Getter und Setter
  32.     public void setPlane1(SegmentedPlaneImpl plane1) {
  33.         this.plane1 = plane1;
  34.     }
  35.  
  36.     public void setPlane2(SegmentedPlaneImpl plane2) {
  37.         this.plane2 = plane2;
  38.     }
  39.  
  40.     public void setPlane3(SegmentedPlaneImpl plane3) {
  41.         this.plane3 = plane3;
  42.     }
  43.  
  44.     public SegmentedPlaneImpl getPlane1() {
  45.         return plane1;
  46.     }
  47.  
  48.     public SegmentedPlaneImpl getPlane2() {
  49.         return plane2;
  50.     }
  51.  
  52.     public SegmentedPlaneImpl getPlane3() {
  53.         return plane3;
  54.     }
  55.  
  56.     @Override
  57.     public void keyPressed(int keyCode, boolean isShiftDown, boolean isAltDown, boolean isControlDown, boolean isSuperDown, boolean isRecurring, long time, GL2 gl) {
  58.         if (this.plane2 != null) {
  59.  
  60.             switch (keyCode) {
  61.                 case KeyEvent.VK_U:
  62.                     if (isShiftDown) {
  63.                         gl.glTranslatef(-1, 0, 0);
  64.                     }else{
  65.                         gl.glTranslatef(1, 0, 0);
  66.                     }
  67.                     break;
  68.  
  69.                 case KeyEvent.VK_I:
  70.                     if (isShiftDown) {
  71.                         gl.glTranslatef(0, -1, 0);
  72.                     }else{
  73.                         gl.glTranslatef(0, 1, 0);
  74.                     }
  75.                     break;
  76.  
  77.                 case KeyEvent.VK_O:
  78.                     if (isShiftDown) {
  79.                         gl.glTranslatef(0, 0, -1);
  80.                     }else{
  81.                         gl.glTranslatef(0, 0, 1);
  82.                     }
  83.  
  84.                     break;
  85.  
  86.             }
  87.         }
  88.     }
  89.  
  90.     @Override
  91.     public void doRenderGeometry(GL2 gl) {
  92.  
  93.         if (plane1 != null && plane2 != null && plane3 != null) {
  94.             //Planes verschieben
  95.             gl.glTranslatef(-2, -2, 3);
  96.             plane1.render(gl);
  97.             gl.glTranslatef(4, 4, 0);
  98.             //zu erreichender Vektor gl.glTranslatef(2, 2, 3);
  99.             plane2.render(gl);
  100.             gl.glTranslatef(-3.5F, -1, -1);
  101.             //zu erreichender Vektor gl.glTranslatef(-1.5F, 1, 2);
  102.             plane3.render(gl);
  103.         }
  104.     }
  105.  
  106.     @Override
  107.     public void doDispose(GL2 gl) {
  108.         if (plane1 != null) {
  109.             /* render plane */
  110.             plane1.dispose(gl);
  111.         }
  112.         if (plane2 != null) {
  113.             /* render plane */
  114.             plane2.dispose(gl);
  115.         }
  116.         if (plane3 != null) {
  117.             /* render plane */
  118.             plane3.dispose(gl);
  119.         }
  120.     }
  121.  
  122.     @Override
  123.     public void doInit(GL2 gl) {
  124.         plane1 = (m == null) ? null : new SegmentedPlaneImpl(m, 2, 3, 3, 5);
  125.         plane2 = (m == null) ? null : new SegmentedPlaneImpl(m, 2.5F, 2, 9, 3);
  126.         plane3 = (m == null) ? null : new SegmentedPlaneImpl(m, 1.2F, 5, 4, 7);
  127.     }
  128.  
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement