/// <summary> /// Initializes a new instance of the <see cref="Physics"/> class. /// </summary> /// <param name="physicsCore">The physics core.</param> public Physics(IPhysicsCore physicsCore) { vertexForceParamGuard = new object(); edgeForceParamGuard = new object(); edgeLengthGuard = new object(); frictionParamGuard = new object(); simulateGuard = new object(); this.physicsCore = physicsCore; vertices = physicsCore.Vertices; edges = physicsCore.Edges; dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Tick += (sender, e) => { IterateSimulation(); }; VertexForceParam = 2.0; EdgeForceParam = 0.4; EdgeLength = 1.0; frictionParam = 0.0; Simulate = false; }