コード例 #1
0
 //recompute = compute even data is already exist
 public List <int[]> getKeyPose(Boolean recompute, Boolean saveData)
 {
     if (Path.GetExtension(path_key) != ThePosExtract.extension_key)
     {
         path_key = ""; this.keyPose.Clear();
     }
     if (recompute)
     {
         this.keyPose.Clear();
     }
     if (this.keyPose.Count == 0)
     {
         if (path_key == "")
         {
             path_key  = TheTool.getFilePathExcludeExtension_byPath(path) + ThePosExtract.extension_key;
             path_keyJ = TheTool.getFilePathExcludeExtension_byPath(path) + ".j";
         }
         if (recompute == false)
         {
             this.keyPose     = TheUKI.loadKeyPose(path_key);// .key is exist
             this.keyPoseJump = TheUKI.loadKeyJump(path_keyJ);
         }
         if (recompute || (this.keyPose.Count == 0 && !TheTool.checkPathExist(path_key)))
         {
             if (recompute == false && !TheTool.checkPathExist(path_key))
             {
                 TheSys.showError("Not Found: " + path_key);
             }
             this.keyPose     = ThePosExtract.extractKeyPose(this);
             this.keyPoseJump = new List <int_double>();
             this.keyPoseJump.AddRange(ThePosExtract.list_jump_selected);
             if (saveData)
             {
                 TheUKI.exportKey(path_key, keyPose);
                 if (ThePosExtract.capJumping)
                 {
                     TheUKI.exportKeyJ(path_keyJ, keyPoseJump);
                 }
             }
         }
     }
     return(keyPose);
 }