00001 #pragma once 00002 00003 #include "common++.h" 00004 #include "tools++.h" 00005 00006 #include "BVHTool.h" 00007 #include "NiJointsTool.h" 00008 00009 00010 #define BVH_ADD_JOINTNAME_TXT "bvh_joint_name.txt" 00011 00012 #define BVH_SAVE_FORMAT_QAV 0 00013 #define BVH_SAVE_FORMAT_SL 1 00014 #define BVH_SAVE_FORMAT_NI 2 00015 00016 // 00017 #define add_bvh_name(p, n, j) add_tList_node_bystr((p), (n), 0, (j), NULL, NULL, 0) 00018 00019 00020 // 00021 namespace jbxwl { 00022 00023 using namespace jbxl; 00024 00025 tList* setBVHJointName(void); 00026 tList* addBVHJointName(char* fname, tList* lt); 00027 00028 int BVHJoint2NiJointNum(tList* lt, Buffer joint_name); 00029 tTree* makeBVH_SLHierarchy(void); 00030 tTree* makeBVH_QAvHierarchy(void); 00031 tTree* makeBVH_NiHierarchy(void); 00032 00033 vector getQAvBVHOffset(int joint); 00034 00035 00036 } // namespace 00037 00038 00039 00040 00041 /* 00042 mJointMap["mPelvis"] = "mPelvis"; 00043 mJointMap["mTorso"] = "mTorso"; 00044 mJointMap["mChest"] = "mChest"; 00045 mJointMap["mNeck"] = "mNeck"; 00046 mJointMap["mHead"] = "mHead"; 00047 mJointMap["mSkull"] = "mSkull"; 00048 mJointMap["mEyeRight"] = "mEyeRight"; 00049 mJointMap["mEyeLeft"] = "mEyeLeft"; 00050 mJointMap["mCollarLeft"] = "mCollarLeft"; 00051 mJointMap["mShoulderLeft"] = "mShoulderLeft"; 00052 mJointMap["mElbowLeft"] = "mElbowLeft"; 00053 mJointMap["mWristLeft"] = "mWristLeft"; 00054 mJointMap["mCollarRight"] = "mCollarRight"; 00055 mJointMap["mShoulderRight"] = "mShoulderRight"; 00056 mJointMap["mElbowRight"] = "mElbowRight"; 00057 mJointMap["mWristRight"] = "mWristRight"; 00058 mJointMap["mHipRight"] = "mHipRight"; 00059 mJointMap["mKneeRight"] = "mKneeRight"; 00060 mJointMap["mAnkleRight"] = "mAnkleRight"; 00061 mJointMap["mFootRight"] = "mFootRight"; 00062 mJointMap["mToeRight"] = "mToeRight"; 00063 mJointMap["mHipLeft"] = "mHipLeft"; 00064 mJointMap["mKneeLeft"] = "mKneeLeft"; 00065 mJointMap["mAnkleLeft"] = "mAnkleLeft"; 00066 mJointMap["mFootLeft"] = "mFootLeft"; 00067 mJointMap["mToeLeft"] = "mToeLeft"; 00068 00069 mJointMap["avatar_mPelvis"] = "mPelvis"; 00070 mJointMap["avatar_mTorso"] = "mTorso"; 00071 mJointMap["avatar_mChest"] = "mChest"; 00072 mJointMap["avatar_mNeck"] = "mNeck"; 00073 mJointMap["avatar_mHead"] = "mHead"; 00074 mJointMap["avatar_mSkull"] = "mSkull"; 00075 mJointMap["avatar_mEyeRight"] = "mEyeRight"; 00076 mJointMap["avatar_mEyeLeft"] = "mEyeLeft"; 00077 mJointMap["avatar_mCollarLeft"] = "mCollarLeft"; 00078 mJointMap["avatar_mShoulderLeft"] = "mShoulderLeft"; 00079 mJointMap["avatar_mElbowLeft"] = "mElbowLeft"; 00080 mJointMap["avatar_mWristLeft"] = "mWristLeft"; 00081 mJointMap["avatar_mCollarRight"] = "mCollarRight"; 00082 mJointMap["avatar_mShoulderRight"] = "mShoulderRight"; 00083 mJointMap["avatar_mElbowRight"] = "mElbowRight"; 00084 mJointMap["avatar_mWristRight"] = "mWristRight"; 00085 mJointMap["avatar_mHipRight"] = "mHipRight"; 00086 mJointMap["avatar_mKneeRight"] = "mKneeRight"; 00087 mJointMap["avatar_mAnkleRight"] = "mAnkleRight"; 00088 mJointMap["avatar_mFootRight"] = "mFootRight"; 00089 mJointMap["avatar_mToeRight"] = "mToeRight"; 00090 mJointMap["avatar_mHipLeft"] = "mHipLeft"; 00091 mJointMap["avatar_mKneeLeft"] = "mKneeLeft"; 00092 mJointMap["avatar_mAnkleLeft"] = "mAnkleLeft"; 00093 mJointMap["avatar_mFootLeft"] = "mFootLeft"; 00094 mJointMap["avatar_mToeLeft"] = "mToeLeft"; 00095 00096 mJointMap["hip"] = "mPelvis"; 00097 mJointMap["abdomen"] = "mTorso"; 00098 mJointMap["chest"] = "mChest"; 00099 mJointMap["neck"] = "mNeck"; 00100 mJointMap["head"] = "mHead"; 00101 mJointMap["figureHair"] = "mSkull"; 00102 mJointMap["lCollar"] = "mCollarLeft"; 00103 mJointMap["lShldr"] = "mShoulderLeft"; 00104 mJointMap["lForeArm"] = "mElbowLeft"; 00105 mJointMap["lHand"] = "mWristLeft"; 00106 mJointMap["rCollar"] = "mCollarRight"; 00107 mJointMap["rShldr"] = "mShoulderRight"; 00108 mJointMap["rForeArm"] = "mElbowRight"; 00109 mJointMap["rHand"] = "mWristRight"; 00110 mJointMap["rThigh"] = "mHipRight"; 00111 mJointMap["rShin"] = "mKneeRight"; 00112 mJointMap["rFoot"] = "mFootRight"; 00113 mJointMap["lThigh"] = "mHipLeft"; 00114 mJointMap["lShin"] = "mKneeLeft"; 00115 mJointMap["lFoot"] = "mFootLeft"; 00116 */