Exemplo n.º 1
0
    def setTransform(self, kSceneItem):
        """Translates the transform to Maya transform.

        Args:
            kSceneItem -- Object: object to set the transform on.

        Return:
            bool: True if successful.

        """

        nodeAndPort = self.rigGraph.getNodeAndPortSI(kSceneItem, asInput=False)
        if not nodeAndPort:
            return False

        (node, port) = nodeAndPort
        constructorNode = self.rigGraph.getNodeSI(kSceneItem, title='constructor')
        if node != constructorNode:
            self.rigGraph.setPortDefaultValue(constructorNode, "xfo", Xfo())
            parentXfo = Xfo(self.rigGraph.computeCurrentPortValue(node, port))
            invXfo = parentXfo.inverse()
            localXfo = invXfo.multiply(kSceneItem.xfo)
            self.rigGraph.setPortDefaultValue(constructorNode, "xfo", localXfo)

            return True

        self.rigGraph.setPortDefaultValue(constructorNode, "xfo", kSceneItem.xfo)

        return True