From 9c64ae99904386fbcad039a1888fc985d60d49a2 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 29 Sep 2014 15:32:32 -0400 Subject: report wall positions with api --- server/lib/api/rooms.js | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 server/lib/api/rooms.js (limited to 'server/lib/api/rooms.js') diff --git a/server/lib/api/rooms.js b/server/lib/api/rooms.js new file mode 100644 index 0000000..f0e991d --- /dev/null +++ b/server/lib/api/rooms.js @@ -0,0 +1,72 @@ +var vec = require("../../../public/assets/javascripts/rectangles/models/vec2.js") +var Rect = require("../../../public/assets/javascripts/rectangles/models/rect.js") +var Room = require("../../../public/assets/javascripts/rectangles/models/room.js") +var Rooms = require("../../../public/assets/javascripts/rectangles/engine/rooms/_rooms.js") +var Clipper = require("../../../public/assets/javascripts/rectangles/engine/rooms/clipper.js") +var Builder = require("../../../public/assets/javascripts/rectangles/engine/rooms/builder.js") +var Grouper = require("../../../public/assets/javascripts/rectangles/engine/rooms/grouper.js") +var Walls = require("../../../public/assets/javascripts/rectangles/engine/rooms/_walls.js") + +/* jshint node: true */ + +var _ = require('lodash'), + util = require('../util'), + upload = require('../upload'), + config = require('../../../config.json'), + Project = require('../schemas/Project'); + +var rooms = module.exports = { + show: function(req, res){ + Project.findOne({ slug: req.params.slug }, function(err, doc){ + if (! doc) { res.json({ status: 404 }); return } + doc = doc.toObject() + + doc.rooms.forEach(function(data){ + var rect = new Rect(data.rect.x[0], data.rect.y[0], data.rect.x[1], data.rect.y[1]) + var room = new Room({ + id: data.id, + rect: rect, + height: data.height + }) + Rooms.add(room) + }) + Rooms.clipper.solve_rects() + Rooms.builder.build() + + var walls = [], mx_walls = [], mx_floor = [], mx_ceiling = [] + var collections = Rooms.grouper.collect() + Rooms.grouper.cull(collections) + Rooms.grouper.group(walls, collections, FRONT) + Rooms.grouper.group(walls, collections, BACK) + Rooms.grouper.group(walls, collections, LEFT) + Rooms.grouper.group(walls, collections, RIGHT) + walls.forEach(function(wall){ + wall.mx.forEach(function(mx){ + var data = mx.report() + data.id = wall.id + mx_walls.push(data) + }) + }) + + doc.mx_walls = mx_walls + doc.mx_floor = mx_floor + doc.mx_ceiling = mx_ceiling + + Rooms.forEach(function(room){ + room.mx_floor.forEach(function(mx){ + mx_floor.push( mx.report() ) + }) + room.mx_ceiling.forEach(function(mx){ + mx_ceiling.push( mx.report() ) + }) + }) + + // Walls.deserialize(doc.walls) +// data.media && Scenery.deserialize(data.media) + + res.json(doc) + return + + }) + } +} -- cgit v1.2.3-70-g09d2 From f80ca0ef62785cf72176598b695a1a291dd38e91 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 29 Sep 2014 16:47:34 -0400 Subject: fix error in color picker --- public/assets/javascripts/ui/editor/LightControl.js | 6 +++--- public/assets/javascripts/ui/site/LayoutsModal.js | 2 +- server/lib/api/rooms.js | 5 ----- views/projects/layouts-modal.ejs | 5 +---- 4 files changed, 5 insertions(+), 13 deletions(-) (limited to 'server/lib/api/rooms.js') diff --git a/public/assets/javascripts/ui/editor/LightControl.js b/public/assets/javascripts/ui/editor/LightControl.js index d975180..96f6942 100644 --- a/public/assets/javascripts/ui/editor/LightControl.js +++ b/public/assets/javascripts/ui/editor/LightControl.js @@ -247,11 +247,11 @@ var LabColorPicker = function (parent, w, h) { var var_G = ( RGB[1] / 255 ) // G from 0 to 255 var var_B = ( RGB[2] / 255 ) // B from 0 to 255 - if ( var_R > 0.04045 ) var_R = ( ( var_R + 0.055 ) / 1.055 ) ^ 2.4 + if ( var_R > 0.04045 ) var_R = Math.pow( ( var_R + 0.055 ) / 1.055, 2.4) else var_R = var_R / 12.92 - if ( var_G > 0.04045 ) var_G = ( ( var_G + 0.055 ) / 1.055 ) ^ 2.4 + if ( var_G > 0.04045 ) var_G = Math.pow( ( var_G + 0.055 ) / 1.055, 2.4) else var_G = var_G / 12.92 - if ( var_B > 0.04045 ) var_B = ( ( var_B + 0.055 ) / 1.055 ) ^ 2.4 + if ( var_B > 0.04045 ) var_B = Math.pow( ( var_B + 0.055 ) / 1.055, 2.4) else var_B = var_B / 12.92 var_R = var_R * 100 diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js index f109ec3..bfc3dec 100644 --- a/public/assets/javascripts/ui/site/LayoutsModal.js +++ b/public/assets/javascripts/ui/site/LayoutsModal.js @@ -57,7 +57,7 @@ var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({ this.$(".templates .active").removeClass("active") var $layout = $(e.currentTarget) $layout.addClass("active") - + // actually do window.location.pathname = "/project/" + $layout.data("slug") + "/edit" }, diff --git a/server/lib/api/rooms.js b/server/lib/api/rooms.js index f0e991d..c044309 100644 --- a/server/lib/api/rooms.js +++ b/server/lib/api/rooms.js @@ -61,12 +61,7 @@ var rooms = module.exports = { }) }) - // Walls.deserialize(doc.walls) -// data.media && Scenery.deserialize(data.media) - res.json(doc) - return - }) } } diff --git a/views/projects/layouts-modal.ejs b/views/projects/layouts-modal.ejs index 97f1e61..34dc9af 100644 --- a/views/projects/layouts-modal.ejs +++ b/views/projects/layouts-modal.ejs @@ -33,14 +33,11 @@ X
+

Choose Room Template

-

Choose Room Template

There are no room layouts available. Please create a new one.
-
- -
-- cgit v1.2.3-70-g09d2