Преглед на файлове

Fixed wrong translation data in resetView(), also added fullscreen detection for resetView(), and made nicer viewing point in fullscreen

hutattedonmyarm преди 12 години
родител
ревизия
7a1912e249
променени са 1 файла, в които са добавени 18 реда и са изтрити 7 реда
  1. 18
    7
      CubeControl/Led3D.java

+ 18
- 7
CubeControl/Led3D.java Целия файл

@@ -50,6 +50,7 @@ public class Led3D extends MouseAdapter {
50 50
 	private Matrix4d mat = null;
51 51
 	private Matrix4d fullScreenMat = null;
52 52
 	private Frame parentFrame = null;
53
+	private boolean inFullscreen = false;
53 54
 
54 55
 	private Sphere[][][] leds = new Sphere[8][8][8];
55 56
 	private static ColoringAttributes redColor = new ColoringAttributes(
@@ -82,9 +83,9 @@ public class Led3D extends MouseAdapter {
82 83
 		mat.setRow(3, 0.0, 0.0, 0.0, 1.0);
83 84
 
84 85
 		fullScreenMat = new Matrix4d();
85
-		fullScreenMat.setRow(0, 0.7597, -0.0204, 0.64926, 0.56);
86
-		fullScreenMat.setRow(1, -0.08, -0.995, 0.061, 0.02);
87
-		fullScreenMat.setRow(2, 0.64473, -0.09786, -0.758, -14.68);
86
+		fullScreenMat.setRow(0, 0.7597, -0.0204, 0.64926, 0.68);
87
+		fullScreenMat.setRow(1, -0.08, -0.995, 0.061, 0.7);
88
+		fullScreenMat.setRow(2, 0.64473, -0.09786, -0.758, -22.88);
88 89
 		fullScreenMat.setRow(3, 0.0, 0.0, 0.0, 1.0);
89 90
 
90 91
 
@@ -293,10 +294,18 @@ public class Led3D extends MouseAdapter {
293 294
 	 */
294 295
 	public void resetView() {
295 296
 		Matrix4d mat = new Matrix4d();
296
-		mat.setRow(0, 0.744, 0.0237, -0.66756, -0.34);
297
-		mat.setRow(1, 0.136, -0.9837, 0.117, 3.24);
298
-		mat.setRow(2, -0.6536, -0.1785, -0.735, -8.32);
299
-		mat.setRow(3, 0.0, 0.0, 0.0, 1.0);
297
+		
298
+		if(inFullscreen){
299
+			mat.setRow(0, 0.7597, -0.0204, 0.64926, 0.68);
300
+			mat.setRow(1, -0.08, -0.995, 0.061, 0.7);
301
+			mat.setRow(2, 0.64473, -0.09786, -0.758, -22.88);
302
+			mat.setRow(3, 0.0, 0.0, 0.0, 1.0);	
303
+		} else {
304
+			mat.setRow(0, 0.7597, -0.0204, 0.64926, 0.56);
305
+			mat.setRow(1, -0.08, -0.995, 0.061, 0.02);
306
+			mat.setRow(2, 0.64473, -0.09786, -0.758, -14.68);
307
+			mat.setRow(3, 0.0, 0.0, 0.0, 1.0);
308
+		}
300 309
 		trans3D.set(mat);
301 310
 		transGroup.setTransform(trans3D);
302 311
 		feetGroup.setTransform(trans3D);
@@ -359,6 +368,7 @@ public class Led3D extends MouseAdapter {
359 368
 		background = createBackground();
360 369
 		group.addChild(background);
361 370
 		universe.addBranchGraph(group);
371
+		inFullscreen = !inFullscreen;
362 372
 	}
363 373
 	
364 374
 	/**
@@ -369,6 +379,7 @@ public class Led3D extends MouseAdapter {
369 379
 		trans3D.set(fullScreenMat);
370 380
 		transGroup.setTransform(trans3D);
371 381
 		feetGroup.setTransform(trans3D);
382
+		resetView(); //This is important. For some reason some legs are missing when entering fullscreen mode. Calling this function solves the problem.
372 383
 	}
373 384
 	
374 385
 	/**

Loading…
Отказ
Запис