define(["exports","./buildModuleUrl-3d15f25c","./Cartographic-67e73ef9","./Check-52a7d806","./when-92c6cf3c","./Rectangle-bab7abf0","./AttributeCompression-49f7b62a","./Cartesian2-6033fa5d","./ComponentDatatype-81047f82","./Math-92c3b5f7","./PrimitiveType-cdfe443e"],(function(t,e,i,o,r,n,a,s,c,m,u){"use strict";function d(t,e){o.o.typeOf.object("ellipsoid",t),this._ellipsoid=t,this._cameraPosition=new i.t,this._cameraPositionInScaledSpace=new i.t,this._distanceToLimbInScaledSpaceSquared=0,r.e(e)&&(this.cameraPosition=e)}Object.defineProperties(d.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(t){var e=this._ellipsoid.transformPositionToScaledSpace(t,this._cameraPositionInScaledSpace),o=i.t.magnitudeSquared(e)-1;i.t.clone(t,this._cameraPosition),this._cameraPositionInScaledSpace=e,this._distanceToLimbInScaledSpaceSquared=o}}});var l=new i.t;d.prototype.isPointVisible=function(t){return T(this._ellipsoid.transformPositionToScaledSpace(t,l),this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)},d.prototype.isScaledSpacePointVisible=function(t){return T(t,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var p=new i.t;d.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(t,e){var i,o,n=this._ellipsoid;return r.e(e)&&e<0&&n.minimumRadius>-e?((o=p).x=this._cameraPosition.x/(n.radii.x+e),o.y=this._cameraPosition.y/(n.radii.y+e),o.z=this._cameraPosition.z/(n.radii.z+e),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),T(t,o,i)},d.prototype.computeHorizonCullingPoint=function(t,e,i){return x(this._ellipsoid,t,e,i)};var h=n.t.clone(n.t.UNIT_SPHERE);d.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(t,e,i,o){return x(S(this._ellipsoid,i,h),t,e,o)},d.prototype.computeHorizonCullingPointFromVertices=function(t,e,i,o,r){return b(this._ellipsoid,t,e,i,o,r)},d.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(t,e,i,o,r,n){return b(S(this._ellipsoid,r,h),t,e,i,o,n)};var f=[];d.prototype.computeHorizonCullingPointFromRectangle=function(t,r,a){o.o.typeOf.object("rectangle",t);var s=n.h.subsample(t,r,0,f),c=e.i.fromPoints(s);if(!(i.t.magnitude(c.center)<.1*r.minimumRadius))return this.computeHorizonCullingPoint(c.center,s,a)};var y=new i.t;function S(t,e,o){if(r.e(e)&&e<0&&t.minimumRadius>-e){var a=i.t.fromElements(t.radii.x+e,t.radii.y+e,t.radii.z+e,y);t=n.t.fromCartesian3(a,o)}return t}function x(t,e,n,a){o.o.typeOf.object("directionToPoint",e),o.o.defined("positions",n),r.e(a)||(a=new i.t);for(var s=I(t,e),c=0,m=0,u=n.length;m0:s>n&&s*s/i.t.magnitudeSquared(a)>n)}var g=new i.t,P=new i.t;function z(t,e,o){var r=t.transformPositionToScaledSpace(e,g),n=i.t.magnitudeSquared(r),a=Math.sqrt(n),s=i.t.divideByScalar(r,a,P);n=Math.max(1,n);var c=1/(a=Math.max(1,a));return 1/(i.t.dot(s,o)*c-i.t.magnitude(i.t.cross(s,o,s))*(Math.sqrt(n-1)*c))}function E(t,e,o){if(!(e<=0||e===1/0||e!=e))return i.t.multiplyByScalar(t,e,o)}var N=new i.t;function I(t,e){return i.t.equals(e,i.t.ZERO)?e:(t.transformPositionToScaledSpace(e,N),i.t.normalize(N,N))}var C=Object.freeze({NONE:0,BITS12:1}),_=new i.t,B=new i.t,w=new s.o,q=new u.y,H=new u.y,M=Math.pow(2,12);function O(t,e,o,n,a,s){var c,m,d,l=C.NONE;if(r.e(t)&&r.e(e)&&r.e(o)&&r.e(n)){var p=t.minimum,h=t.maximum,f=i.t.subtract(h,p,B),y=o-e;l=Math.max(i.t.maximumComponent(f),y)