This commit is contained in:
2025-12-05 08:08:44 +08:00
parent e0d4d0c364
commit 1f10abfb32
2909 changed files with 2470486 additions and 3024 deletions

View File

@@ -0,0 +1,63 @@
"""
these are methods that are called by plugin when corresponding events happen
"""
from ngSkinTools2 import api
from ngSkinTools2.api import eventtypes as et
from ngSkinTools2.api.log import getLogger
from ngSkinTools2.api.session import session
from ngSkinTools2.ui import hotkeys_setup
log = getLogger("plugin callbacks")
def current_paint_target_changed():
# log.info("current paint target changed")
if session.active():
if session.state.currentLayer.layer is not None:
session.state.currentLayer.layer.reload()
session.events.currentInfluenceChanged.emitIfChanged()
def tool_settings_changed():
et.tool_settings_changed.emit()
def paint_tool_started():
api.paint.tabletEventFilter.install()
hotkeys_setup.toggle_paint_hotkey_set(enabled=True)
def paint_tool_stopped():
api.paint.tabletEventFilter.uninstall()
hotkeys_setup.toggle_paint_hotkey_set(enabled=False)
def get_stylus_intensity():
return api.paint.tabletEventFilter.pressure
def initialize_influences_mirror_mapping(mesh):
"""
gets called by plugin when influences mirror mapping is not set yet
:return:
"""
from ngSkinTools2.api.mirror import Mirror
Mirror(mesh).recalculate_influences_mapping()
def display_node_created(display_node):
"""
gets called when display node is created
:param display_node:
:return:
"""
from maya import cmds
# add node to isolated objects if we're currently in isolated mode
current_view = cmds.paneLayout('viewPanes', q=True, pane1=True)
is_isolated = cmds.isolateSelect(current_view, q=True, state=True)
if is_isolated:
cmds.isolateSelect(current_view, addDagObject=display_node)