blob: 3abfcf312553c62210f38e8d758154744689efc4 [file] [log] [blame]
/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
/*global console, require*/
var bm_binpacker = (function () {
'use strict';
var ob = {}, blocks = [], packer, binpacking, GrowingPacker;
if (typeof require === 'function') {
ob.enabled = true;
binpacking = require('binpacking');
GrowingPacker = binpacking.GrowingPacker;
}
function addBlocks(blocks) {
console.log(blocks);
var i, len = blocks.length;
for(i = 0; i < len; i += 1) {
addBlock(blocks[i]);
}
}
function addBlock(block) {
blocks.push(block);
}
function getPack() {
var packer = new GrowingPacker();
blocks.sort(function(a, b) { return (b.h > a.h); });
packer.fit(blocks);
console.log(blocks);
return blocks;
}
function reset() {
blocks.length = 0;
}
ob.addBlock = addBlock;
ob.addBlocks = addBlocks;
ob.reset = reset;
ob.getPack = getPack;
return ob;
}());