// Save the data of each agent (position, velocity, acceleration, distance with the closer, local density and agent's leader internal static void saveData(RVOSimulator sim, bool looped, bool follow) { string name = "Data/n"; string num = sim.getNumAgents().ToString(); name += num; if (follow) { name += "f"; } name += "_agents_data.csv"; System.IO.Directory.CreateDirectory("Data/"); if (!File.Exists(name)) { File.Create(name).Dispose(); using (TextWriter tw = new StreamWriter(name)) { tw.WriteLine("Agent \t Position X \t Position Y \t Velocity X \t Velocity Y \t Acceleration X + \t Acceleration Y + \t Closer Agent Distance \t LocalDensity 2 \t LocalDensity 9 \t AgentLeaderNo \t Heure"); } } for (int i = 0; i < sim.getNumAgents(); i++) { using (TextWriter tw = new StreamWriter(name, true)) { tw.WriteLine(i + "\t" + sim.getAgentPosition(i).x() + "\t" + sim.getAgentPosition(i).y() + "\t" + sim.getAgentVelocity(i).x() + "\t" + sim.getAgentVelocity(i).y() + "\t" + sim.getAgentAcceleration(i).x() + "\t" + sim.getAgentAcceleration(i).y() + "\t" + sim.getAgentDistanceWithCloserAgent(i, looped) + '\t' + sim.getAgentLocalDensity(i, looped, 2) + '\t' + sim.getAgentLocalDensity(i, looped, 9) + '\t' + sim.getAgentLeaderNo(i) + "\t" + DateTime.Now); } } }