46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
from maya import cmds
|
|
|
|
from ngSkinTools2.api import PaintTool
|
|
from ngSkinTools2.api.log import getLogger
|
|
from ngSkinTools2.api.session import session
|
|
from ngSkinTools2.ui.action import Action
|
|
|
|
log = getLogger("operations/paint")
|
|
|
|
|
|
class FloodAction(Action):
|
|
name = "Flood"
|
|
tooltip = "Apply current brush to whole selection"
|
|
|
|
def run(self):
|
|
session.paint_tool.flood(self.session.state.currentLayer.layer, influences=self.session.state.currentLayer.layer.paint_targets)
|
|
|
|
def enabled(self):
|
|
return PaintTool.is_painting() and self.session.state.selectedSkinCluster is not None and self.session.state.currentLayer.layer is not None
|
|
|
|
def update_on_signals(self):
|
|
return [
|
|
self.session.events.toolChanged,
|
|
self.session.events.currentLayerChanged,
|
|
self.session.events.currentInfluenceChanged,
|
|
self.session.events.targetChanged,
|
|
]
|
|
|
|
|
|
class PaintAction(Action):
|
|
name = "Paint"
|
|
tooltip = "Toggle paint tool"
|
|
checkable = True
|
|
|
|
def run(self):
|
|
if self.checked():
|
|
cmds.setToolTo("moveSuperContext")
|
|
else:
|
|
self.session.paint_tool.start()
|
|
|
|
def update_on_signals(self):
|
|
return [self.session.events.toolChanged]
|
|
|
|
def checked(self):
|
|
return PaintTool.is_painting()
|