/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../chunks/mat4","../../chunks/vec3","../../chunks/vec3f64","../projectionEllipsoid","../SpatialReference","./Axis","../../chunks/boundedPlane","../../chunks/sphere"],(function(e,t,n,o,r,u,i,a,s){"use strict";function c(e){const{value:t,operations:n}=e;return{operations:n,value:n.create(t)}}function l(e,t,n){return e.operations.setExtent(e.value,t,n.value),n}function p(e){return{operations:e,value:e.create()}}function f(e,t,n=p(e)){return n.operations=e,e.copy(t,n.value),n}function v(e){return f(s.sphere,s.fromValues(0,0,0,r.getReferenceEllipsoid(e).radius))}const d=2**50;function h(){return f(a.boundedPlane,a.fromValues([0,0,0],[d,0,0],[0,d,0]))}function A(e,t){return F.operations=e,F.value=t,F}function m(e,t,n){return e.operations.axisAt(e.value,t,i.Axis.Z,n)}function S(e,t,n,o){return e.operations.axisAt(e.value,t,n,o)}function y(e,t,n){return e.operations.intersectRay(e.value,t,n)}function P(e,t){return e.operations.intersectRay(e.value,t,null)}function R(e,t,n){return e.operations.closestPoint(e.value,t,n)}function x(e,t,n){return e.operations.intersectRayClosestSilhouette(e.value,t,n)}function O(e,t,n){return e.operations.closestPointOnSilhouette(e.value,t,n)}function b(e,t){return e.operations.distanceToSilhouette(e.value,t)}function g(e,t){return e.operations.altitudeAt(e.value,t)}function k(e,t,n,o){return e.operations.setAltitudeAt(e.value,t,n,o)}function C(e,o,r,u){return o!==u&&t.copy(u,o),n.set(E,u[12],u[13],u[14]),k(e,E,r,E),u[12]=E[0],u[13]=E[1],u[14]=E[2],u}function V(e,t,n){return e.operations.elevate(e.value,t,n.value)}const E=o.create(),F={operations:null,value:null};function T(e,t,o,r,u){return u[0]=n.dot(e,t),u[1]=n.dot(e,o),u[2]=n.dot(e,r),u}function j(e,t,o,r,u){n.copy(o,e),n.copy(G,t),n.normalize(G,G),n.cross(r,G,o),n.cross(u,r,o)}function w(e,t){return e?r.getSphericalPCPF(t):t.isGeographic?u.PlateCarree:t}const G=o.create();e.altitudeAt=g,e.axisAt=S,e.closestPoint=R,e.closestPointOnSilhouette=O,e.coordinateSystemFromOneAxisAndNormalVector=j,e.create=c,e.createFromOperations=p,e.createGlobal=v,e.createLocal=h,e.distanceToSilhouette=b,e.elevate=V,e.fromValues=f,e.intersectRay=y,e.intersectRayClosestSilhouette=x,e.intersectsRay=P,e.normalAt=m,e.renderSRFromViewSR=w,e.setAltitudeAt=k,e.setAltitudeOfTransformation=C,e.setExtent=l,e.vectorCoordinates=T,e.wrap=A,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
