Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package de.whs.ik.cgr.praktikum.user.MIhmig.Aufgabe3;
- import com.jogamp.newt.event.KeyEvent;
- import de.whs.ik.cgr.praktikum.Application;
- import de.whs.ik.cgr.praktikum.ApplicationHandler;
- import de.whs.ik.cgr.praktikum.mesh.MeshRenderer;
- import de.whs.ik.cgr.praktikum.user.MIhmig.Aufgabe1.MeshRendererImpl;
- import de.whs.ik.cgr.praktikum.user.MIhmig.Aufgabe2.SegmentedPlaneImpl;
- import javax.media.opengl.GL2;
- /**
- *
- * @author Maike-Chan
- */
- public class Translation implements ApplicationHandler {
- SegmentedPlaneImpl plane1;
- SegmentedPlaneImpl plane2;
- SegmentedPlaneImpl plane3;
- Class<? extends MeshRenderer> m;
- public Translation(Class<? extends MeshRenderer> m) {
- this.m = m;
- }
- //Getter und Setter
- public void setPlane1(SegmentedPlaneImpl plane1) {
- this.plane1 = plane1;
- }
- public void setPlane2(SegmentedPlaneImpl plane2) {
- this.plane2 = plane2;
- }
- public void setPlane3(SegmentedPlaneImpl plane3) {
- this.plane3 = plane3;
- }
- public SegmentedPlaneImpl getPlane1() {
- return plane1;
- }
- public SegmentedPlaneImpl getPlane2() {
- return plane2;
- }
- public SegmentedPlaneImpl getPlane3() {
- return plane3;
- }
- @Override
- public void keyPressed(int keyCode, boolean isShiftDown, boolean isAltDown, boolean isControlDown, boolean isSuperDown, boolean isRecurring, long time, GL2 gl) {
- if (this.plane2 != null) {
- switch (keyCode) {
- case KeyEvent.VK_U:
- if (isShiftDown) {
- gl.glTranslatef(-1, 0, 0);
- }else{
- gl.glTranslatef(1, 0, 0);
- }
- break;
- case KeyEvent.VK_I:
- if (isShiftDown) {
- gl.glTranslatef(0, -1, 0);
- }else{
- gl.glTranslatef(0, 1, 0);
- }
- break;
- case KeyEvent.VK_O:
- if (isShiftDown) {
- gl.glTranslatef(0, 0, -1);
- }else{
- gl.glTranslatef(0, 0, 1);
- }
- break;
- }
- }
- }
- @Override
- public void doRenderGeometry(GL2 gl) {
- if (plane1 != null && plane2 != null && plane3 != null) {
- //Planes verschieben
- gl.glTranslatef(-2, -2, 3);
- plane1.render(gl);
- gl.glTranslatef(4, 4, 0);
- //zu erreichender Vektor gl.glTranslatef(2, 2, 3);
- plane2.render(gl);
- gl.glTranslatef(-3.5F, -1, -1);
- //zu erreichender Vektor gl.glTranslatef(-1.5F, 1, 2);
- plane3.render(gl);
- }
- }
- @Override
- public void doDispose(GL2 gl) {
- if (plane1 != null) {
- /* render plane */
- plane1.dispose(gl);
- }
- if (plane2 != null) {
- /* render plane */
- plane2.dispose(gl);
- }
- if (plane3 != null) {
- /* render plane */
- plane3.dispose(gl);
- }
- }
- @Override
- public void doInit(GL2 gl) {
- plane1 = (m == null) ? null : new SegmentedPlaneImpl(m, 2, 3, 3, 5);
- plane2 = (m == null) ? null : new SegmentedPlaneImpl(m, 2.5F, 2, 9, 3);
- plane3 = (m == null) ? null : new SegmentedPlaneImpl(m, 1.2F, 5, 4, 7);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement