public MotionMetaData(List <Dictionary <JointType, CvPoint3D64f> > jointsSeq, List <DateTime> timeSeq, List <Dictionary <Bone, BoneStatistics> > stats) { this.motionLog = new List <Pose>(); foreach (var pair in jointsSeq.Zip(timeSeq, (joints, time) => new { joints, time })) { Pose pose = new Pose(pair.joints, pair.time); this.motionLog.Add(pose); } this.pointSeqs = new Dictionary <JointType, PointSequence>(); foreach (JointType jointType in Enum.GetValues(typeof(JointType))) { List <CvPoint3D64f?> points = this.motionLog.Select(m => m.GetPoint(jointType)).ToList(); pointSeqs[jointType] = new PointSequence(points, timeSeq, jointType); } this.stats = stats; }
public MotionMetaData(List<Dictionary<JointType, CvPoint3D64f>> jointsSeq, List<DateTime> timeSeq, List<Dictionary<Bone, BoneStatistics>> stats) { this.motionLog = new List<Pose>(); foreach (var pair in jointsSeq.Zip(timeSeq, (joints, time) => new { joints, time })) { Pose pose = new Pose(pair.joints, pair.time); this.motionLog.Add(pose); } this.pointSeqs = new Dictionary<JointType, PointSequence>(); foreach (JointType jointType in Enum.GetValues(typeof(JointType))) { List<CvPoint3D64f?> points = this.motionLog.Select(m => m.GetPoint(jointType)).ToList(); pointSeqs[jointType] = new PointSequence(points, timeSeq, jointType); } this.stats = stats; }