chunk-LKTE2YWL.js 4.4 KB

1
  1. import{a as R,b as u}from"./chunk-OGTTQ4KL.js";import{a as B}from"./chunk-7AR5UXG3.js";import{b as l,m as z}from"./chunk-K2IDXOCV.js";import{b as s}from"./chunk-45OWWDV7.js";import{a as O}from"./chunk-FEOWMVRK.js";import{a as M}from"./chunk-CUQT2UK5.js";import{a as N}from"./chunk-CB3KB2D3.js";import{a as e}from"./chunk-I46SWINN.js";import{a as d}from"./chunk-4D2ERGZX.js";import{a as h}from"./chunk-EDZQSM3T.js";import{a as S}from"./chunk-PJGSCWXZ.js";import{a as o}from"./chunk-NUC3LT2W.js";function f(i,n,t){this.minimum=e.clone(d(i,e.ZERO)),this.maximum=e.clone(d(n,e.ZERO)),o(t)?t=e.clone(t):t=e.midpoint(this.minimum,this.maximum,new e),this.center=t}f.fromPoints=function(i,n){if(o(n)||(n=new f),!o(i)||i.length===0)return n.minimum=e.clone(e.ZERO,n.minimum),n.maximum=e.clone(e.ZERO,n.maximum),n.center=e.clone(e.ZERO,n.center),n;for(var t=i[0].x,r=i[0].y,a=i[0].z,m=i[0].x,c=i[0].y,g=i[0].z,Z=i.length,_=1;_<Z;_++){var A=i[_],C=A.x,j=A.y,T=A.z;t=Math.min(C,t),m=Math.max(C,m),r=Math.min(j,r),c=Math.max(j,c),a=Math.min(T,a),g=Math.max(T,g)}var v=n.minimum;v.x=t,v.y=r,v.z=a;var x=n.maximum;return x.x=m,x.y=c,x.z=g,n.center=e.midpoint(v,x,n.center),n};f.clone=function(i,n){if(!!o(i))return o(n)?(n.minimum=e.clone(i.minimum,n.minimum),n.maximum=e.clone(i.maximum,n.maximum),n.center=e.clone(i.center,n.center),n):new f(i.minimum,i.maximum,i.center)};f.equals=function(i,n){return i===n||o(i)&&o(n)&&e.equals(i.center,n.center)&&e.equals(i.minimum,n.minimum)&&e.equals(i.maximum,n.maximum)};var y=new e;f.intersectPlane=function(i,n){h.defined("box",i),h.defined("plane",n),y=e.subtract(i.maximum,i.minimum,y);var t=e.multiplyByScalar(y,.5,y),r=n.normal,a=t.x*Math.abs(r.x)+t.y*Math.abs(r.y)+t.z*Math.abs(r.z),m=e.dot(i.center,r)+n.distance;return m-a>0?l.INSIDE:m+a<0?l.OUTSIDE:l.INTERSECTING};f.prototype.clone=function(i){return f.clone(this,i)};f.prototype.intersectPlane=function(i){return f.intersectPlane(this,i)};f.prototype.equals=function(i){return f.equals(this,i)};var w=f;var E=new N;function p(i,n){if(h.defined("origin",i),n=d(n,M.WGS84),i=n.scaleToGeodeticSurface(i),!o(i))throw new S("origin must not be at the center of the ellipsoid.");var t=z.eastNorthUpToFixedFrame(i,n);this._ellipsoid=n,this._origin=i,this._xAxis=e.fromCartesian4(s.getColumn(t,0,E)),this._yAxis=e.fromCartesian4(s.getColumn(t,1,E));var r=e.fromCartesian4(s.getColumn(t,2,E));this._plane=B.fromPointNormal(i,r)}Object.defineProperties(p.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var q=new w;p.fromPoints=function(i,n){h.defined("cartesians",i);var t=w.fromPoints(i,q);return new p(t.center,n)};var I=new R,P=new e;p.prototype.projectPointOntoPlane=function(i,n){h.defined("cartesian",i);var t=I;t.origin=i,e.normalize(i,t.direction);var r=u.rayPlane(t,this._plane,P);if(o(r)||(e.negate(t.direction,t.direction),r=u.rayPlane(t,this._plane,P)),o(r)){var a=e.subtract(r,this._origin,r),m=e.dot(this._xAxis,a),c=e.dot(this._yAxis,a);return o(n)?(n.x=m,n.y=c,n):new O(m,c)}};p.prototype.projectPointsOntoPlane=function(i,n){h.defined("cartesians",i),o(n)||(n=[]);for(var t=0,r=i.length,a=0;a<r;a++){var m=this.projectPointOntoPlane(i[a],n[t]);o(m)&&(n[t]=m,t++)}return n.length=t,n};p.prototype.projectPointToNearestOnPlane=function(i,n){h.defined("cartesian",i),o(n)||(n=new O);var t=I;t.origin=i,e.clone(this._plane.normal,t.direction);var r=u.rayPlane(t,this._plane,P);o(r)||(e.negate(t.direction,t.direction),r=u.rayPlane(t,this._plane,P));var a=e.subtract(r,this._origin,r),m=e.dot(this._xAxis,a),c=e.dot(this._yAxis,a);return n.x=m,n.y=c,n};p.prototype.projectPointsToNearestOnPlane=function(i,n){h.defined("cartesians",i),o(n)||(n=[]);var t=i.length;n.length=t;for(var r=0;r<t;r++)n[r]=this.projectPointToNearestOnPlane(i[r],n[r]);return n};var G=new e;p.prototype.projectPointOntoEllipsoid=function(i,n){h.defined("cartesian",i),o(n)||(n=new e);var t=this._ellipsoid,r=this._origin,a=this._xAxis,m=this._yAxis,c=G;return e.multiplyByScalar(a,i.x,c),n=e.add(r,c,n),e.multiplyByScalar(m,i.y,c),e.add(n,c,n),t.scaleToGeocentricSurface(n,n),n};p.prototype.projectPointsOntoEllipsoid=function(i,n){h.defined("cartesians",i);var t=i.length;o(n)?n.length=t:n=new Array(t);for(var r=0;r<t;++r)n[r]=this.projectPointOntoEllipsoid(i[r],n[r]);return n};var an=p;export{w as a,an as b};