#ifndef __JBXL_CPP_BVH_TOOL_H_ #define __JBXL_CPP_BVH_TOOL_H_ #include "common++.h" #include "xtools++.h" #include "Vector.h" #include "Rotation.h" #include "NiJointsTool.h" #define BVH_FILE_HIRCHY_ID "HIERARCHY" #define BVH_FILE_MOTION_ID "MOTION" namespace jbxwl { using namespace jbxl; class CBVHTool : public CBaseFrameTool { public: CBVHTool(void) { init();} ~CBVHTool(void) { clearData();} public: void init(void); void clearData(void); BOOL readFile(FILE* fp) { return FALSE;} NiFrameData* getJointsFrame(void) { return bvh_joints;} unsigned int getFrameNumber(void) { return bvh_frmnum;} public: // NiFrameData* bvh_joints; unsigned int bvh_frmnum; // virtual NiJointData* getFrameData(int frmnum); // NiJointData frame_data[NI_JOINT_NUM]; public: // void clearStartPosition(void) { start_pos.init(1.0);} // Vector start_pos; void clearJointsData(double val=-1.0); Vector posVect[NI_JOINT_NUM]; Quaternion rotQuat[NI_JOINT_NUM]; }; } #endif /* mJointMap["mPelvis"] = "mPelvis"; mJointMap["mTorso"] = "mTorso"; mJointMap["mChest"] = "mChest"; mJointMap["mNeck"] = "mNeck"; mJointMap["mHead"] = "mHead"; mJointMap["mSkull"] = "mSkull"; mJointMap["mEyeRight"] = "mEyeRight"; mJointMap["mEyeLeft"] = "mEyeLeft"; mJointMap["mCollarLeft"] = "mCollarLeft"; mJointMap["mShoulderLeft"] = "mShoulderLeft"; mJointMap["mElbowLeft"] = "mElbowLeft"; mJointMap["mWristLeft"] = "mWristLeft"; mJointMap["mCollarRight"] = "mCollarRight"; mJointMap["mShoulderRight"] = "mShoulderRight"; mJointMap["mElbowRight"] = "mElbowRight"; mJointMap["mWristRight"] = "mWristRight"; mJointMap["mHipRight"] = "mHipRight"; mJointMap["mKneeRight"] = "mKneeRight"; mJointMap["mAnkleRight"] = "mAnkleRight"; mJointMap["mFootRight"] = "mFootRight"; mJointMap["mToeRight"] = "mToeRight"; mJointMap["mHipLeft"] = "mHipLeft"; mJointMap["mKneeLeft"] = "mKneeLeft"; mJointMap["mAnkleLeft"] = "mAnkleLeft"; mJointMap["mFootLeft"] = "mFootLeft"; mJointMap["mToeLeft"] = "mToeLeft"; mJointMap["avatar_mPelvis"] = "mPelvis"; mJointMap["avatar_mTorso"] = "mTorso"; mJointMap["avatar_mChest"] = "mChest"; mJointMap["avatar_mNeck"] = "mNeck"; mJointMap["avatar_mHead"] = "mHead"; mJointMap["avatar_mSkull"] = "mSkull"; mJointMap["avatar_mEyeRight"] = "mEyeRight"; mJointMap["avatar_mEyeLeft"] = "mEyeLeft"; mJointMap["avatar_mCollarLeft"] = "mCollarLeft"; mJointMap["avatar_mShoulderLeft"] = "mShoulderLeft"; mJointMap["avatar_mElbowLeft"] = "mElbowLeft"; mJointMap["avatar_mWristLeft"] = "mWristLeft"; mJointMap["avatar_mCollarRight"] = "mCollarRight"; mJointMap["avatar_mShoulderRight"] = "mShoulderRight"; mJointMap["avatar_mElbowRight"] = "mElbowRight"; mJointMap["avatar_mWristRight"] = "mWristRight"; mJointMap["avatar_mHipRight"] = "mHipRight"; mJointMap["avatar_mKneeRight"] = "mKneeRight"; mJointMap["avatar_mAnkleRight"] = "mAnkleRight"; mJointMap["avatar_mFootRight"] = "mFootRight"; mJointMap["avatar_mToeRight"] = "mToeRight"; mJointMap["avatar_mHipLeft"] = "mHipLeft"; mJointMap["avatar_mKneeLeft"] = "mKneeLeft"; mJointMap["avatar_mAnkleLeft"] = "mAnkleLeft"; mJointMap["avatar_mFootLeft"] = "mFootLeft"; mJointMap["avatar_mToeLeft"] = "mToeLeft"; mJointMap["hip"] = "mPelvis"; mJointMap["abdomen"] = "mTorso"; mJointMap["chest"] = "mChest"; mJointMap["neck"] = "mNeck"; mJointMap["head"] = "mHead"; mJointMap["figureHair"] = "mSkull"; mJointMap["lCollar"] = "mCollarLeft"; mJointMap["lShldr"] = "mShoulderLeft"; mJointMap["lForeArm"] = "mElbowLeft"; mJointMap["lHand"] = "mWristLeft"; mJointMap["rCollar"] = "mCollarRight"; mJointMap["rShldr"] = "mShoulderRight"; mJointMap["rForeArm"] = "mElbowRight"; mJointMap["rHand"] = "mWristRight"; mJointMap["rThigh"] = "mHipRight"; mJointMap["rShin"] = "mKneeRight"; mJointMap["rFoot"] = "mFootRight"; mJointMap["lThigh"] = "mHipLeft"; mJointMap["lShin"] = "mKneeLeft"; mJointMap["lFoot"] = "mFootLeft"; */