root / trunk / web / dojo / dojox / charting / plot3d / Cylinders.js
History | View | Annotate | Download (1.61 KB)
| 1 |
/*
|
|---|---|
| 2 |
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
| 3 |
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
| 4 |
see: http://dojotoolkit.org/license for details
|
| 5 |
*/
|
| 6 |
|
| 7 |
|
| 8 |
if(!dojo._hasResource["dojox.charting.plot3d.Cylinders"]){ |
| 9 |
dojo._hasResource["dojox.charting.plot3d.Cylinders"]=true; |
| 10 |
dojo.provide("dojox.charting.plot3d.Cylinders");
|
| 11 |
dojo.require("dojox.charting.plot3d.Base");
|
| 12 |
(function(){
|
| 13 |
var _1=function(a,f,o){ |
| 14 |
a=typeof a=="string"?a.split(""):a; |
| 15 |
o=o||dojo.global; |
| 16 |
var z=a[0]; |
| 17 |
for(var i=1;i<a.length;z=f.call(o,z,a[i++])){ |
| 18 |
} |
| 19 |
return z;
|
| 20 |
}; |
| 21 |
dojo.declare("dojox.charting.plot3d.Cylinders",dojox.charting.plot3d.Base,{constructor:function(_2,_3,_4){ |
| 22 |
this.depth="auto"; |
| 23 |
this.gap=0; |
| 24 |
this.data=[];
|
| 25 |
this.material={type:"plastic",finish:"shiny",color:"lime"}; |
| 26 |
this.outline=null; |
| 27 |
if(_4){
|
| 28 |
if("depth" in _4){ |
| 29 |
this.depth=_4.depth;
|
| 30 |
} |
| 31 |
if("gap" in _4){ |
| 32 |
this.gap=_4.gap;
|
| 33 |
} |
| 34 |
if("material" in _4){ |
| 35 |
var m=_4.material;
|
| 36 |
if(typeof m=="string"||m instanceof dojo.Color){ |
| 37 |
this.material.color=m;
|
| 38 |
}else{
|
| 39 |
this.material=m;
|
| 40 |
} |
| 41 |
} |
| 42 |
if("outline" in _4){ |
| 43 |
this.outline=_4.outline;
|
| 44 |
} |
| 45 |
} |
| 46 |
},getDepth:function(){ |
| 47 |
if(this.depth=="auto"){ |
| 48 |
var w=this.width; |
| 49 |
if(this.data&&this.data.length){ |
| 50 |
w=w/this.data.length;
|
| 51 |
} |
| 52 |
return w-2*this.gap; |
| 53 |
} |
| 54 |
return this.depth; |
| 55 |
},generate:function(_5,_6){ |
| 56 |
if(!this.data){ |
| 57 |
return this; |
| 58 |
} |
| 59 |
var _7=this.width/this.data.length,_8=0,_9=this.height/_1(this.data,Math.max); |
| 60 |
if(!_6){
|
| 61 |
_6=_5.view; |
| 62 |
} |
| 63 |
for(var i=0;i<this.data.length;++i,_8+=_7){ |
| 64 |
_6.createCylinder({center:{x:_8+_7/2,y:0,z:0},radius:_7/2-this.gap,height:this.data[i]*_9}).setTransform(dojox.gfx3d.matrix.rotateXg(-90)).setFill(this.material).setStroke(this.outline);
|
| 65 |
} |
| 66 |
}}); |
| 67 |
})(); |
| 68 |
} |