Esempio n. 1
0
        private void plotExperience(int _mode, int indexOfSelection)
        {
            ExperienceUnit          unit = user.Experiences[user.Index[indexOfSelection]];
            List <SimulatedVehicle> list = unit.Vehicles;

            speed.addRealTimePoint(-1, new Point(0, unit.Top.Speed));
            offset.addRealTimePoint(-1, new Point(0, unit.Top.Offset));
            accelerate.addRealTimePoint(-1, new Point(0, unit.Top.Acceleration));
            brake.addRealTimePoint(-1, new Point(0, unit.Top.BrakePedal));
            follow.addRealTimePoint(-1, new Point(0, unit.Top.DistanceToNext));

            speed.addRealTimePoint(-1, new Point(0, unit.Bottom.Speed));
            offset.addRealTimePoint(-1, new Point(0, unit.Bottom.Offset));
            accelerate.addRealTimePoint(-1, new Point(0, unit.Bottom.Acceleration));
            brake.addRealTimePoint(-1, new Point(0, unit.Bottom.BrakePedal));
            follow.addRealTimePoint(-1, new Point(0, unit.Bottom.DistanceToNext));

            speed.addRealTimePoint(-1, new Point(unit.Right.SimulationTime, 0));
            offset.addRealTimePoint(-1, new Point(unit.Right.SimulationTime, 0));
            accelerate.addRealTimePoint(-1, new Point(unit.Right.SimulationTime, 0));
            brake.addRealTimePoint(-1, new Point(unit.Right.SimulationTime, 0));
            follow.addRealTimePoint(-1, new Point(unit.Right.SimulationTime, 0));

            foreach (SimulatedVehicle vehicle in list)
            {
                speed.addRealTimePoint(_mode, new Point(vehicle.SimulationTime, vehicle.Speed));
                offset.addRealTimePoint(_mode, new Point(vehicle.SimulationTime, vehicle.Offset));
                accelerate.addRealTimePoint(_mode, new Point(vehicle.SimulationTime, vehicle.Acceleration));
                brake.addRealTimePoint(_mode, new Point(vehicle.SimulationTime, vehicle.BrakePedal));
                follow.addRealTimePoint(_mode, new Point(vehicle.SimulationTime, vehicle.DistanceToNext));
            }
        }
Esempio n. 2
0
        private void plotExperienceLine(int scene, int mode, LinePlotter plotter, string variable, int xAxis)
        {
            int index = UserSelections.getIndex(scene, mode);

            if (user.Index[index] == -1)
            {
                return;
            }

            Dispatcher              dispatcher = PageList.Main.Dispatcher;
            ExperienceUnit          unit       = user.Experiences[user.Index[index]];
            List <SimulatedVehicle> list       = unit.Vehicles;

            plotter.Init.AppendAsync(dispatcher,
                                     new Point(0, (float)unit.Top.GetType().GetProperty(variable).GetValue(unit.Top)));
            plotter.Init.AppendAsync(dispatcher,
                                     new Point(0, (float)unit.Bottom.GetType().GetProperty(variable).GetValue(unit.Bottom)));

            switch (xAxis)
            {
            case 0:
                plotter.Init.AppendAsync(dispatcher, new Point(unit.Right.SimulationTime, 0));
                break;

            case 1:
                plotter.Init.AppendAsync(dispatcher, new Point(unit.Right.TotalDistance, 0));
                break;

            default:
                return;
            }


            foreach (SimulatedVehicle vehicle in list)
            {
                float x;

                switch (xAxis)
                {
                case 0:
                    x = vehicle.SimulationTime;
                    break;

                case 1:
                    x = vehicle.TotalDistance;
                    break;

                default:
                    return;
                }

                plotter.addRealTimePoint(mode,
                                         new Point(x, (float)vehicle.GetType().GetProperty(variable).GetValue(vehicle)));
            }
        }