.. | .. |
---|
160 | 160 | { |
---|
161 | 161 | if(hAspect != 0) return; |
---|
162 | 162 | |
---|
| 163 | + if (CameraPane.IMAGEFLIP) |
---|
| 164 | + { |
---|
| 165 | + dx = -dx; |
---|
| 166 | + } |
---|
| 167 | + |
---|
163 | 168 | if (CameraPane.ROTATECAMERA) |
---|
164 | 169 | { |
---|
165 | 170 | float t = dx; |
---|
.. | .. |
---|
216 | 221 | void Translate(float dx, float dy, float scale) |
---|
217 | 222 | { |
---|
218 | 223 | if(hAspect != 0) return; |
---|
| 224 | + |
---|
| 225 | + if (CameraPane.IMAGEFLIP) |
---|
| 226 | + { |
---|
| 227 | + dx = -dx; |
---|
| 228 | + } |
---|
219 | 229 | |
---|
220 | 230 | if (CameraPane.ROTATECAMERA) |
---|
221 | 231 | { |
---|
.. | .. |
---|
405 | 415 | LA.matConcat(fromScreen, rotate, fromScreen); |
---|
406 | 416 | //LA.matConcat(toScreen, rotate_1, toScreen); |
---|
407 | 417 | } |
---|
| 418 | + |
---|
| 419 | + if (CameraPane.IMAGEFLIP) |
---|
| 420 | + { |
---|
| 421 | + double[][] flip = { { -1,0,0,0 }, { 0,1,0,0}, { 0,0,1,0}, { 0,0,0,1 } }; |
---|
| 422 | + |
---|
| 423 | + LA.matConcat(fromScreen, flip, fromScreen); |
---|
| 424 | + } |
---|
| 425 | + |
---|
408 | 426 | //if (this == CameraPane.lightCamera) |
---|
409 | 427 | //CameraPane.lighttouched = true; |
---|
410 | | - |
---|
411 | 428 | LA.matInvert(fromScreen, toScreen); |
---|
412 | 429 | } |
---|
413 | 430 | |
---|
.. | .. |
---|
2082 | 2082 | |
---|
2083 | 2083 | camerachangeframe = Globals.framecount; |
---|
2084 | 2084 | |
---|
2085 | | - cam.hAspect = -1; // Read only |
---|
| 2085 | + if (cam != null) |
---|
| 2086 | + cam.hAspect = -1; // Read only |
---|
2086 | 2087 | |
---|
2087 | 2088 | cameras[0] = cam; |
---|
2088 | 2089 | targetLookAts[0] = new cVector(cam.lookAt); |
---|
.. | .. |
---|
2395 | 2396 | { |
---|
2396 | 2397 | //System.out.println("PROTECTION = " + cam.hAspect); |
---|
2397 | 2398 | //assert (cam.hAspect == 0); |
---|
2398 | | - cam.hAspect = 0; |
---|
| 2399 | + if (cam != null) |
---|
| 2400 | + cam.hAspect = 0; |
---|
2399 | 2401 | lightCamera = cam; |
---|
2400 | 2402 | } |
---|
2401 | 2403 | |
---|
.. | .. |
---|
14839 | 14841 | if((mod&SHIFT) == SHIFT) |
---|
14840 | 14842 | { |
---|
14841 | 14843 | if (isVR) |
---|
14842 | | - manipCamera.RotateInterest(0, -speed); |
---|
| 14844 | + manipCamera.RotateInterest(0, speed); |
---|
14843 | 14845 | else |
---|
14844 | 14846 | manipCamera.RotatePosition(0, -speed); |
---|
14845 | 14847 | } |
---|
.. | .. |
---|
14869 | 14871 | if((mod&SHIFT) == SHIFT) |
---|
14870 | 14872 | { |
---|
14871 | 14873 | if (isVR) |
---|
14872 | | - manipCamera.RotateInterest(0, speed); |
---|
| 14874 | + manipCamera.RotateInterest(0, -speed); |
---|
14873 | 14875 | else |
---|
14874 | 14876 | manipCamera.RotatePosition(0, speed); |
---|
14875 | 14877 | } |
---|
.. | .. |
---|
15583 | 15585 | break; |
---|
15584 | 15586 | case 'm': |
---|
15585 | 15587 | { |
---|
15586 | | - PrintMemory(); |
---|
| 15588 | + //PrintMemory(); |
---|
| 15589 | + ToggleImageFlip(); |
---|
15587 | 15590 | break; |
---|
15588 | 15591 | } |
---|
15589 | 15592 | case 'M': |
---|