public static void test() { TransformRT[] inertiaRTs = DatParser.parseInertiaFileToRT(@"P:\Data\Functional_Wrist\E01424\S15R\inertia15R.dat"); TransformRT[] ACS_RT = DatParser.parseACSFileToRT(@"P:\Data\Functional_Wrist\E01424\S15R\AnatCoordSys.dat"); TransformRT[] motion = DatParser.parseMotionFileToRT(@"P:\Data\Functional_Wrist\E01424\S02R\Motion15R02R.dat"); TransformMatrix inertia = new TransformMatrix(inertiaRTs[8]); TransformMatrix ACS = new TransformMatrix(ACS_RT[0]); Posture p = CalculatePosture(ACS, inertia); Posture p2 = CalculatePosture(ACS, inertia, new TransformMatrix(motion[0]), new TransformMatrix(motion[8])); }
private void LoadInertiaData() { if (File.Exists(_wrist.inertiaFile)) { TransformRT[] inert = DatParser.parseInertiaFileToRT(_wrist.inertiaFile); for (int i = 0; i < WristFilesystem.NumBones; i++) //skip the long bones { _bones[i].InertiaMatrix = new TransformMatrix(inert[i]); } } //now try and load special inertia data LoadInertiaData_SingleBone(_wrist.acsFile, (int)WristFilesystem.BIndex.RAD); LoadInertiaData_SingleBone(_wrist.acsFile_uln, (int)WristFilesystem.BIndex.ULN); }