Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

14 lines
5.2 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define("exports ../../core/arrayUtils ../../core/has ../../core/lang ../../core/mathUtils ../../core/screenUtils ../../geometry/projection ../../geometry/support/meshVertexSpaceUtils ../../layers/graphics/hydratedFeatures ../../support/elevationInfoUtils ./editGeometry/EditGeometryOperations".split(" "),function(h,B,H,C,r,D,l,E,t,n,u){function v(c,d){let a=null,b=null;return f=>{if("cancel"===f.action)null!=b&&(b.execute({action:"cancel"}),b=a=null);else{var e={action:f.action,screenStart:f.start,
screenEnd:f.screenPoint};"start"===f.action&&null==a&&(a=new m,b=new m,d(c,a,b,f.pointerType,e));null!=a&&a.execute(e);"end"===f.action&&null!=a&&(b=a=null)}}}function w(c){let d=null;return a=>{"start"===a.action&&(d=F(c,a.mapStart.spatialReference));if(null==d)return null;const b=a.mapEnd.x-a.mapStart.x,f=a.mapEnd.y-a.mapStart.y,e=(a.mapEnd.z??0)-(a.mapStart.z??0);d.move(b,f,e,a.action);return{...a,translationX:b,translationY:f,translationZ:e}}}function x(c,d){return null==c?null:c.spatialReference.equals(d)?
c.clone():l.project(c,d)}function F(c,d){const a=c.operations;if(!a)return null;const b=a.data.geometry;d=t.hydratedSpatialReference(d);if(b.spatialReference.equals(d))return p(c,a,()=>{});if("mesh"!==b.type){d=x(b,d);if(null==d)return null;const f=b.spatialReference;d=u.EditGeometryOperations.fromGeometry(d,a.viewingMode);return p(c,d,()=>{const e=l.project(b,f);a.trySetGeometry(e)})}if(E.isMeshWithRelativeVertexSpace(b)){d=x(b.origin,d);if(!d)return null;const f=b.spatialReference,e=u.EditGeometryOperations.fromGeometry(d,
a.viewingMode);return p(c,a,()=>{const g=l.project(e.data.geometry,f);a.move(g.x-b.origin.x,g.y-b.origin.y,(g.z??0)-(b.origin.z??0))})}return null}function p(c,d,a){let b=0,f=0,e=0;return{move:(g,k,q,y)=>{"start"===y&&(e=f=b=0);g-=b;k-=f;q-=e;d.move(g,k,q);b+=g;f+=k;e+=q;a();"end"===y&&c.endInteraction?.()}}}function z(c){const d=c.operations?.createResetState();return a=>{d?.remove();return a}}function A(c,d,a){const b=d.elevationProvider.getElevation(c.x,c.y,c.z??0,c.spatialReference,"scene")??
0;c=t.clonePoint(c);c.z=b;c.hasZ=!0;c.z=n.getZForElevationMode(c,d,a);return c}const G=()=>{};class m{constructor(){this.execute=G}next(c,d=new m){null!=c&&(this.execute=a=>{a=c(a);null!=a&&d.execute(a)});return d}}h.EventPipeline=m;h.addMapDelta=function(){let c=0,d=0,a=0;return b=>{"start"===b.action&&(c=b.mapStart.x,d=b.mapStart.y,a=b.mapStart.z);const f=b.mapEnd.x-c,e=b.mapEnd.y-d,g=b.mapEnd.z-a;c=b.mapEnd.x;d=b.mapEnd.y;a=b.mapEnd.z;return{...b,mapDeltaX:f,mapDeltaY:e,mapDeltaZ:g,mapDeltaSpatialReference:b.mapStart.spatialReference}}};
h.addScreenDelta=function(){let c=0,d=0;return a=>{"start"===a.action&&(c=a.screenStart.x,d=a.screenStart.y);const b=a.screenEnd.x-c,f=a.screenEnd.y-d;c=a.screenEnd.x;d=a.screenEnd.y;return{...a,screenDeltaX:b,screenDeltaY:f}}};h.constrainToMapAxis=function(c,d){const a=[c.x,c.y,c.z??0],b=[Math.cos(d),Math.sin(d)];c=Math.sqrt(b[0]*b[0]+b[1]*b[1]);if(0===c)return null;b[0]/=c;b[1]/=c;const f=e=>{const g=(e.x-a[0])*b[0]+(e.y-a[1])*b[1];e.x=a[0]+g*b[0];e.y=a[1]+g*b[1]};return e=>{f(e.mapStart);f(e.mapEnd);
return{...e,axis:b}}};h.createDragEventPipelineCallback=v;h.createManipulatorDragEventPipeline=function(c,d){return c.events.on("drag",v(c,d))};h.dragAtLocation=function(c,d){let a=null,b=0,f=0;return e=>{"start"===e.action&&(a=c.toScreen?.(d),null!=a&&(0>a.x||a.x>c.width||0>a.y||a.y>c.height?a=null:(b=e.screenStart.x-a.x,f=e.screenStart.y-a.y)));if(null==a)return null;var g=r.clamp(e.screenEnd.x-b,0,c.width);const k=r.clamp(e.screenEnd.y-f,0,c.height);g=D.createScreenPoint(g,k);e.screenStart=a;e.screenEnd=
g;return e}};h.dragManipulatedObject=w;h.dragManipulatedObjectMany=function(c){const d=c.map(a=>w(a)).filter(B.isSome);return a=>{const b=a.mapEnd.x-a.mapStart.x,f=a.mapEnd.y-a.mapStart.y,e=a.mapEnd.z-a.mapStart.z;d.forEach(g=>g(a));return{...a,translationX:b,translationY:f,translationZ:e}}};h.resetManipulatedObject=z;h.resetManipulatedObjectMany=function(c){const d=c.map(a=>z(a)).filter(a=>null!=a);return a=>{d.forEach(b=>b(a));return a}};h.resetProperties=function(c,d){const a=new Map;for(const b of d)a.set(b,
C.clone(c[b]));return b=>{a.forEach((f,e)=>{c[e]=f});return b}};h.sceneSnappingAtLocation=function(c,d,a=[]){if("2d"===c.type)return f=>f;let b=null;return f=>{"start"===f.action&&(b=c.toMap(f.screenStart,{exclude:a}),null!=b&&(b.z=n.getZForElevationMode(b,c,d)));const e=c.toMap(f.screenEnd,{exclude:a});null!=e&&(e.z=n.getZForElevationMode(e,c,d));return{...f,scenePoints:null!=b&&null!=e?{sceneStart:b,sceneEnd:e}:null}}};h.sceneSnappingAtProjectedLocation=function(c,d){if("2d"===c.type)return b=>
b;let a=null;return b=>{"start"===b.action&&(a=A(b.mapStart,c,d));const f=A(b.mapEnd,c,d);return{...b,scenePoints:null!=a&&null!=f?{sceneStart:a,sceneEnd:f}:null}}};h.screenToMap=function(c,d=null,a){let b=null;const f=null==d||c.spatialReference?.equals(d)?g=>g:g=>null!=g?l.project(g,d):g,e={exclude:[],...a};return g=>{"start"===g.action&&(b=f(c.toMap(g.screenStart,e)));if(null==b)return null;const k=f(c.toMap(g.screenEnd,e));return null!=k?{...g,mapStart:b,mapEnd:k}:null}};Object.defineProperty(h,
Symbol.toStringTag,{value:"Module"})});