// reallocate the memories
 public void ResetSkeletonData()
 {
     for (int i = 0; i < m_jointCount; i++)
     {
         m_jointData[i] = JointData.NewObject();
     }
 }
    /// inverse process of JD2Array
    private JointData Array2JD(int[] num)
    {
        JointData jd = JointData.NewObject();

        jd.m_pos.x   = num[0]; jd.m_pos.y = num[1]; jd.m_pos.z = num[2];
        jd.m_posConf = 1;
        for (int i = 1; i < 3; i++)
        {
            jd.m_orient[i].x = num[i * 3] / 100f;
            jd.m_orient[i].y = num[i * 3 + 1] / 100f;
            jd.m_orient[i].z = num[i * 3 + 2] / 100f;
        }
        jd.m_orientConf = 1;
        return(jd);
    }