/// <summary>
        ///     Draws the obstacle.
        /// </summary>
        /// <param name="_obstacle">The _obstacle.</param>
        private void DrawObstacle(BadZone _obstacle)
        {
            var circle = new Ellipse();

            circle.StrokeThickness = 50;
            circle.Stroke          = new ImageBrush(new BitmapImage(new Uri(@"../../arbre.png", UriKind.Relative)));
            circle.Margin          = new Thickness(_obstacle.PosX - _obstacle.Radius, _obstacle.PosY - _obstacle.Radius, 0, 0);
            oceanCanvas.Children.Add(circle);
        }
예제 #2
0
        // partant de la tête du poisson et allant vers sa queue dont les coordonnées sont calculées à partir de la direction du poisson (et donc sa vitesse en x et en y)
        private void DrawObstacle(BadZone _obstacle)
        {
            Ellipse circle = new Ellipse();

            circle.Stroke = Brushes.Black;
            circle.Width  = 2 * _obstacle.Radius;
            circle.Height = 2 * _obstacle.Radius;
            circle.Margin = new Thickness(_obstacle.PosX - _obstacle.Radius, _obstacle.PosY - _obstacle.Radius, 0, 0);
            oceanCanvas.Children.Add(circle);
        }
예제 #3
0
        private void WorstCaseDistrictToDistrictTimes()
        {
            int mode      = 0;
            var flatZones = this.ZoneSystem.ZoneArray.GetFlatData();
            var timeArray = new Time[] { Six, ThreeThirty, new Time()
                                         {
                                             Hours = 12
                                         } };
            var origin      = new BadZone();
            var destination = new BadZone();

            foreach (var dataSource in this.NetworkData)
            {
                dataSource.LoadData();
                for (int time = 0; time < 3; time++)
                {
                    Time timeObj = timeArray[time];

                    var data = this.TripAvgTimeMatrixes[mode][time].GetFlatData();
                    for (int i = 0; i < flatZones.Length; i++)
                    {
                        for (int j = 0; j < flatZones.Length; j++)
                        {
                            if (data[i][j] == 0)
                            {
                                origin.ZoneNumber      = flatZones[i].PlanningDistrict;
                                destination.ZoneNumber = flatZones[j].PlanningDistrict;
                                data[i][j]             = dataSource.TravelTime(origin, destination, timeObj).ToMinutes();
                            }
                        }
                    }
                }
                dataSource.UnloadData();
                mode++;
            }
        }
예제 #4
0
        private void WorstCaseDistrictToDistrictTimes()
        {
            int mode = 0;
            var flatZones = this.ZoneSystem.ZoneArray.GetFlatData();
            var timeArray = new Time[] { Six, ThreeThirty, new Time() { Hours = 12 } };
            var origin = new BadZone();
            var destination = new BadZone();
            foreach ( var dataSource in this.NetworkData )
            {
                dataSource.LoadData();
                for ( int time = 0; time < 3; time++ )
                {
                    Time timeObj = timeArray[time];

                    var data = this.TripAvgTimeMatrixes[mode][time].GetFlatData();
                    for ( int i = 0; i < flatZones.Length; i++ )
                    {
                        for ( int j = 0; j < flatZones.Length; j++ )
                        {
                            if ( data[i][j] == 0 )
                            {
                                origin.ZoneNumber = flatZones[i].PlanningDistrict;
                                destination.ZoneNumber = flatZones[j].PlanningDistrict;
                                data[i][j] = dataSource.TravelTime( origin, destination, timeObj ).ToMinutes();
                            }
                        }
                    }
                }
                dataSource.UnloadData();
                mode++;
            }
        }