Map can be zoomed in / out at all times.

- map can be zoomed when object is not selected

#story[1312]
main
Jessica Syder 8 years ago
parent e64e6ddbdb
commit ab49d62c0d

@ -204,7 +204,7 @@ public class View3D extends Pane {
/** /**
* Stop camera from following the last selected subject * Stop camera from following the last selected subject
*/ */
private void untrackSubject() { public void untrackSubject() {
if(target.get() != null) { if(target.get() != null) {
trackBoat.stop(); trackBoat.stop();
target.setValue(null); target.setValue(null);
@ -215,7 +215,7 @@ public class View3D extends Pane {
* Set camera to follow the selected subject * Set camera to follow the selected subject
* @param subject to track * @param subject to track
*/ */
private void trackSubject(Subject3D subject) { public void trackSubject(Subject3D subject) {
target.set(subject); target.set(subject);
this.trackBoat = new AnimationTimer() { this.trackBoat = new AnimationTimer() {
@ -265,17 +265,18 @@ public class View3D extends Pane {
* @param delta amount to change distance by * @param delta amount to change distance by
*/ */
public void updateDistance(double delta) { public void updateDistance(double delta) {
double distance = -this.distance.getZ() + delta; double newDistance = -this.distance.getZ() + delta;
if (target.get() == null){
if(distance <= ZOOM_IN_LIMIT) { setDistance(newDistance);
} else if(newDistance <= ZOOM_IN_LIMIT) {
setDistance(ZOOM_IN_LIMIT); setDistance(ZOOM_IN_LIMIT);
} else if (distance > ZOOM_OUT_LIMIT){ } else if (newDistance > ZOOM_OUT_LIMIT){
untrackSubject(); untrackSubject();
setDistance(1050); setDistance(1050);
updatePivot(new Translate(250, 0, 210)); updatePivot(new Translate(250, 0, 210));
setYaw(0); setYaw(0);
} else { } else {
setDistance(distance); setDistance(newDistance);
} }
adjustPitchForZoom(); adjustPitchForZoom();
adjustScaleForZoom(); adjustScaleForZoom();
@ -294,7 +295,6 @@ public class View3D extends Pane {
itemScale = 0.1; itemScale = 0.1;
// if zoomed right out // if zoomed right out
} else if (itemScale > 1) { } else if (itemScale > 1) {
System.out.println("over 1");
itemScale = 1; itemScale = 1;
} }

Loading…
Cancel
Save