Ejemplo n.º 1
0
        private void ReadyScene()
        {
            // 河道、暗管
            var pipeLayer           = MapDataManager.LatestMap.Layers["管线"];
            SimpleFluidTheme theme1 = new SimpleFluidTheme {
                Velocity = 120000, Diameter = 30000, Density = 1.0 / 48000
            };

            theme1.InnerColorTheme.MinColor = Color.FromRgb(77, 216, 233);
            theme1.InnerColorTheme.MaxColor = Color.FromRgb(77, 216, 233);
            var rivers = new string[] { "river1", "river2" };

            foreach (var river in rivers)
            {
                var feature = pipeLayer.Features.First(f => f["名称"] == river);
                AddFluid(MapControl.Current.AnimationLayer, theme1, feature);
            }
            SimpleFluidTheme theme2 = new SimpleFluidTheme {
                Velocity = 240000, Diameter = 20000, Density = 1.0 / 36000
            };

            theme2.InnerColorTheme.MinColor = Color.FromRgb(0, 150, 233);
            theme2.InnerColorTheme.MaxColor = Color.FromRgb(0, 150, 233);
            var pipes = new string[] { "pipe1", "pipe2" };

            foreach (var pipe in pipes)
            {
                var feature = pipeLayer.Features.First(f => f["名称"] == pipe);
                AddFluid(MapControl.Current.AnimationLayer, theme2, feature);
            }

            // 泵
            var pumpLayer = MapDataManager.LatestMap.Layers["城镇"];
            var tishengs  = new string[] { "tisheng1", "tisheng2", "tisheng3" };

            foreach (var pump in tishengs)
            {
                var feature = pumpLayer.Features.First(f => f["名称"] == pump);
                var point   = new TongJi.Geometry.Point2D(feature.GeoData);
                var pos     = new Point(point.x, point.y);
                AddPump(MapControl.Current.AnimationLayer, pos, Brushes.Black, Brushes.Orange, 30000, 15000, 60000, 1000);
            }
            var yongquans = new string[] { "yongquan1", "yongquan2", "yongquan3" };

            foreach (var pump in yongquans)
            {
                var feature = pumpLayer.Features.First(f => f["名称"] == pump);
                var point   = new TongJi.Geometry.Point2D(feature.GeoData);
                var pos     = new Point(point.x, point.y);
                AddPump(MapControl.Current.AnimationLayer, pos, Brushes.White, Brushes.Red, 40000, 0, 40000, 500);
                AddPump(MapControl.Current.AnimationLayer, pos, Brushes.White, Brushes.Red, 16000, 8000, 32000, 500);
            }
        }
Ejemplo n.º 2
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            MapDataManager.Open("Data\\dibiao.ciml");
            TheCanvas.InitializeMap(MapDataManager.LatestMap);
            InsertImage(MapControl.Current.BaseLayer, "Data\\water.jpg", 59928, 26645, 61831, 29328);

            SimpleFluidTheme theme = new SimpleFluidTheme();

            theme.InnerColorTheme.MinColor = Color.FromRgb(255, 150, 0);
            theme.InnerColorTheme.MaxColor = Color.FromRgb(77, 216, 233);
            var mLayer = TheCanvas.Layers.First(x => x.LayerData.Name == "dibiao");

            mLayer.ApplyFluidTheme(theme);
            mLayer.Visibility = System.Windows.Visibility.Collapsed;

            theme.InnerColorTheme.MinColor = Color.FromRgb(77, 216, 233);
            theme.InnerColorTheme.MaxColor = Color.FromRgb(77, 216, 233);
            theme.Velocity = 40;
            theme.Diameter = 14;
            theme.Density  = 1 / 24.0;
            mLayer         = TheCanvas.Layers.First(x => x.LayerData.Name == "river");
            mLayer.ApplyFluidTheme(theme);
        }