Exemplo n.º 1
0
    def __init__(self, parent):
        ui.QWidget.__init__(self, parent)

        # ui
        self.setParent(parent)
        self.setWindowFlags(ui.Qt.Window)

        self.setWindowTitle(WINDOW_TITLE)
        self.resize(300, 250)

        # set icon
        path = ui.findIcon(WINDOW_ICON)
        if path:
            self.setWindowIcon(ui.QIcon(path))

        # create layout
        layout = ui.QVBoxLayout(self)
        layout.setContentsMargins(3, 3, 3, 3)
        layout.setSpacing(3)

        # create add widget
        title = AddInfluenceWidget(self)
        title.addInfluence.connect(self.addInfluence)
        layout.addWidget(title)

        # create scroll
        scrollArea = ui.QScrollArea(self)
        scrollArea.setWidgetResizable(True)

        self.widget = ui.QWidget(self)
        self.layout = ui.QVBoxLayout(self.widget)

        scrollArea.setWidget(self.widget)
        layout.addWidget(scrollArea)

        # create filler influence
        self.filler = FillerInfluenceWidget(self)
        self.layout.addWidget(self.filler)

        # create spacer
        spacer = ui.QSpacerItem(1, 1, ui.QSizePolicy.Minimum,
                                ui.QSizePolicy.Expanding)
        self.layout.addItem(spacer)
        self.layout.setContentsMargins(3, 3, 3, 3)
        self.layout.setSpacing(3)

        # create button
        button = ui.QPushButton(self)
        button.setText("Skin")
        button.setFont(ui.FONT)
        button.released.connect(self.skin)
        layout.addWidget(button)

        # create button
        self.progressBar = ui.QProgressBar(self)
        self.progressBar.setVisible(False)
        layout.addWidget(self.progressBar)
Exemplo n.º 2
0
    def __init__(self, parent, skinCluster, data):
        ui.QWidget.__init__(self, parent)

        #self.setFrameShape(ui.QFrame.StyledPanel)
        #self.setFrameShadow(ui.QFrame.Sunken)

        # variables
        self.widgets = []

        # skin cluster data
        self.normalizeWeights = cmds.getAttr(
            "{0}.normalizeWeights".format(skinCluster))
        self.maxInfluences = cmds.getAttr(
            "{0}.maxInfluences".format(skinCluster))
        self.maintainMaxInfluences = cmds.getAttr(
            "{0}.maintainMaxInfluences".format(skinCluster))

        # create layout
        layout = ui.QVBoxLayout(self)
        layout.setContentsMargins(3, 3, 3, 3)
        layout.setSpacing(3)

        # create widgets
        for value, influence in data:
            widget = VertexInfluenceWidget(self, influence, value)
            widget.signal.connect(self.calculateWeights)

            layout.addWidget(widget)
            self.widgets.append(widget)

        # set visibility
        self.displayInfluences(False)
Exemplo n.º 3
0
    def __init__(self, parent):
        ui.QWidget.__init__(self, parent)

        # ui
        self.setParent(parent)
        self.setWindowFlags(ui.Qt.Window)

        self.setWindowTitle(WINDOW_TITLE)
        self.resize(300, 25)

        # set icon
        path = ui.findIcon(WINDOW_ICON)
        if path:
            self.setWindowIcon(ui.QIcon(path))

        # create layout
        layout = ui.QVBoxLayout(self)
        layout.setContentsMargins(3, 3, 3, 3)
        layout.setSpacing(3)

        # create tweening
        self.tweening = TweeningOptions(self)
        layout.addWidget(self.tweening)

        # create button
        apply = ui.QPushButton(self)
        apply.setFont(ui.FONT)
        apply.setText("Apply")
        apply.released.connect(self.apply)
        layout.addWidget(apply)
Exemplo n.º 4
0
    def __init__(self, parent):
        ui.QWidget.__init__(self, parent)
        
        # ui
        self.setParent(parent)        
        self.setWindowFlags(ui.Qt.Window)   

        self.setWindowTitle(WINDOW_TITLE)           
        self.resize(550, 350)
        
        # set icon
        path = ui.findIcon(WINDOW_ICON)
        if path:
            self.setWindowIcon(ui.QIcon(path))      
    
        # create layout
        layout = ui.QVBoxLayout(self)
        layout.setContentsMargins(3, 3, 3, 3)

        # create scroll
        scrollArea = ui.QScrollArea(self)
        scrollArea.setWidgetResizable(True)

        self.widget = ui.QWidget(self)
        self.layout = ui.QVBoxLayout(self.widget)
        
        scrollArea.setWidget(self.widget)
        layout.addWidget(scrollArea)
        
        # create spacer
        spacer = ui.QSpacerItem(
            1, 
            1, 
            ui.QSizePolicy.Minimum, 
            ui.QSizePolicy.Expanding
        )
        self.layout.addItem(spacer)
        self.layout.setContentsMargins(3, 3, 3, 3)
        self.layout.setSpacing(3)
        
        # update
        self.id_ = None
        self.registerCallback()
        self.selectionChanged()
Exemplo n.º 5
0
    def __init__(self, parent, vertex):
        ui.QWidget.__init__(self, parent)

        # variables
        self.vertex = vertex
        self.mesh, _ = vertex.split(".", 1)
        self.skinCluster = utils.getSkinCluster(self.mesh)

        # get skinned data
        influences = cmds.skinPercent(self.skinCluster,
                                      vertex,
                                      query=True,
                                      transform=None)

        values = cmds.skinPercent(self.skinCluster,
                                  vertex,
                                  query=True,
                                  value=True)

        # order data
        data = zip(values, influences)
        data.sort()
        data.reverse()

        # create layout
        layout = ui.QVBoxLayout(self)
        layout.setContentsMargins(3, 3, 3, 3)
        layout.setSpacing(3)

        # create divider
        ui.addDivider(self, layout)

        # create label
        self.label = VertexLabelWidget(self, vertex)
        layout.addWidget(self.label)

        # create divider
        ui.addDivider(self, layout)

        # create frame
        self.frame = VertexInfluencesWidget(self, self.skinCluster, data)
        self.frame.signal.connect(self.setWeights)
        layout.addWidget(self.frame)

        # connect influences toggle
        self.label.signal.connect(self.frame.displayInfluences)
        self.frame.warningSignal.connect(self.label.displayWarning)

        # force display
        self.frame.displayMaxInfluences()