From 9c867b3c21276e6558337ca3842cf13f38410958 Mon Sep 17 00:00:00 2001
From: Martin Sarsale
Date: Sat, 14 Apr 2012 17:30:55 -0300
Subject: [PATCH 1/9] raphael included
---
index.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/index.html b/index.html
index 15f3ac4..731b48d 100644
--- a/index.html
+++ b/index.html
@@ -23,6 +23,7 @@
+
From 9e4b751ee5d2c7ddaab8bbac538112817bc7a28b Mon Sep 17 00:00:00 2001
From: Martin Sarsale
Date: Sat, 14 Apr 2012 17:31:08 -0300
Subject: [PATCH 2/9] mergeSegments bugfix
---
javascripts/preprocess.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/javascripts/preprocess.js b/javascripts/preprocess.js
index b82cd72..871c5e1 100644
--- a/javascripts/preprocess.js
+++ b/javascripts/preprocess.js
@@ -15,7 +15,7 @@ function preprocessData(data) {
var eventList = {};
for (d in data) {
if (!eventList[data[d].character]) {
- eventList[data[d].character] = [];
+ eventList[data[d].character] = {};
}
eventList[data[d].character].name = data[d].character;
if (!eventList[data[d].character].position) {
@@ -51,11 +51,12 @@ function mergeSegments(events, places_position){
var current = [pos_x, pos_y]
character_time['segments'].push({'start': current});
if(prev != null) {
- positions[position - 1]['end'] = current;
+ character_time['segments'][character_time['segments'].length - 2]['end'] = current;
}
prev = current;
}
character_time['name'] = character['name'];
+ character_time['segments'].pop();
result.push(character_time);
}
return result;
From a6652f0febd6c91cd1ac5339588547f8e7d08473 Mon Sep 17 00:00:00 2001
From: Martin Sarsale
Date: Sat, 14 Apr 2012 17:50:49 -0300
Subject: [PATCH 3/9] merge_segments bugfix
---
javascripts/preprocess.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/javascripts/preprocess.js b/javascripts/preprocess.js
index 871c5e1..8ec13a9 100644
--- a/javascripts/preprocess.js
+++ b/javascripts/preprocess.js
@@ -49,7 +49,7 @@ function mergeSegments(events, places_position){
pos_y = places_position[positions[position]['group']];
pos_x = positions[position]['orderBox'];
var current = [pos_x, pos_y]
- character_time['segments'].push({'start': current});
+ character_time['segments'].push({'start': current, "attributes":{"color": "#bbffbb"}});
if(prev != null) {
character_time['segments'][character_time['segments'].length - 2]['end'] = current;
}
From 791c4faf6cc9f2458416387fa366df7a0e64ee27 Mon Sep 17 00:00:00 2001
From: Martin Sarsale
Date: Sat, 14 Apr 2012 17:56:00 -0300
Subject: [PATCH 4/9] casi anda..
---
index.html | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/index.html b/index.html
index 731b48d..f89676c 100644
--- a/index.html
+++ b/index.html
@@ -72,7 +72,7 @@ Visualiza tu timeline aca
@@ -81,7 +81,7 @@
Visualiza tu timeline aca
-
+
@@ -137,14 +137,20 @@ Visualiza tu timeline aca
var optimizer = new TAOptimizer(p, params);
var redraw = function(o) {
- //console.log("Redraw called!");
+ console.log("Redraw called!");
var grafico = new Graficador('graph', {
- width: 1100,
- height: 1000,
- kx: 4,
- ky: 4
- });
- grafico.loadData(o.solution);
+ width: 1100,//px
+ height: 1000,//px
+ 'margin-top': 50,//px
+ 'margin-right': 50,//px
+ 'margin-bottom': 50,//px
+ 'margin-left': 50,//px
+ textoffset: 5, // -textoffset px
+ kx: 50,
+ ky: 50
+ });
+ console.log(o.solution)
+ grafico.loadData(o.solution );
}
optimizer.callback = redraw
@@ -157,7 +163,7 @@ Visualiza tu timeline aca
r = optimizer.step(2000);
if (r) {
console.log(optimizer.instance.energy())
- window.setTimeout(doLoop, 1)
+// window.setTimeout(doLoop, 1)
}
};
doLoop();
From a0b2ebcdf26c9418598e6f8d108afcff28495e08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Miquel?=
Date: Sat, 14 Apr 2012 18:02:41 -0300
Subject: [PATCH 5/9] more bugfixing
---
javascripts/timelineproblem.js | 15 +++++----------
src/timelineproblem.coffee | 24 +++++++++++++++---------
2 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/javascripts/timelineproblem.js b/javascripts/timelineproblem.js
index 52d5d36..5053c8f 100644
--- a/javascripts/timelineproblem.js
+++ b/javascripts/timelineproblem.js
@@ -82,16 +82,11 @@
delta = (Math.random() - 0.5) * (0.2 * 100.0 / this.numGroups);
numOperations = 2;
op = Math.round(Math.random() * numOperations);
- if (op === 0) {
- from = this.groupNames[i];
- to = this.groupNames[j];
- prevPos = this.groupPosition[to];
- this.groupPosition[to] = this.groupPosition[from];
- this.groupPosition[from] = prevPos;
- } else if (op === 1) {
- from = this.groupNames[i];
- this.groupPosition[from] += delta;
- }
+ from = this.groupNames[i];
+ to = this.groupNames[j];
+ prevPos = this.groupPosition[to];
+ this.groupPosition[to] = this.groupPosition[from];
+ this.groupPosition[from] = prevPos;
this.solution = mergeSegments(this.problem.eventList, this.groupPosition);
return this.solution;
};
diff --git a/src/timelineproblem.coffee b/src/timelineproblem.coffee
index ae949fa..8672537 100644
--- a/src/timelineproblem.coffee
+++ b/src/timelineproblem.coffee
@@ -85,15 +85,21 @@ class TimeLineProblem extends ProblemInstance
# Determine what to do
numOperations = 2
op = Math.round( Math.random() * numOperations )
- if op == 0
- from = @groupNames[i]
- to = @groupNames[j]
- prevPos = @groupPosition[to]
- @groupPosition[to] = @groupPosition[from]
- @groupPosition[from] = prevPos
- else if op == 1
- from = @groupNames[i]
- @groupPosition[from] += delta
+ from = @groupNames[i]
+ to = @groupNames[j]
+ prevPos = @groupPosition[to]
+ @groupPosition[to] = @groupPosition[from]
+ @groupPosition[from] = prevPos
+
+ #if op == 0
+ # from = @groupNames[i]
+ # to = @groupNames[j]
+ # prevPos = @groupPosition[to]
+ # @groupPosition[to] = @groupPosition[from]
+ # @groupPosition[from] = prevPos
+ #else if op == 1
+ # from = @groupNames[i]
+ # @groupPosition[from] += delta
@solution = mergeSegments(@problem.eventList, @groupPosition)
return @solution
From a20fb8374222abce610699f0da76c559dd289df8 Mon Sep 17 00:00:00 2001
From: Martin Sarsale
Date: Sat, 14 Apr 2012 18:03:59 -0300
Subject: [PATCH 6/9] lower ky
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index f89676c..35a6095 100644
--- a/index.html
+++ b/index.html
@@ -147,7 +147,7 @@ Visualiza tu timeline aca
'margin-left': 50,//px
textoffset: 5, // -textoffset px
kx: 50,
- ky: 50
+ ky: 10
});
console.log(o.solution)
grafico.loadData(o.solution );
@@ -163,7 +163,7 @@ Visualiza tu timeline aca
r = optimizer.step(2000);
if (r) {
console.log(optimizer.instance.energy())
-// window.setTimeout(doLoop, 1)
+ window.setTimeout(doLoop, 1)
}
};
doLoop();
From f2d04ee67dc5bbd4ae44bf69622fd24cc93218e6 Mon Sep 17 00:00:00 2001
From: Nicolas Cisco
Date: Sat, 14 Apr 2012 18:03:44 -0300
Subject: [PATCH 7/9] Graficador: ahora borra =)
---
javascripts/graficador.js | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/javascripts/graficador.js b/javascripts/graficador.js
index 6a872f0..747a94e 100644
--- a/javascripts/graficador.js
+++ b/javascripts/graficador.js
@@ -114,6 +114,7 @@ function testValues() {
var Graficador = function(div, config) {
this.divId = div;
this.config = config || {};
+ $(this.divId).empty();
this.paper = new Raphael(this.divId, this.config.width, this.config.height);
};
@@ -144,9 +145,6 @@ Graficador.prototype.loadData = function (data) {
}
};
-Graficador.prototype.makeRoundStringLine = function(arr) {
- var string = '';
-}
Graficador.prototype.joinLine = function(segments) {
var ret = [],
line = 0,
@@ -167,6 +165,10 @@ Graficador.prototype.joinLine = function(segments) {
return [ret, attr];
};
+Graficador.prototype.makeRoundStringLine = function(arr) {
+ var string = '';
+};
+
Graficador.prototype.makeStringLine = function(arr) {
var string = '';
for (var i=0; i < arr.length; i++) {
From df5c2a12da9dbcb834a4c65cfb72fba52319ab14 Mon Sep 17 00:00:00 2001
From: Nicolas Cisco
Date: Sat, 14 Apr 2012 18:13:18 -0300
Subject: [PATCH 8/9] graficador: fixed bug scrollear
---
javascripts/graficador.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/javascripts/graficador.js b/javascripts/graficador.js
index 747a94e..b194208 100644
--- a/javascripts/graficador.js
+++ b/javascripts/graficador.js
@@ -125,6 +125,7 @@ Graficador.prototype.defaultText = {
Graficador.prototype.defaultLine = {};
Graficador.prototype.loadData = function (data) {
+ this.paper.clear();
for (var i=0; i< data.length; i++) {
this.writeText(data[i]);
var linesAndData = this.joinLine(data[i].segments);
@@ -186,10 +187,10 @@ Graficador.prototype.writeText = function(tHash) {
tHash.name
),
opts = {};
- for (key in this.defaultText)
- opts[key] = this.defaultText[key];
+ for (key in this.defaultText)
+ opts[key] = this.defaultText[key];
for (key in (tHash.attributes || {} )){
- if (['fill', 'fill-opacity', 'font', 'font-family', 'font-size', 'font-weight', 'stroke', 'text-anchor'].indexOf(key))
+ if (['fill', 'fill-opacity', 'font', 'font-family', 'font-size', 'font-weight', 'stroke', 'text-anchor'].indexOf(key) > -1)
opts[key] = tHash.attributes[key];
}
thisText.attr(opts);
From f65a198dc03dc9cf95babf6bf7cc2bf66e7f689b Mon Sep 17 00:00:00 2001
From: Nicolas Cisco
Date: Sat, 14 Apr 2012 18:24:03 -0300
Subject: [PATCH 9/9] Graficador, mas cosas
---
javascripts/graficador.js | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/javascripts/graficador.js b/javascripts/graficador.js
index b194208..212e514 100644
--- a/javascripts/graficador.js
+++ b/javascripts/graficador.js
@@ -167,7 +167,25 @@ Graficador.prototype.joinLine = function(segments) {
};
Graficador.prototype.makeRoundStringLine = function(arr) {
+ function midPoint(Ax, Ay, Bx, By) {
+ var Zx = (Ax-Bx)/2 + Bx;
+ var Zy = (Ay-By)/2 + By;
+ return [Zx, Zy];
+ }
var string = '';
+ for (var i=0; i < arr.length; i++) {
+ string += (i == 0)? 'M' : 'L';
+
+ Z = midPoint(point[X], point[Y], next[X], next[Y]);
+ path_string += " "+Z[X]+","+Z[Y];
+ path_string += "Q"+next[X]+","+next[Y];
+
+ string += (arr[i][0]*this.config.kx+this.config['margin-left'])+','+(arr[i][1]*this.config.ky+this.config['margin-top']);
+
+
+
+
+ }
};
Graficador.prototype.makeStringLine = function(arr) {