From 51e45bf615e1e2b4aca2edf9f7333b687c7d015e Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 24 Sep 2019 21:07:45 -0400 Subject: [PATCH] Remove hands. --- CameraPane.java | 87 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 68 insertions(+), 19 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index e49e0a3..b558c23 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -1,4 +1,5 @@ +import com.bulletphysics.dynamics.RigidBody; import java.awt.*; import java.awt.event.*; import java.awt.image.*; @@ -6961,30 +6962,30 @@ short residu = 0; // wraparound workarounds - short fuck = (short) (buffer[i] & 0xFF); + short ww = (short) (buffer[i] & 0xFF); /* - residu += (fuck%2); - if(fuck/2 < 256-residu/2) + residu += (ww%2); + if(ww/2 < 256-residu/2) { - fuck = (short)((fuck/2) + residu/2); + ww = (short)((ww/2) + residu/2); if(residu == 2) residu = 0; } else { residu = 0; - fuck /= 2; + ww /= 2; } */ - if (i < imglength / 3 || rnd.nextFloat() < 0.5 || fuck >= 254) + if (i < imglength / 3 || rnd.nextFloat() < 0.5 || ww >= 254) { - fuck /= 2; + ww /= 2; } else { - fuck = (short) ((fuck / 2) + fuck % 2); + ww = (short) ((ww / 2) + ww % 2); } - buffer[i] = (byte) fuck; + buffer[i] = (byte) ww; } //System.out.print(bytes[i] + " "); //if(buffer[i] >= 0 && buffer[i]<=eps-1) buffer[i] = eps; @@ -11865,7 +11866,10 @@ } if (Globals.isLIVE() && DrawMode() == DEFAULT || pingthread.live) // may 2013 + { + renderCamera.computeTransform(); repaint(); + } displaydone = true; } @@ -14337,10 +14341,13 @@ public void mouseClicked(MouseEvent e) { System.out.println("mouseClicked: " + e); + System.exit(0); } public void mousePressed(MouseEvent e) { + RigidBody.justclicked = true; + System.out.println("justclicked: " + e); //System.out.println("mousePressed: " + e); clickStart(e.getX(), e.getY(), e.getModifiers(), e.getModifiersEx()); } @@ -14421,7 +14428,7 @@ //} SetMouseMode(e.getModifiers(), WHEEL | e.getModifiersEx()); - drag(anchorX, anchorY + e.getUnitsToScroll()*8, 0, 0); + drag(anchorX, anchorY + e.getUnitsToScroll()*8, e.getModifiers(), e.getModifiersEx()); anchorX = ax; anchorY = ay; prevX = px; @@ -14664,10 +14671,25 @@ // only one thread!? synchronized void StepToTarget(boolean jump) { + RigidBody.pos.x = 0; + RigidBody.pos.y = 0; + RigidBody.pos.z = 0; + if (RigidBody.justclicked) + { + RigidBody.pos.x = (float)manipCamera.lookAt.x; + RigidBody.pos.y = (float)manipCamera.lookAt.y; + RigidBody.pos.z = (float)manipCamera.lookAt.z; + RigidBody.wind.set(RigidBody.pos); + RigidBody.wind.x -= (float)manipCamera.location.x; + RigidBody.wind.y -= (float)manipCamera.location.y; + RigidBody.wind.z -= (float)manipCamera.location.z; + RigidBody.wind.normalize(); + } + if (mute) return; - if (capsLocked) + if (capsLocked && manipCamera.viewCode == 0) { eye.x = manipCamera.location.x; eye.y = manipCamera.location.y + 0.25; @@ -14958,6 +14980,18 @@ targetLookAt.set(manipCamera.lookAt); } + void ViewAngle(float dy) + { + double factor = Math.exp(-dy/300.0); // (1 + dy/100); + + if (manipCamera.shaper_fovy * factor > 1 && + manipCamera.shaper_fovy * factor < 150) + { + manipCamera.shaper_fovy *= factor; + //System.out.println("fovy = " + shaper_fovy); + } + } + void GoDown(int mod) { MODIFIERS |= COMMAND; @@ -14968,6 +15002,9 @@ // if (isVR) // manipCamera.RotateInterest(0, speed); // else + if (isVR) + ViewAngle(-speed*delta); + else manipCamera.Translate(0, -speed*delta, getWidth()); } else @@ -14995,6 +15032,8 @@ void GoUp(int mod) { + RigidBody.justclicked = true; + MODIFIERS |= COMMAND; /**/ boolean isVR = (mouseMode&VR)!=0; @@ -15004,6 +15043,9 @@ // if (isVR) // manipCamera.RotateInterest(0, -speed); // else + if (isVR) + ViewAngle(speed*delta); + else manipCamera.Translate(0, speed*delta, getWidth()); } else @@ -15034,13 +15076,13 @@ MODIFIERS |= COMMAND; /**/ if((mod&SHIFT) == SHIFT) - manipCamera.Translate(speed*delta, 0, getWidth()); + manipCamera.Translate(speed, 0, getWidth()); else { if ((mouseMode&VR)!=0) - manipCamera.RotateInterest(-speed, 0); + manipCamera.RotateInterest(-speed*manipCamera.shaper_fovy/90, 0); else - manipCamera.RotatePosition(speed, 0); + manipCamera.RotatePosition(speed*manipCamera.shaper_fovy/90, 0); } /**/ @@ -15066,13 +15108,13 @@ MODIFIERS |= COMMAND; /**/ if((mod&SHIFT) == SHIFT) - manipCamera.Translate(-speed*delta, 0, getWidth()); + manipCamera.Translate(-speed, 0, getWidth()); else { if ((mouseMode&VR)!=0) - manipCamera.RotateInterest(speed, 0); + manipCamera.RotateInterest(speed*manipCamera.shaper_fovy/90, 0); else - manipCamera.RotatePosition(-speed, 0); + manipCamera.RotatePosition(-speed*manipCamera.shaper_fovy/90, 0); } /**/ @@ -15219,6 +15261,11 @@ if ((mouseMode & ZOOM) != 0) { //if ((mouseMode & BACKFORTH) != 0) + if ((modifiersex & SHIFT) == SHIFT) + { + ViewAngle(dy); + } + else if ((mouseMode & VR) != 0) manipCamera.BackForth(dx, dy, getWidth()); else @@ -16717,7 +16764,8 @@ public boolean mouseDrag(Event evt, int x, int y) { - //System.out.println("mouseDrag: " + evt); + System.out.println("mouseDrag: " + evt); + System.exit(0); /* drag = true; //System.out.println("Mouse DRAG"); @@ -16836,6 +16884,7 @@ public boolean mouseUp(Event evt, int x, int y) { System.out.println("mouseUp: " + evt); + System.exit(0); /* locked = false; if (isRenderer) @@ -18210,7 +18259,7 @@ private boolean keepshadow; - public boolean capsLocked = false; // VR + static public boolean capsLocked = false; // VR static public int indexcount = 0; /*static*/ cColor vertexOcclusion = new cColor(); -- Gitblit v1.6.2