Exemple #1
0
    def symmetrize(self):
        """Inverse the transform of each element of the guide."""

        if self.values["comp_side"] not in ["R", "L"]:
            mgear.log("Can't symmetrize central component", mgear.sev_error)
            return False
        for name, paramDef in self.paramDefs.items():
            if paramDef.valueType == "string":
                self.setParamDefValue(
                    name, mgear.string.convertRLName(self.values[name]))
        for name, t in self.tra.items():
            self.tra[name] = transform.getSymmetricalTransform(t)
        for name, blade in self.blades.items():
            self.blades[name] = vector.Blade(
                transform.getSymmetricalTransform(blade.transform))

        return True
Exemple #2
0
def duplicateSym(*args):
    """Duplicate one dag hierarchy to/from X/-X renaming "L" to "R" """

    oSelection = pm.selected()
    if oSelection:
        oSel = oSelection[0]
        oTarget = pm.duplicate()[0]

        t = oSel.getTransformation()
        t = transform.getSymmetricalTransform(t)
        oTarget.setTransformation(t)

        # Quick rename
        pm.select(oTarget, hi=True)

        for x in pm.selected():
            x.rename(mgear.string.convertRLName(x.name().split("|")[-1]))
        oTarget.rename(mgear.string.convertRLName(oSel.name()))
    else:
        pm.displayWarning("Select something before duplicate symmetry.")