//>>built
define("dojox/geo/openlayers/GreatCircle",["dojo/_base/lang","./_base","./GeometryFeature"],function(l,i,j){return i.GreatCircle={toPointArray:function(a,b,f){var g=a.x,e=b.x,c=Math.min(g,e),h=Math.max(g,e),d=this.DEG2RAD,g=a.y*d,a=a.x*d,e=b.y*d,b=b.x*d;Math.abs(a-b)<=this.TOLERANCE&&(b=Math.min(a,b)+Math.PI);Math.abs(b-a)==Math.PI&&0==g+e&&(e+=Math.PI/18E7);for(var c=c*d,h=h*d,f=f*d,d=[],i=0,k=this.RAD2DEG;c<=h;){lat=Math.atan((Math.sin(g)*Math.cos(e)*Math.sin(c-b)-Math.sin(e)*Math.cos(g)*Math.sin(c-
a))/(Math.cos(g)*Math.cos(e)*Math.sin(a-b)));var j={x:c*k,y:lat*k};d[i++]=j;c=c<h&&c+f>=h?h:c+f}return d},toLineString:function(a,b,f){a=this.toPointArray(a,b,f);return new OpenLayers.Geometry.LineString(a)},toGeometryFeature:function(a,b,f){a=this.toLineString(a,b,f);return new j(a)},DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,TOLERANCE:1.0E-5}});