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.
 
 

13 lines
4.9 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 ../../../geometry ../../../Graphic ../../../symbols ../../../core/handleUtils ../../../core/screenUtils ../../../core/libs/gl-matrix-2/math/vec2 ../../../core/libs/gl-matrix-2/factories/vec2f64 ../../../core/libs/gl-matrix-2/factories/vec3f64 ../../../symbols/cim/enums ../../interactive/sketch/normalizedPoint ../../interactive/snapping/Settings ../../interactive/snapping/SnappingVisualizer ../../../geometry/Point ../../../geometry/Polyline ../../../symbols/CIMSymbol ../../../symbols/SimpleMarkerSymbol ../../../symbols/SimpleLineSymbol".split(" "),
function(l,B,u,C,v,e,f,m,w,n,d,g,x,p,h,k,q,y){function z(a,b){const c=[...b.toRgb(),255*b.a];switch(a){case "point":return new q({outline:{width:.5,color:[0,0,0,1]},size:10,color:b});case "intersectionPoint":return new q({outline:new y({width:1.5,color:b}),size:15,color:[0,0,0,0]});case "line":return new k({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",enable:!0,capStyle:n.LineCapStyle.Butt,joinStyle:n.LineJoinStyle.Round,miterLimit:10,width:e.px2pt(g.defaults.lineHintWidthTarget),
color:c}]}}});case "parallelSign":return new k({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:-1,z:0},anchorPointUnits:"Relative",size:5,markerPlacement:{type:"CIMMarkerPlacementOnLine",placePerPart:!0,angleToLine:!0,relativeTo:"LineMiddle"},frame:{xmin:-5,ymin:-1.5,xmax:5,ymax:1.5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[7,0],[-7,0],[-7,1.5],[7,1.5]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",
enable:!0,color:c}]}}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:1,z:0},anchorPointUnits:"Relative",size:5,markerPlacement:{type:"CIMMarkerPlacementOnLine",placePerPart:!0,angleToLine:!0,relativeTo:"LineMiddle"},frame:{xmin:-5,ymin:-1.5,xmax:5,ymax:1.5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[7,0],[-7,0],[-7,-1.5],[7,-1.5]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:c}]}}],scaleSymbolsProportionally:!0,
respectFrame:!0}]}}});case "rightAngleQuad45":case "rightAngleQuad225":return a="rightAngleQuad45"===a?45:225,new k({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:.5,y:.5,z:0},anchorPointUnits:"Relative",size:e.px2pt(g.defaults.rightAngleHintSize),rotation:a,markerPlacement:{type:"CIMMarkerPlacementOnVertices",placePerPart:!0,angleToLine:!0,placeOnEndPoints:!1},frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",
geometry:{paths:[[[5,-5],[-5,-5],[-5,5],[5,5],[5,-5]]]},symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",miterLimit:10,width:e.px2pt(g.defaults.rightAngleHintOutlineSize),color:c},{type:"CIMSolidFill",enable:!0,color:[...b.toRgb(),102*b.a]}]}}],scaleSymbolsProportionally:!0,respectFrame:!0}]}}})}}class A extends x.SnappingVisualizer{constructor(a){super();this._graphicsLayer=a;this._symbolPairingsByType=new Map}visualizeIntersectionPoint(a,
b){return this._visualizeSnappingIndicator(new p({x:a.intersectionPoint[0],y:a.intersectionPoint[1],spatialReference:b.spatialReference}),this._getOrCreateSymbol("intersectionPoint",b.view.effectiveTheme.accentColor))}visualizePoint(a,b){return this._visualizeSnappingIndicator(new p({x:a.point[0],y:a.point[1],spatialReference:b.spatialReference}),this._getOrCreateSymbol("point",b.view.effectiveTheme.accentColor))}visualizeLine(a,b){return this._visualizeSnappingIndicator(new h({paths:[[a.lineStart,
a.lineEnd]],spatialReference:b.spatialReference}),this._getOrCreateSymbol("line",b.view.effectiveTheme.accentColor))}visualizeParallelSign(a,b){return this._visualizeSnappingIndicator(new h({paths:[[a.lineStart,a.lineEnd]],spatialReference:b.spatialReference}),this._getOrCreateSymbol("parallelSign",b.view.effectiveTheme.accentColor))}visualizeRightAngleQuad(a,b){var c=m.create();const r=m.create(),t=w.create();f.subtract(c,d.asVec2(a.centerVertex),d.asVec2(a.previousVertex));f.subtract(r,d.asVec2(a.nextVertex),
d.asVec2(a.previousVertex));f.cross(t,c,r);c=`rightAngleQuad${0>t[2]?45:225}`;return this._visualizeSnappingIndicator(new h({paths:[[a.previousVertex,a.centerVertex,a.nextVertex]],spatialReference:b.spatialReference}),this._getOrCreateSymbol(c,b.view.effectiveTheme.accentColor))}_visualizeSnappingIndicator(a,b){const c=new u({geometry:a,symbol:b});this._graphicsLayer.add(c);return v.makeHandle(()=>{this._graphicsLayer.remove(c)})}_getOrCreateSymbol(a,b){const c=this._symbolPairingsByType;c.get(a)?.color!==
b&&c.set(a,{color:b,symbol:z(a,b)});return c.get(a).symbol}}l.SnappingVisualizer2D=A;Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});