var m = dojox.gfx3d.matrix.multiply(camera, this.matrix); // iterate all the segments and convert them to 2D canvas // TODO consider the relative mode var path = "" var _validSegments = this._validSegments; dojo.forEach(this.segments, function(item){ path += item.action; for(var i = 0; i < item.args.length; i+= _validSegments[item.action.toLowerCase()] ){ var pt = dojox.gfx3d.matrix.multiplyPoint(m, item.args[i], item.args[i+1], item.args[i+2]) path += " " + pt.x + " " + pt.y; } }); this.cache = path;