public GravitySim(Canvas simulationCanvas, MainPage simulationPage, CoreDispatcher dispatcher) { bodies = new List <Body>(); simCanvas = simulationCanvas; simPage = simulationPage; simSpace = new SimulationSpace(SimulationSpace.Space.Null); renderer = new Renderer(simSpace, simCanvas, dispatcher, simPage); // accelerations default to null, they're newed when they're needed simCalcSettings = new CalculationSettings(); simElapsedTime = 0.0; checkSim = false; simRounding = 0; accelerationLimitOn = false; minimumSeparationSquared = 1.0; SpeedFactor = 1.0; }
public void ClearSim() { bodies.Clear(); Body.ResetBodyCount(); // simCanvas never changes // simPage never changes SetSimSpace(new SimulationSpace(SimulationSpace.Space.Null)); renderer.ClearSim(); accelerations = null; simCalcSettings = new CalculationSettings(); simElapsedTime = 0.0; checkSim = false; simRounding = 0; accelerationLimitOn = false; minimumSeparationSquared = 1.0; SpeedFactor = 1.0; }
public void SetCalculationSettings(CalculationSettings calculationSettings) => simCalcSettings = calculationSettings;