Beispiel #1
0
    def run(self, *args, **kwargs):
        uid   = self.fetch('uid', None)
        node  = self.fetch('nodeName', None)
        props = self.fetch('props', dict())

        if not uid:
            self.puts(
                success=False, error=True, message='Invalid or missing UID')
            return

        if node and TrackSceneUtils.checkNodeUidMatch(uid, node):
            TrackSceneUtils.setTrackProps(node, props)
            self.puts(success=True, nodeName=node)
            return

        trackSetNode = TrackSceneUtils.getTrackSetNode()
        if not trackSetNode:
            self.puts(
                success=False,
                error=True,
                message='Scene not initialized for Cadence')
            return

        for node in cmds.sets(trackSetNode, query=True):
            if not cmds.hasAttr(node + '.' + TrackPropEnum.UID.maya):
                continue
            if uid == cmds.getAttr(node + '.' + TrackPropEnum.UID.maya):
                TrackSceneUtils.setTrackProps(node, props)
                self.puts(success=True, nodeName=node)
                return

        self.response.puts(success=False)
    def run(self, *args, **kwargs):
        """Doc..."""

        # Load the Cadence Trackway Plugin
        cmds.loadPlugin(CadenceTrackwayPlugin.__file__)

        # Create the track set nodeName
        trackSetNode = TrackSceneUtils.getTrackSetNode(createIfMissing=True)
        self.put('trackSet', trackSetNode)

        trackManagerNode = TrackSceneUtils.getTrackManagerNode(
            trackSetNode=trackSetNode,
            createIfMissing=True)
        self.put('trackManager', trackManagerNode)
Beispiel #3
0
    def run(self, *args, **kwargs):
        trackList = self.fetch('trackList', None)
        if not trackList:
            self.putErrorResult(
                u'No trackList specified. Unable to create tracks.',
                code=self.NO_TRACKLIST)
            return

        trackSetNode = TrackSceneUtils.getTrackSetNode(createIfMissing=True)
        trackNodeList = dict()
        for track in trackList:
            uid = track.get(TrackPropEnum.UID.maya)
            if not uid:
                continue
            trackNodeList[uid] = TrackSceneUtils.createTrackNode(
                uid, trackSetNode, track)
        self.put('nodes', trackNodeList)
Beispiel #4
0
    def run(self, *args, **kwargs):
        """ Fetches the nodes in the current trackSetNode, then for each such
            node, appends its UID to a list l which is then returned. """

        setNode = TrackSceneUtils.getTrackSetNode()
        nodes = cmds.sets(setNode, q=True)

        if len(nodes) == 0:
            self.puts(success=False, uidList=[])
            return

        l = []
        for n in nodes:
            uid = TrackSceneUtils.getUid(node=n, trackSetNode=setNode)
            if uid is not None:
                l.append(uid)

        self.puts(success=True, uidList=l)
        return
Beispiel #5
0
    def run(self, *args, **kwargs):
        """ Fetches the nodes in the current trackSetNode, then for each such
            node, those that start with 'Token' are deleted. """

        setNode = TrackSceneUtils.getTrackSetNode()
        nodes   = cmds.sets(setNode, q=True)

        if len(nodes) == 0:
            self.puts(success=False, uidList=[])
            return

        for node in nodes:
            if node.startswith('Token'):
                cmds.delete(node)

        # and remove the annotations (objects with name starting with 'Token'
        objects = cmds.ls(transforms=True)
        for object in objects:
            if object.startswith('Token'):
                cmds.delete(object)
        return