summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/assets/javascripts/rectangles/engine/shapes/polyline.js10
-rw-r--r--public/assets/javascripts/rectangles/engine/shapes/regionlist.js37
-rw-r--r--public/assets/javascripts/rectangles/engine/shapes/shapelist.js7
-rw-r--r--views/controls/blueprint/toolbar.ejs4
-rw-r--r--views/partials/scripts.ejs3
5 files changed, 56 insertions, 5 deletions
diff --git a/public/assets/javascripts/rectangles/engine/shapes/polyline.js b/public/assets/javascripts/rectangles/engine/shapes/polyline.js
index 3c4e9c3..99c8fda 100644
--- a/public/assets/javascripts/rectangles/engine/shapes/polyline.js
+++ b/public/assets/javascripts/rectangles/engine/shapes/polyline.js
@@ -134,6 +134,16 @@ var Polyline = Fiber.extend(function(base){
exports.rebuild = function(){
this.mx.rebuild()
}
+ exports.getSegments = function(){
+ if (this.points.length == 1) {
+ return []
+ }
+ var segments = []
+ for (var i = 1; i < this.points.length; i++) {
+ segments.push( [ this.points[i-1], this.points[i] ] )
+ }
+ return segments
+ }
exports.serialize = function(){
return this.points.map(function(point){ return [point.a, point.b] })
}
diff --git a/public/assets/javascripts/rectangles/engine/shapes/regionlist.js b/public/assets/javascripts/rectangles/engine/shapes/regionlist.js
new file mode 100644
index 0000000..1f2810f
--- /dev/null
+++ b/public/assets/javascripts/rectangles/engine/shapes/regionlist.js
@@ -0,0 +1,37 @@
+var RegionList = (function(){
+
+ var RegionList = {}
+ var regions = RegionList.regions
+
+ RegionList.init = function(){
+ }
+
+ RegionList.build = function(){
+ var segments = shapes.getAllSegments()
+ segments.forEach(function(segment){
+ if (segment[0][0] == segment[1][0]) {
+ if (segment[0][1] > segment[1][1]) {
+ segment.push(segment.shift())
+ }
+ }
+ else if (segment[0][1] == segment[1][1]) {
+ if (segment[0][0] > segment[1][0]) {
+ segment.push(segment.shift())
+ }
+ }
+ })
+ segments = segments.sort(function(a,b){
+ return a[0][0] < b[0][0]
+ })
+
+ console.log(segments)
+
+ // get a list of all segments from these polylines
+ // re-orientate them so they're either facing up or right
+ // loop over them from left to right
+ //
+ }
+
+ return RegionList
+
+})() \ No newline at end of file
diff --git a/public/assets/javascripts/rectangles/engine/shapes/shapelist.js b/public/assets/javascripts/rectangles/engine/shapes/shapelist.js
index 1b8acfd..4373caf 100644
--- a/public/assets/javascripts/rectangles/engine/shapes/shapelist.js
+++ b/public/assets/javascripts/rectangles/engine/shapes/shapelist.js
@@ -67,6 +67,13 @@ var ShapeList = Fiber.extend(function(base){
exports.forEach = function(fn){
this.shapes.forEach(fn)
}
+ exports.getAllSegments = function(){
+ var segments = []
+ this.shapes.forEach(function(shape){
+ segments = segments.concat( shape.getSegments() )
+ })
+ return segments
+ }
exports.serialize = function(){
return this.shapes.map(function(shape){
return shape.serialize()
diff --git a/views/controls/blueprint/toolbar.ejs b/views/controls/blueprint/toolbar.ejs
index 15c5a28..ee9594e 100644
--- a/views/controls/blueprint/toolbar.ejs
+++ b/views/controls/blueprint/toolbar.ejs
@@ -35,7 +35,3 @@
data-info="save blueprint"
class="ion-ios-compose-outline"></span>
</div>
-<!--
- <span class="ion-ionic active" data-role="orbit-mode"></span>
- <span class="ion-archive" data-role="keyboard-mode"></span>
- -->
diff --git a/views/partials/scripts.ejs b/views/partials/scripts.ejs
index 8a69888..bc8dacb 100644
--- a/views/partials/scripts.ejs
+++ b/views/partials/scripts.ejs
@@ -85,8 +85,9 @@
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/sculpture/types/_object.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/sculpture/types/image.js"></script>
-<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/shapelist.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/polyline.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/shapelist.js"></script>
+<script type="text/javascript" src="/assets/javascripts/rectangles/engine/shapes/regionlist.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/_map.js"></script>
<script type="text/javascript" src="/assets/javascripts/rectangles/engine/map/draw.js"></script>