learning_cesium/js/XbsjCesium/Workers/AxisAlignedBoundingBox-dcfd...

2 lines
1.9 KiB
JavaScript
Raw Permalink Normal View History

2024-03-19 18:06:25 +08:00
define(["exports","./Cartesian2-697a9954","./Check-f3fec9b0","./when-54335d57","./Transforms-251ff661"],function(e,d,n,h,a){"use strict";function y(e,n,i){this.minimum=d.Cartesian3.clone(h.defaultValue(e,d.Cartesian3.ZERO)),this.maximum=d.Cartesian3.clone(h.defaultValue(n,d.Cartesian3.ZERO)),i=h.defined(i)?d.Cartesian3.clone(i):d.Cartesian3.midpoint(this.minimum,this.maximum,new d.Cartesian3),this.center=i}y.fromPoints=function(e,n){if(h.defined(n)||(n=new y),!h.defined(e)||0===e.length)return n.minimum=d.Cartesian3.clone(d.Cartesian3.ZERO,n.minimum),n.maximum=d.Cartesian3.clone(d.Cartesian3.ZERO,n.maximum),n.center=d.Cartesian3.clone(d.Cartesian3.ZERO,n.center),n;for(var i=e[0].x,t=e[0].y,a=e[0].z,m=e[0].x,r=e[0].y,s=e[0].z,u=e.length,c=1;c<u;c++)var o=e[c],l=o.x,f=o.y,o=o.z,i=Math.min(l,i),m=Math.max(l,m),t=Math.min(f,t),r=Math.max(f,r),a=Math.min(o,a),s=Math.max(o,s);var C=n.minimum;C.x=i,C.y=t,C.z=a;var x=n.maximum;return x.x=m,x.y=r,x.z=s,n.center=d.Cartesian3.midpoint(C,x,n.center),n},y.clone=function(e,n){if(h.defined(e))return h.defined(n)?(n.minimum=d.Cartesian3.clone(e.minimum,n.minimum),n.maximum=d.Cartesian3.clone(e.maximum,n.maximum),n.center=d.Cartesian3.clone(e.center,n.center),n):new y(e.minimum,e.maximum,e.center)},y.equals=function(e,n){return e===n||h.defined(e)&&h.defined(n)&&d.Cartesian3.equals(e.center,n.center)&&d.Cartesian3.equals(e.minimum,n.minimum)&&d.Cartesian3.equals(e.maximum,n.maximum)};var m=new d.Cartesian3;y.intersectPlane=function(e,n){m=d.Cartesian3.subtract(e.maximum,e.minimum,m);var i=d.Cartesian3.multiplyByScalar(m,.5,m),t=n.normal,i=i.x*Math.abs(t.x)+i.y*Math.abs(t.y)+i.z*Math.abs(t.z),n=d.Cartesian3.dot(e.center,t)+n.distance;return 0<n-i?a.Intersect.INSIDE:n+i<0?a.Intersect.OUTSIDE:a.Intersect.INTERSECTING},y.prototype.clone=function(e){return y.clone(this,e)},y.prototype.intersectPlane=function(e){return y.intersectPlane(this,e)},y.prototype.equals=function(e){return y.equals(this,e)},e.AxisAlignedBoundingBox=y});