Simplified circle mode code and translated the circle to another position so it's more centered compared to the regular view
diff --git a/js/circle-mode.js b/js/circle-mode.js
index 492c6c6..3677f68 100644
--- a/js/circle-mode.js
+++ b/js/circle-mode.js
@@ -4,28 +4,15 @@
function initCircleMode() {
document.querySelector("#circle-mode").addEventListener('click', function() {
- if(circleMode) {
- circleMode = false;
- document.querySelector("#circle-mode i").innerText = "trip_origin";
+ circleMode = !circleMode;
+ document.querySelector("#circle-mode i").innerText = (circleMode ? "scatter_plot" : "trip_origin");
+ s.graph.nodes().forEach(function(n) {
+ n.x = (circleMode ? n.circleX : n.originalX);
+ n.y = (circleMode ? n.circleY : n.originalY);
+ n.size = 10;
+ });
- s.graph.nodes().forEach(function(n) {
- n.x = n.originalX;
- n.y = n.originalY;
- n.size = 10;
- });
-
- s.refresh();
- } else {
- circleMode = true;
- document.querySelector("#circle-mode i").innerText = "scatter_plot";
-
- s.graph.nodes().forEach(function(n) {
- n.x = n.circleX;
- n.y = n.circleY;
- });
-
- s.refresh();
- }
+ s.refresh();
});
}
@@ -34,10 +21,10 @@
if (y < -10000 || y > 10000) return true;
var ans = true;
- var c = crossProd (rect[0], rect[1], x, y);
+ var c = crossProd(rect[0], rect[1], x, y);
- for(var i = 1; i < 4; i++) {
- var temp = crossProd (rect[i], rect[(i+1)%4], x, y);
+ for (var i = 1; i < 4; i++) {
+ var temp = crossProd(rect[i], rect[(i+1)%4], x, y);
if (c*temp < 0) ans = false;
}
return ans;