OpenBve.TrainManager.SynchronizeTrain C# (CSharp) Method

SynchronizeTrain() private static method

private static SynchronizeTrain ( Train Train ) : void
Train Train
return void
		private static void SynchronizeTrain(Train Train)
		{
			for (int i = 0; i < Train.Cars.Length; i++)
			{
				double s = 0.5 * (Train.Cars[i].FrontAxle.Follower.TrackPosition + Train.Cars[i].RearAxle.Follower.TrackPosition);
				double d = 0.5 * (Train.Cars[i].FrontAxle.Follower.TrackPosition - Train.Cars[i].RearAxle.Follower.TrackPosition);
				TrackManager.UpdateTrackFollower(ref Train.Cars[i].FrontAxle.Follower, s + d, false, false);
				TrackManager.UpdateTrackFollower(ref Train.Cars[i].RearAxle.Follower, s - d, false, false);
				double b = Train.Cars[i].FrontAxle.Follower.TrackPosition - Train.Cars[i].FrontAxlePosition + Train.Cars[i].BeaconReceiverPosition;
				TrackManager.UpdateTrackFollower(ref Train.Cars[i].BeaconReceiver, b, false, false);
			}
		}