.setTransform( [dojox.gfx.matrix.translate(centers[0]), dojox.gfx.matrix.rotate(Math.atan2(centers[1].y-centers[0].y, centers[1].x - centers[0].x))]); 
.setFill(c.gradient).setStroke(this.strokeStyle) .setTransform([m.translate(centers[0]), m.rotate(Math.atan2(centers[1].y - centers[0].y, centers[1].x - centers[0].x))]); 
	draw: function(){		var c = this.cache;		var centers = [c.center, c.top];		centers.sort( function(a, b){			return a.z - b.z;		});		var normal = dojox.gfx3d.vector.substract(c.top, c.center);		var gradient = this.gradient(this.renderer.lighting, 0.05, normal);		var color = this.renderer.lighting[this.fillStyle.type](normal, this.fillStyle.finish, this.fillStyle.color);		var d = Math.sqrt( Math.pow(c.center.x - c.top.x, 2) + Math.pow(c.center.y - c.top.y, 2) );		if(this.shape){			this.shape.clear();		} else {			this.shape = this.renderer.createGroup();		}		var surf = this.shape.createPath("")			.moveTo(0, -c.rx)			.lineTo(d, -c.rx)			.lineTo(d, c.rx)			.lineTo(0, c.rx)			.arcTo(c.ry, c.rx, 0, true, true, 0, -c.rx)			.setTransform( [dojox.gfx.matrix.translate(centers[0]), 				dojox.gfx.matrix.rotate(Math.atan2(centers[1].y-centers[0].y, centers[1].x - centers[0].x))]);		var front = this.shape.createEllipse({cx: centers[1].x, cy: centers[1].y, rx: c.rx, ry: c.ry})			.applyTransform(dojox.gfx.matrix.rotateAt(c.theta, centers[1].x, centers[1].y));		surf.setFill(gradient).setStroke(this.strokeStyle);		front.setFill(color).setStroke(this.strokeStyle);	}
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/c7d2075e077f52d30bb22fd290f5cbb6f2dca879/object.js/clean/gfx3d/object.js