Archived
Top down rendering, partial commit
This commit is contained in:
1 parent
b3ee534138
commit
99fbe45b00
12 files changed
+1094
-168
No files matched your search
@@ -2,7 +2,8 @@
|
||||
|
||||
var util = require("util"),
|
||||
fs = require("fs"),
|
||||
parser = require('libxml-to-js');
|
||||
parser = require('libxml-to-js'),
|
||||
utils = require("./utils");
|
||||
|
||||
var xml = fs.readFileSync(__dirname + "/data/neuf04.svg", "utf-8");
|
||||
parser(xml, function (err, result) {
|
||||
@@ -13,27 +14,42 @@ parser(xml, function (err, result) {
|
||||
|
||||
// rooms
|
||||
var g = result.g.rect;
|
||||
var transform = result.g['@'].transform;
|
||||
console.log(transform);
|
||||
//translate(-21.057139,264.6204)
|
||||
var translateX = -21.057139;
|
||||
var translateY = 264.6204;
|
||||
var rooms = [];
|
||||
Object.keys(g).forEach(function(key) {
|
||||
var r = g[key]['@'];
|
||||
var number = r.id;
|
||||
|
||||
// more than one room number per shape?
|
||||
if(r.id.indexOf(',') > -1) {
|
||||
number = r.id.split(",");
|
||||
}
|
||||
rooms.push({
|
||||
// more than one shape per room number?
|
||||
if(r.id.indexOf('_') > -1) {
|
||||
number = r.id.split("_")[0];
|
||||
}
|
||||
// TODO adjust position to top left instead of center
|
||||
// ie. find vector from center to top left corner
|
||||
var room = {
|
||||
number: number,
|
||||
pos: {
|
||||
x: r.x,
|
||||
y: r.y
|
||||
position: {
|
||||
x: parseFloat(r.x) + translateX,
|
||||
y: parseFloat(r.y) + translateY
|
||||
},
|
||||
size: {
|
||||
dimensions: {
|
||||
height: r.height,
|
||||
width: r.width,
|
||||
}
|
||||
});
|
||||
};
|
||||
//utils.applySVGTransform(room, transform);
|
||||
console.log(room);
|
||||
rooms.push(room);
|
||||
});
|
||||
var data = {rooms: rooms, dimensions: { width: width, heigh: height}};
|
||||
|
||||
fs.writeFileSync(__dirname + "/data/rooms.json", JSON.stringify({rooms: rooms}), "utf-8");
|
||||
|
||||
fs.writeFileSync(__dirname + "/data/rooms.json", JSON.stringify(data, null, 4), "utf-8");
|
||||
});
|
||||
Reference in new issue
Block a user