private static void SetFeatureEditorForNetworkCoverage(INetworkCoverageGroupLayer networkCoverageGroupLayer) { ISnapRule networkCoverageSnapRule = new SnapRule { Criteria = (layer, feature) => feature is IBranch && ((IBranch)feature).Network == networkCoverageGroupLayer.NetworkCoverage.Network, SnapRole = SnapRole.FreeAtObject, Obligatory = true, PixelGravity = 40, NewFeatureLayer = networkCoverageGroupLayer.LocationLayer }; networkCoverageGroupLayer.FeatureEditor = new NetworkLocationFeatureEditor(networkCoverageGroupLayer); var locationFeatureEditor = new NetworkLocationFeatureEditor(networkCoverageGroupLayer) { SnapRules = { networkCoverageSnapRule } }; networkCoverageGroupLayer.LocationLayer.FeatureEditor = locationFeatureEditor; }
/// <summary> /// Generates theme for route type network coverage layers. /// </summary> /// <param name="groupLayer"></param> /// <param name="color"></param> public static void SetupRouteLayerTheme(INetworkCoverageGroupLayer groupLayer, Color?color) { if (null == color) { color = Color.FromArgb(100, Color.Green); } // customize theme var segmentTheme = ThemeFactory.CreateSingleFeatureTheme(groupLayer.SegmentLayer.Style.GeometryType, (Color)color, 10); var locationTheme = ThemeFactory.CreateSingleFeatureTheme(groupLayer.LocationLayer.Style.GeometryType, (Color)color, 15); groupLayer.SegmentLayer.Theme = segmentTheme; groupLayer.LocationLayer.Theme = locationTheme; var locationStyle = (VectorStyle)locationTheme.DefaultStyle; locationStyle.Fill = Brushes.White; locationStyle.Shape = ShapeType.Ellipse; locationStyle.ShapeSize = 15; var segmentStyle = (VectorStyle)segmentTheme.DefaultStyle; segmentStyle.Line.EndCap = LineCap.ArrowAnchor; }
public NetworkLocationFeatureEditor(INetworkCoverageGroupLayer networkCoverageGroupLayer) { this.networkCoverageGroupLayer = networkCoverageGroupLayer; }
/// <summary> /// Generates theme for route type network coverage layers. /// </summary> /// <param name="groupLayer"></param> /// <param name="color"></param> public static void SetupRouteLayerTheme(INetworkCoverageGroupLayer groupLayer, Color? color) { if (null == color) { color = Color.FromArgb(100, Color.Green); } // customize theme var segmentTheme = ThemeFactory.CreateSingleFeatureTheme(groupLayer.SegmentLayer.Style.GeometryType, (Color)color, 10); var locationTheme = ThemeFactory.CreateSingleFeatureTheme(groupLayer.LocationLayer.Style.GeometryType, (Color)color, 15); groupLayer.SegmentLayer.Theme = segmentTheme; groupLayer.LocationLayer.Theme = locationTheme; var locationStyle = (VectorStyle)locationTheme.DefaultStyle; locationStyle.Fill = Brushes.White; locationStyle.Shape = ShapeType.Ellipse; locationStyle.ShapeSize = 15; var segmentStyle = (VectorStyle)segmentTheme.DefaultStyle; segmentStyle.Line.EndCap = LineCap.ArrowAnchor; }