Browse Source

no force added to dragged body

jess 7 years ago
parent
commit
a3a160de15

+ 2 - 4
src/ui/controller/Control.java

@@ -6,16 +6,14 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 
-import cpsAlgorithm.*;
-
+import classes.AbstractCpsObject;
 import classes.Category;
 import classes.CpsEdge;
 import classes.CpsNode;
 import classes.CpsUpperNode;
-import classes.AbstractCpsObject;
 import classes.HolonElement;
 import classes.HolonObject;
-import classes.HolonSwitch;
+import cpsAlgorithm.CpsAlgorithm;
 import interfaces.CategoryListener;
 import ui.model.Model;
 import ui.view.MyCanvas;

+ 5 - 0
src/ui/controller/HolonCanvasController.java

@@ -0,0 +1,5 @@
+package ui.controller;
+
+public class HolonCanvasController {
+
+}

+ 17 - 12
src/ui/view/HolonCanvas.java

@@ -20,6 +20,7 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
+import javax.swing.plaf.BorderUIResource.BevelBorderUIResource;
 
 import classes.AbstractCpsObject;
 import classes.Constants;
@@ -71,6 +72,7 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 	private ArrayList<HolonBody> sortedDist = new ArrayList<>();
 	private boolean sizeChange = false;
 	private HolonBody toDrag;
+	private boolean beingDragged = false;
 
 	public HolonCanvas(Model mod, Control control) {
 		// Wire up Events
@@ -361,17 +363,19 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 		// and elapsedTime
 		calcCenter();
 		for (int i = 0; i < subCount; i++) {
-			bodies.get(i).position
-					.setX((float) (bodies.get(i).position.getX() + (bodies.get(i).velocity.getX() * (elapsedSeconds))
-							- ((bodies.get(i).position.getX() - center.getWidth()) / (50 + subCount))));
-			bodies.get(i).position
-					.setY((float) (bodies.get(i).position.getY() + (bodies.get(i).velocity.getY() * (elapsedSeconds))
-							- ((bodies.get(i).position.getY() - center.getHeight()) / (50 + subCount))));
-
-			if (Math.abs(bodies.get(i).velocity.getX()) < Constants.epsilon)
-				bodies.get(i).velocity.setX(0);
-			if (Math.abs(bodies.get(i).velocity.getY()) < Constants.epsilon)
-				bodies.get(i).velocity.setY(0);
+			if (!bodies.get(i).equals(toDrag) || (bodies.get(i).equals(toDrag)&& !beingDragged)) {
+				bodies.get(i).position.setX(
+						(float) (bodies.get(i).position.getX() + (bodies.get(i).velocity.getX() * (elapsedSeconds))
+								- ((bodies.get(i).position.getX() - center.getWidth()) / (50 + subCount))));
+				bodies.get(i).position.setY(
+						(float) (bodies.get(i).position.getY() + (bodies.get(i).velocity.getY() * (elapsedSeconds))
+								- ((bodies.get(i).position.getY() - center.getHeight()) / (50 + subCount))));
+
+				if (Math.abs(bodies.get(i).velocity.getX()) < Constants.epsilon)
+					bodies.get(i).velocity.setX(0);
+				if (Math.abs(bodies.get(i).velocity.getY()) < Constants.epsilon)
+					bodies.get(i).velocity.setY(0);
+			}
 		}
 		checkCollisions();
 	}
@@ -492,11 +496,12 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 
 	@Override
 	public void mouseReleased(MouseEvent e) {
-		// TODO Auto-generated method stub
+		beingDragged = false;
 	}
 
 	@Override
 	public void mouseDragged(MouseEvent e) {
+		beingDragged = true;
 		if (toDrag != null) {
 			toDrag.position = new Vector2d(e.getX(), e.getY());
 		}