/*
	Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/


window[esri._dojoScopeName||"dojo"]._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","dojox.gfx3d.vector"]],defineResource:function(_4,_5,_6){if(!_4._hasResource["dojox.gfx3d.vector"]){_4._hasResource["dojox.gfx3d.vector"]=true;_4.provide("dojox.gfx3d.vector");_4.mixin(_6.gfx3d.vector,{sum:function(){var v={x:0,y:0,z:0};_4.forEach(arguments,function(_7){v.x+=_7.x;v.y+=_7.y;v.z+=_7.z;});return v;},center:function(){var l=arguments.length;if(l==0){return {x:0,y:0,z:0};}var v=_6.gfx3d.vector.sum(arguments);return {x:v.x/l,y:v.y/l,z:v.z/l};},substract:function(a,b){return {x:a.x-b.x,y:a.y-b.y,z:a.z-b.z};},_crossProduct:function(x,y,z,u,v,w){return {x:y*w-z*v,y:z*u-x*w,z:x*v-y*u};},crossProduct:function(a,b,c,d,e,f){if(arguments.length==6&&_4.every(arguments,function(_8){return typeof _8=="number";})){return _6.gfx3d.vector._crossProduct(a,b,c,d,e,f);}return _6.gfx3d.vector._crossProduct(a.x,a.y,a.z,b.x,b.y,b.z);},_dotProduct:function(x,y,z,u,v,w){return x*u+y*v+z*w;},dotProduct:function(a,b,c,d,e,f){if(arguments.length==6&&_4.every(arguments,function(_9){return typeof _9=="number";})){return _6.gfx3d.vector._dotProduct(a,b,c,d,e,f);}return _6.gfx3d.vector._dotProduct(a.x,a.y,a.z,b.x,b.y,b.z);},normalize:function(a,b,c){var l,m,n;if(a instanceof Array){l=a[0];m=a[1];n=a[2];}else{l=a;m=b;n=c;}var u=_6.gfx3d.vector.substract(m,l);var v=_6.gfx3d.vector.substract(n,l);return _6.gfx3d.vector.crossProduct(u,v);}});}}};});