public void AddRecordForEachJoint(double currentTime) { foreach (JointType jointType in MainWindow.currentBody.Joints.Keys) { TimedPosition timedPositionOfJoint = new TimedPosition(currentTime, CopyPosition(MainWindow.currentBody.Joints[jointType].Position)); this.AddPosition(jointType, timedPositionOfJoint); } }
private void AddPosition(JointType joint, TimedPosition timedPosition) { if (previousPositionsOf.ContainsKey(joint)) { while (previousPositionsOf[joint].Count >= MAX_NUMBER_OF_POSITIONS) { previousPositionsOf[joint].RemoveAt(0); } previousPositionsOf[joint].Add(timedPosition); } else { List<TimedPosition> timedPositions = new List<TimedPosition>(); timedPositions.Add(timedPosition); previousPositionsOf.Add(joint, timedPositions); } }