/// <summary> /// write the kinematic structure and any recorded motion data to a BVH file /// </summary> private void SaveBVHFile(string file) { BVHMotionData motionData; var root = BVHConverter.ToBVHData(Kinematic.Root.Model, Animator.MotionData, out motionData); BVHReaderWriter.WriteBvh(file, root, motionData); }
private void LoadBVHFile(string file) { if (StopCaptureCommand.CanExecute(null)) { StopCaptureCommand.Execute(null); } BVHMotionData bvhMotionData; BVHNode bvhroot = BVHReaderWriter.ReadBvh(file, out bvhMotionData); MotionData newMotionData = new MotionData(); newMotionData.FPS = 1.0 / bvhMotionData.FrameTime; Bone newRoot = BVHConverter.ToBones(bvhroot, null, bvhMotionData, newMotionData); // create & assign a new kinematic view model. BoneVMs are also created in this process. Kinematic = new KinematicVM(new Core.KinematicStructure(newRoot)); Animator = new KinematicAnimatorVM(Kinematic, newMotionData); }