def loadMhpFile(self, filepath): 
    
        log.message("Load Mhp: %s", filepath)

        human = gui3d.app.selectedHuman

        if os.path.basename(filepath) == "clear.mhp":
            posemode.exitPoseMode()
            posemode.resetPoseMode()
            return

        posemode.enterPoseMode()
        folder = os.path.dirname(filepath)
        (fname, ext) = os.path.splitext(os.path.basename(filepath))
        modpath = '%s/${gender}-${age}-${tone}-${weight}-%s.target' % (folder, fname)
        modpath = modpath.replace("\\","/")
        log.debug('PoseLoadTaskView.loadMhpFile: %s %s', filepath, modpath)
        modifier = PoseModifier(modpath)
        modifier.updateValue(human, 1.0)
        
        amt = human.armature
        if amt:
            pass
            #amt.rebuild()
        else:
            amt = human.armature = armature.rigdefs.createRig(human, "soft1")            
        amt.setModifier(modifier)
        amt.readMhpFile(filepath)
    def loadMhpFile(self, filepath): 
    
        log.message("Load Mhp: %s", filepath)

        human = gui3d.app.selectedHuman

        self.lastPose = filepath

        if os.path.basename(filepath) == "clear.mhp":
            posemode.exitPoseMode()
            posemode.resetPoseMode()
            return

        posemode.enterPoseMode()
        folder = os.path.dirname(filepath)

        hasTargets = False
        for file in os.listdir(folder):
            if os.path.splitext(file)[1] == ".target":
                hasTargets = True
                break

        if hasTargets:                
            (fname, ext) = os.path.splitext(os.path.basename(filepath))
            filenamePattern = "${gender}-${age}-${tone}-${weight}-%s.target" % fname
            modpath = os.path.join(folder, filenamePattern)
            log.debug('PoseLoadTaskView.loadMhpFile: %s %s', filepath, modpath)
            modifier = PoseModifier(modpath)
            modifier.updateValue(human, 1.0)
        else:
            modifier = None
        
        amt = human.armature
        print("AMT", amt)
        if amt:
            pass
            #amt.rebuild()
        else:
            amt = human.armature = amtpkg.rigdefs.createPoseRig(human, "soft1")            
        print("New", amt)
        print(amt.bones.keys())
        amt.setModifier(modifier)
        amt.readMhpFile(filepath)
    def loadMhpFile(self, filepath):

        log.message("Load Mhp: %s", filepath)

        human = gui3d.app.selectedHuman

        self.lastPose = filepath

        if os.path.basename(filepath) == "clear.mhp":
            posemode.exitPoseMode()
            posemode.resetPoseMode()
            return

        posemode.enterPoseMode()
        folder = os.path.dirname(filepath)

        hasTargets = False
        for file in os.listdir(folder):
            if os.path.splitext(file)[1] == ".target":
                hasTargets = True
                break

        if hasTargets:
            (fname, ext) = os.path.splitext(os.path.basename(filepath))
            filenamePattern = "${gender}-${age}-${tone}-${weight}-%s.target" % fname
            modpath = os.path.join(folder, filenamePattern)
            log.debug("PoseLoadTaskView.loadMhpFile: %s %s", filepath, modpath)
            modifier = PoseModifier(modpath)
            modifier.updateValue(human, 1.0)
        else:
            modifier = None

        amt = human.armature
        print("AMT", amt)
        if amt:
            pass
            # amt.rebuild()
        else:
            amt = human.armature = amtpkg.rigdefs.createPoseRig(human, "soft1")
        print("New", amt)
        print(amt.bones.keys())
        amt.setModifier(modifier)
        amt.readMhpFile(filepath)