Permalink
Browse files

sourcesink nodes are static, so prettify won't move them

  • Loading branch information...
1 parent 17d468e commit 207286b9a08d0d9ffc7f596146296306e6e299b2 Daniel Thornton committed May 17, 2012
Showing with 32 additions and 30 deletions.
  1. +32 −30 web/js/reductions.js
View
@@ -424,41 +424,43 @@ var Reduction = Class.extend({
// for every node
for (i = 0; i < nodes.length; i++) {
n = nodes[i];
- force = [0,0];
+ if (! n.sourcesink) {
+ force = [0,0];
- for (j = 0; j < nodes.length; j++) {
- if (! (nodes[j] === n)) {
- force = self.vector_sum(force, n.coulomb(nodes[j]));
+ for (j = 0; j < nodes.length; j++) {
+ if (! (nodes[j] === n)) {
+ force = self.vector_sum(force, n.coulomb(nodes[j]));
+ }
}
- }
- elements = n.elements();
- for (j = 0; j < elements.length; j++) {
- force = self.vector_sum(force, n.hooke(elements[j]));
- }
+ elements = n.elements();
+ for (j = 0; j < elements.length; j++) {
+ force = self.vector_sum(force, n.hooke(elements[j]));
+ }
- n.velocity = self.vector_sum(n.velocity, force);
- n.velocity = [n.velocity[0]*damping, n.velocity[1]*damping];
- n.x += n.velocity[0];
- n.y += n.velocity[1];
-
- // keep nodes on the screen
- if (n.x < self.board.snap_size) {
- n.velocity[0] -= (n.x - self.board.snap_size);
- n.x = self.board.snap_size;
- } else if (n.x > (self.board.canvas.width - self.board.snap_size)) {
- n.velocity[0] -= (n.x - (self.board.canvas.width - self.board.snap_size));
- n.x = (self.board.canvas.width - self.board.snap_size);
- }
- if (n.y < self.board.snap_size) {
- n.velocity[1] -= (n.y - self.board.snap_size);
- n.y = self.board.snap_size;
- } else if (n.y > (self.board.canvas.height - self.board.snap_size)) {
- n.velocity[1] -= (n.y - (self.board.canvas.height - self.board.snap_size));
- n.y = (self.board.canvas.height - self.board.snap_size);
- }
+ n.velocity = self.vector_sum(n.velocity, force);
+ n.velocity = [n.velocity[0]*damping, n.velocity[1]*damping];
+ n.x += n.velocity[0];
+ n.y += n.velocity[1];
+
+ // keep nodes on the screen
+ if (n.x < self.board.snap_size) {
+ n.velocity[0] -= (n.x - self.board.snap_size);
+ n.x = self.board.snap_size;
+ } else if (n.x > (self.board.canvas.width - self.board.snap_size)) {
+ n.velocity[0] -= (n.x - (self.board.canvas.width - self.board.snap_size));
+ n.x = (self.board.canvas.width - self.board.snap_size);
+ }
+ if (n.y < self.board.snap_size) {
+ n.velocity[1] -= (n.y - self.board.snap_size);
+ n.y = self.board.snap_size;
+ } else if (n.y > (self.board.canvas.height - self.board.snap_size)) {
+ n.velocity[1] -= (n.y - (self.board.canvas.height - self.board.snap_size));
+ n.y = (self.board.canvas.height - self.board.snap_size);
+ }
- kinetic += (Math.pow(n.velocity[0], 2) + Math.pow(n.velocity[1], 2));
+ kinetic += (Math.pow(n.velocity[0], 2) + Math.pow(n.velocity[1], 2));
+ }
}
if (kinetic > kmax) {

0 comments on commit 207286b

Please sign in to comment.