Пример #1
0
def setKey(controlers=xsi.Selection):

    if not controlers.Count:
        uit.msgBox("Nothing selected", c.siMsgExclamation,
                   "Key Selection Failed")
        return False

    keyable_params = getKeyableParameters(controlers)
    if not keyable_params.Count:
        uit.msgBox("There is no keyable parameter on selection",
                   c.siMsgExclamation, "Key Selection Failed")
        return False

    # Save Key
    playcontrol = xsi.GetValue("PlayControl")

    # Some Keyable display parameters (id) can be in the list, we need to remove them
    # or some parameters with expression on them
    itemsToRemove = XSIFactory.CreateObject("XSI.Collection")
    for param in keyable_params:
        if not param.Animatable or param.isAnimated(c.siExpressionSource):
            itemsToRemove.Add(param)

    if itemsToRemove.Count:
        keyable_params.RemoveItems(itemsToRemove)

    xsi.SaveKey(keyable_params, playcontrol.Parameters("Key").Value)

    return True
Пример #2
0
def setKey(controlers=xsi.Selection):

    if not controlers.Count:
        uit.msgBox("Nothing selected", c.siMsgExclamation, "Key Selection Failed")
        return False

    keyable_params = getKeyableParameters(controlers)
    if not keyable_params.Count:
        uit.msgBox("There is no keyable parameter on selection", c.siMsgExclamation, "Key Selection Failed")
        return False

    # Save Key
    playcontrol = xsi.GetValue("PlayControl")

    # Some Keyable display parameters (id) can be in the list, we need to remove them
    # or some parameters with expression on them
    itemsToRemove = XSIFactory.CreateObject("XSI.Collection")
    for param in keyable_params:
        if not param.Animatable or param.isAnimated(c.siExpressionSource):
            itemsToRemove.Add(param)

    if itemsToRemove.Count:
        keyable_params.RemoveItems(itemsToRemove)

    xsi.SaveKey(keyable_params, playcontrol.Parameters("Key").Value)

    return True
Пример #3
0
    def importFromXml(self, path):

        if not self.setFromFile(path):
            return

        if not self.valid:
            uit.msgBox("Imported guide is not up to date, Check log for missing element")

        self.draw()

        self.model.Name = os.path.basename(path).split(".")[0]

        xsi.SelectObj(self.model)

        return self.model
Пример #4
0
    def importFromXml(self, path):

        if not self.setFromFile(path):
            return

        if not self.valid:
            uit.msgBox("Imported guide is not up to date, Check log for missing element")

        self.draw()

        self.model.Name = os.path.basename(path).split(".")[0]

        xsi.SelectObj(self.model)

        return self.model
Пример #5
0
def deleteReference(prop, list_name, item_name):

    if not prop.Parameters(list_name).Value:
        return

    a = prop.Parameters(list_name).Value.split(",")

    if uit.msgBox("Are you sure you want to delete this reference",
                  c.siMsgExclamation | c.siMsgYesNo, "Confirm") == c.siMsgNo:
        return

    a.pop(prop.Parameters(item_name).Value)

    # build combobox items array
    items = []
    for i, name in enumerate(a):
        items.append(name)
        items.append(i)

    layout = prop.PPGLayout
    item = layout.Item(item_name)
    item.UIItems = items

    if items:
        prop.Parameters(list_name).Value = ",".join(a)
        prop.Parameters(item_name).Value = items[-1]
    else:
        prop.Parameters(list_name).Value = ""
        prop.Parameters(item_name).Value = 0
Пример #6
0
def deleteReference(prop, list_name, item_name):

    if not prop.Parameters(list_name).Value:
        return

    a = prop.Parameters(list_name).Value.split(",")

    if uit.msgBox("Are you sure you want to delete this reference" , c.siMsgExclamation|c.siMsgYesNo, "Confirm") == c.siMsgNo:
        return

    a.pop(prop.Parameters(item_name).Value)

    # build combobox items array
    items = []
    for i, name in enumerate(a):
        items.append(name)
        items.append(i)

    layout = prop.PPGLayout
    item = layout.Item(item_name)
    item.UIItems = items

    if items:
        prop.Parameters(list_name).Value = ",".join(a)
        prop.Parameters(item_name).Value = items[-1]
    else:
        prop.Parameters(list_name).Value = ""
        prop.Parameters(item_name).Value = 0
Пример #7
0
def createXtraRig(model):
    return

    xrig_org = model.FindChild(XRIG_ORG_NAME)
    if xrig_org:
        uit.msgBox("There is already a %s null on this model"%XRIG_ORG_NAME, c.siMsgExclamation, "Xtra Rig Creation Failed")
        return xtra_org

    # Create xtra rig root null
    xrig_org = model.AddNull(XRIG_ORG_NAME)
    xrig_anim_prop = xrig_org.Properties("anim_prop")
    xrig_setup_prop = xrig_org.Properties("setup_prop")

    # Add null to group    
    hidden_grp = model.Group("hidden_grp")
    if hidden_grp:
        hidden.grp.AddMember(xrig_org)
        
    return xrig_org
Пример #8
0
def createXtraRig(model):
    return

    xrig_org = model.FindChild(XRIG_ORG_NAME)
    if xrig_org:
        uit.msgBox("There is already a %s null on this model"%XRIG_ORG_NAME, c.siMsgExclamation, "Xtra Rig Creation Failed")
        return xtra_org

    # Create xtra rig root null
    xrig_org = model.AddNull(XRIG_ORG_NAME)
    xrig_anim_prop = xrig_org.Properties("anim_prop")
    xrig_setup_prop = xrig_org.Properties("setup_prop")

    # Add null to group
    hidden_grp = model.Group("hidden_grp")
    if hidden_grp:
        hidden.grp.AddMember(xrig_org)

    return xrig_org
Пример #9
0
    def update(self, sel):

        if sel.Type == "#model":
            self.model = sel
        else:
            self.model = sel.Model

        name = self.model.Name

        self.setFromHierarchy(self.model, True)
        if self.valid:
            rtn = uit.msgBox("No error detected. \n Do you really want to update it ?", c.siMsgYesNo, "Guide Update")
            if rtn == c.siMsgNo:
                return

        self.model.Name = name + "_old"
        self.draw()
        self.model.Name = name
Пример #10
0
    def update(self, sel):

        if sel.Type == "#model":
            self.model = sel
        else:
            self.model = sel.Model

        name = self.model.Name

        self.setFromHierarchy(self.model, True)
        if self.valid:
            rtn = uit.msgBox("No error detected. \n Do you really want to update it ?", c.siMsgYesNo, "Guide Update")
            if rtn == c.siMsgNo:
                return

        self.model.Name = name+"_old"
        self.draw()
        self.model.Name = name