@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.45 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{deg2rad as r}from"../../core/mathUtils.js";import{fromTranslation as t,identity as o}from"../../core/libs/gl-matrix-2/math/mat4.js";import{create as e}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeENUToPCPFLocalRotation as n,computePCPFToENULocalRotation as s}from"./localRotationUtils.js";import{getProjectorClassification as i,ProjectionID as l,projectionTable as c}from"./projectors.js";import{equals as f}from"../support/spatialReferenceUtils.js";function m(r,e,m,R){const p=i(r,R);if(null==p)return!1;const _=p.source.spatialReferenceId,A=p.dest.spatialReferenceId;if(_===A&&!u(A)&&(_!==l.UNKNOWN||f(r,R)))return t(m,e),!0;if(u(A)){const r=c[_][l.LON_LAT],t=c[l.LON_LAT][A];return null!=r&&null!=t&&(r(e,0,C,0),t(C,0,E,0),n(a*C[0],a*C[1],m),m[12]=E[0],m[13]=E[1],m[14]=E[2],!0)}const L=u(_);if((A===l.WEB_MERCATOR||A===l.PLATE_CARREE||A===l.WGS84||A===l.CGCS2000)&&(_===l.WGS84||L||_===l.WEB_MERCATOR||_===l.CGCS2000)){const r=c[_][l.LON_LAT],t=c[l.LON_LAT][A];return null!=r&&null!=t&&(r(e,0,C,0),t(C,0,E,0),L?s(a*C[0],a*C[1],m):o(m),m[12]=E[0],m[13]=E[1],m[14]=E[2],!0)}return!1}function u(r){return r===l.SPHERICAL_ECEF||r===l.SPHERICAL_MARS_PCPF||r===l.SPHERICAL_MOON_PCPF||r===l.WGS84_ECEF}const a=r(1),C=e(),E=e();export{m as computeTranslationToOriginAndRotation};