public static void ExtractProfilesForNN(Przejazd06 przejazd06) { int upcomingProfilesCount = 10; float[,,] upcomingProfiles1 = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime, upcomingProfilesCount]; float[,,] upcomingDistances1 = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime, upcomingProfilesCount]; float[,,] upcomingProfiles2 = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime, upcomingProfilesCount]; float[,,] upcomingDistances2 = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime, upcomingProfilesCount]; float[,,] upcomingLimits = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime, 1]; float[,,] upcomingDistanceLimits = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime, 1]; float[,] upcomingStop = new float[przejazd06.KP.VehiclesCount, przejazd06.KP.MaximumTime]; for (int i = 0; i < przejazd06.KP.MaximumTime; i++) { Parallel.For(0, przejazd06.KP.VehiclesCount, v => { float position = przejazd06.PT[v][i, 5]; CheckProfileForNN(przejazd06.KP.CO.Profile1, v, upcomingProfilesCount, ref upcomingProfiles1, ref upcomingDistances1, i, position); CheckProfileForNN(przejazd06.KP.CO.Profile2, v, upcomingProfilesCount, ref upcomingProfiles2, ref upcomingDistances2, i, position); CheckProfileForNN(przejazd06.KP.CO.Limits, v, 1, ref upcomingLimits, ref upcomingDistanceLimits, i, position); //CheckUpcomingStopForNN(v, i, przejazd06) }); } }
private static void CheckUpcomingStopForNN(int v, int i, Przejazd06 przejazd06) { }