
public class CIMMarkerPlacementAlongLineSameSize : CIMMarkerPlacementAlongLine, System.ComponentModel.INotifyPropertyChanged, System.Xml.Serialization.IXmlSerializable
Public Class CIMMarkerPlacementAlongLineSameSize Inherits CIMMarkerPlacementAlongLine Implements System.ComponentModel.INotifyPropertyChanged, System.Xml.Serialization.IXmlSerializable
/// <summary> /// Create a line symbol with the markers placed at a 45 degree angle. <br/> ///  /// </summary> /// <returns></returns> internal static Task<CIMLineSymbol> CreateMyMarkerLineSymbolAsync() { return QueuedTask.Run<CIMLineSymbol>(() => { //Create a marker from the "|" character. This is the marker that will be used to render the line layer. var lineMarker = SymbolFactory.Instance.ConstructMarker(124, "Agency FB", "Regular", 12); //Default line symbol which will be modified var blackSolidLineSymbol = SymbolFactory.Instance.ConstructLineSymbol(ColorFactory.Instance.BlackRGB, 2, SimpleLineStyle.Solid); //Modifying the marker to align with line //First define "markerplacement" CIMMarkerPlacementAlongLineSameSize markerPlacement = new CIMMarkerPlacementAlongLineSameSize() { AngleToLine = true, PlacementTemplate = new double[] { 5 } }; //assign the markerplacement to the marker lineMarker.MarkerPlacement = markerPlacement; //angle the marker if needed lineMarker.Rotation = 45; //assign the marker as a layer to the line symbol blackSolidLineSymbol.SymbolLayers[0] = lineMarker; return blackSolidLineSymbol; }); }
/// <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. ///  /// </remarks> /// <returns></returns> internal static Task<CIMLineSymbol> CreateLineDashTwoMarkersAync() { return QueuedTask.Run<CIMLineSymbol>(() => { 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; }); } private static CIMMarker CreateCircleMarkerPerSpecs() { var circleMarker = SymbolFactory.Instance.ConstructMarker(ColorFactory.Instance.BlackRGB, 5, SimpleMarkerStyle.Circle) as CIMVectorMarker; //Modifying the marker to align with line //First define "markerplacement" CIMMarkerPlacementAlongLineSameSize markerPlacement = new CIMMarkerPlacementAlongLineSameSize() { AngleToLine = true, Offset = 0, Endings = PlacementEndings.Custom, OffsetAlongLine = 15, PlacementTemplate = new double[] { 60 } }; //assign the markerplacement to the marker circleMarker.MarkerPlacement = markerPlacement; return circleMarker; } private static CIMMarker CreateSquareMarkerPerSpecs() { var squareMarker = SymbolFactory.Instance.ConstructMarker(ColorFactory.Instance.BlueRGB, 5, SimpleMarkerStyle.Square) as CIMVectorMarker; CIMMarkerPlacementAlongLineSameSize markerPlacement2 = new CIMMarkerPlacementAlongLineSameSize() { AngleToLine = true, Endings = PlacementEndings.Custom, OffsetAlongLine = 45, PlacementTemplate = new double[] { 60 }, }; squareMarker.MarkerPlacement = markerPlacement2; return squareMarker; }
System.Object
ArcGIS.Core.CIM.CIMObject
ArcGIS.Core.CIM.CIMMarkerPlacement
ArcGIS.Core.CIM.CIMMarkerStrokePlacement
ArcGIS.Core.CIM.CIMMarkerPlacementAlongLine
ArcGIS.Core.CIM.CIMMarkerPlacementAlongLineSameSize
Target Platforms: Windows 11, Windows 10