Просмотр исходного кода

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

hutattedonmyarm 12 лет назад
Родитель
Сommit
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
 	/**

Загрузка…
Отмена
Сохранить