var epsilon = 0.5; var v = dojox.gfx3d.vector; var sorted = []; var subs = null; // FIXME: using Infinity here? var view = {x: 0, y: 0, z: -10000}; if(Math.floor( epsilon + v.dotProduct(this.normal, v.substract(view, this.orient))) <= 0){ subs = [this.plus, this.minus]; } else { subs = [this.minus, this.plus]; } if(subs[0]){ sorted = sorted.concat(subs[0].iterate()); } sorted.push(this.object); if(subs[1]){ sorted = sorted.concat(subs[1].iterate()); } return sorted;