public static CIMSymbolLayer AddOffset( this CIMSymbolLayer layer, double offset, GeometricEffectOffsetMethod method = GeometricEffectOffsetMethod.Bevelled, GeometricEffectOffsetOption option = GeometricEffectOffsetOption.Accurate) { return(layer.AddEffect(CreateEffectOffset(offset, method, option))); }
/// <summary> /// Create a CIMPointGaphic which can be added to the MapView overlay. /// </summary> /// <param name="point">The location for the point (as a CIM point)</param> /// <returns></returns> public CIMPointGraphic MakeCIMPointGraphic(PointN point) { CIMMarker marker = SymbolFactory.Instance.ConstructMarker(Red, 10, SimpleMarkerStyle.Star); CIMSymbolLayer[] layers = new CIMSymbolLayer[1]; layers[0] = marker; CIMPointSymbol pointSymbol = new CIMPointSymbol() { SymbolLayers = layers, ScaleX = 1 }; CIMSymbolReference symbolRef = new CIMSymbolReference() { Symbol = pointSymbol }; CIMPointGraphic pointGraphic = new CIMPointGraphic(); ArcGIS.Core.Geometry.SpatialReference spatialRef = SpatialReferenceBuilder.CreateSpatialReference(point.SpatialReference.WKID); MapPoint mapPoint = MapPointBuilder.CreateMapPoint(point.X, point.Y, spatialRef); pointGraphic.Location = mapPoint; pointGraphic.Symbol = symbolRef; return(pointGraphic); }
/// <summary> /// Create a CIMPointGaphic which can be added to the MapView overlay. /// </summary> /// <param name="point">The location for the point (as a CIM point)</param> /// <returns></returns> public CIMPointGraphic MakeCIMPointGraphic(PointN point) { ////CIMMarker marker = SymbolHelper.ConstructMarker(Red, 10, SimpleMarkerStyle.Circle); CIMMarker marker = SymbolHelper.ConstructMarker(Red, 10, SimpleMarkerStyle.Star); CIMSymbolLayer[] layers = new CIMSymbolLayer[1]; layers[0] = marker; CIMPointSymbol pointSymbol = new CIMPointSymbol(); pointSymbol.SymbolLayers = layers; pointSymbol.ScaleX = 1; CIMSymbolReference symbolRef = new CIMSymbolReference(); symbolRef.Symbol = pointSymbol; CIMPointGraphic pointGraphic = new CIMPointGraphic(); pointGraphic.Location = point; pointGraphic.Symbol = symbolRef; return(pointGraphic); }
public static CIMSymbolLayer AddDashes( this CIMSymbolLayer layer, double[] pattern, LineDashEnding ending = LineDashEnding.NoConstraint, double customEndingOffset = 0.0, double offsetAlongLine = 0.0, LineDashEnding controlPointEnding = LineDashEnding.NoConstraint) { return(layer.AddEffect(CreateEffectDashes(pattern, ending, customEndingOffset, offsetAlongLine, controlPointEnding))); }
static public bool IsNeutralColor(CIMSymbolLayer layer) { if (layer is CIMSolidStroke solidStroke) { return(IsNeutralColor(solidStroke.Color)); } if (layer is CIMSolidFill solidFill) { return(IsNeutralColor(solidFill.Color)); } return(false); }
static public bool IsWhiteLayer(CIMSymbolLayer layer) { if (layer is CIMSolidFill) { return(IsWhiteColor((layer as CIMSolidFill).Color)); } if (layer is CIMSolidStroke) { return(IsWhiteColor((layer as CIMSolidStroke).Color)); } return(false); }
/// <summary> /// Create a line symbol with a dash and two markers.<br/> /// </summary> /// <remarks> /// This line symbol comprises three symbol layers listed below: /// 1. A solid stroke that has dashes. /// 1. A circle marker. /// 1. A square marker. /// ![LineSymbolTwoMarkers](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/line-dash-two-markers.png) /// </remarks> /// <returns></returns> internal static async Task <CIMLineSymbol> CreateLineDashTwoMarkers() { var lineSymbol = await QueuedTask.Run(() => { var dash2MarkersLine = new CIMLineSymbol(); var mySymbolLyrs = new CIMSymbolLayer[] { new CIMSolidStroke() { Color = ColorFactory.Instance.BlackRGB, Enable = true, ColorLocked = true, CapStyle = LineCapStyle.Round, JoinStyle = LineJoinStyle.Round, LineStyle3D = Simple3DLineStyle.Strip, MiterLimit = 10, Width = 1, CloseCaps3D = false, Effects = new CIMGeometricEffect[] { new CIMGeometricEffectDashes() { CustomEndingOffset = 0, DashTemplate = new double[] { 20, 10, 20, 10 }, LineDashEnding = LineDashEnding.HalfPattern, OffsetAlongLine = 0, ControlPointEnding = LineDashEnding.NoConstraint }, new CIMGeometricEffectOffset() { Method = GeometricEffectOffsetMethod.Bevelled, Offset = 0, Option = GeometricEffectOffsetOption.Fast } }, }, CreateCircleMarkerPerSpecs(), CreateSquareMarkerPerSpecs() }; dash2MarkersLine.SymbolLayers = mySymbolLyrs; return(dash2MarkersLine); }); return(lineSymbol); }
/// <summary> /// Create a CIMPointGaphic which can be added to the MapView overlay. /// </summary> /// <param name="point">The location for the point (as a CIM point)</param> /// <returns></returns> public CIMPointGraphic MakeCIMPointGraphic(PointN point) { ////CIMMarker marker = SymbolHelper.ConstructMarker(Red, 10, SimpleMarkerStyle.Circle); CIMMarker marker = SymbolHelper.ConstructMarker(Red, 10, SimpleMarkerStyle.Star); CIMSymbolLayer[] layers = new CIMSymbolLayer[1]; layers[0] = marker; CIMPointSymbol pointSymbol = new CIMPointSymbol(); pointSymbol.SymbolLayers = layers; pointSymbol.ScaleX = 1; CIMSymbolReference symbolRef = new CIMSymbolReference(); symbolRef.Symbol = pointSymbol; CIMPointGraphic pointGraphic = new CIMPointGraphic(); pointGraphic.Location = point; pointGraphic.Symbol = symbolRef; return pointGraphic; }
/// <summary> /// Create a CIMPointGaphic which can be added to the MapView overlay. /// </summary> /// <param name="point">The location for the point (as a CIM point)</param> /// <returns></returns> public CIMPointGraphic MakeCIMPointGraphic(PointN point) { CIMMarker marker = SymbolFactory.ConstructMarker(Red, 10, SimpleMarkerStyle.Star); CIMSymbolLayer[] layers = new CIMSymbolLayer[1]; layers[0] = marker; CIMPointSymbol pointSymbol = new CIMPointSymbol(); pointSymbol.SymbolLayers = layers; pointSymbol.ScaleX = 1; CIMSymbolReference symbolRef = new CIMSymbolReference(); symbolRef.Symbol = pointSymbol; CIMPointGraphic pointGraphic = new CIMPointGraphic(); ArcGIS.Core.Geometry.SpatialReference spatialRef = SpatialReferenceBuilder.CreateSpatialReference(point.SpatialReference.WKID); MapPoint mapPoint = MapPointBuilder.CreateMapPoint(point.X, point.Y, spatialRef); pointGraphic.Location = mapPoint; pointGraphic.Symbol = symbolRef; return pointGraphic; }