/** * User: hudbrog (hudbrog@gmail.com) * Date: 10/21/12 * Time: 7:31 AM */ GCODE.gCodeReader = (function(){ // ***** PRIVATE ****** var gcode, lines; var z_heights = {}; var model = []; var max = {x: undefined, y: undefined, z: undefined}; var min = {x: undefined, y: undefined, z: undefined}; var modelSize = {x: undefined, y: undefined, z: undefined}; var filamentByLayer = {}; var printTimeByLayer; var totalFilament=0; var printTime=0; var speeds = {}; var speedsByLayer = {}; var gCodeOptions = { sortLayers: false, purgeEmptyLayers: true, analyzeModel: false }; var percentageTree = undefined; var prepareGCode = function(totalSize){ if(!lines)return; gcode = []; var i, tmp, byteCount; byteCount = 0; for(i=0;i 1 || tmp === -1) { gcode.push({line: lines[i], percentage: byteCount * 100 / totalSize}); } } lines = []; }; var sortLayers = function(){ var sortedZ = []; var tmpModel = []; for(var layer in z_heights){ sortedZ[z_heights[layer]] = layer; } sortedZ.sort(function(a,b){ return a-b; }); for(var i=0;i