""" CV Manipulator (highlighting) plug-in entry point for Mac --- GS CurveTools License: This collection of code named GS CurveTools is a property of George Sladkovsky (Yehor Sladkovskyi) and can not be copied or distributed without his written permission. GS CurveTools v1.3.11 Personal Edition Copyright 2025, George Sladkovsky (Yehor Sladkovskyi) All Rights Reserved UI font is Roboto that is licensed under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 Autodesk Maya is a property of Autodesk, Inc: https://www.autodesk.com/ Social Media and Contact Links: Discord Server: https://discord.gg/f4DH6HQ Online Store: https://sladkovsky3d.artstation.com/store Online Documentation: https://gs-curvetools.readthedocs.io/ Twitch Channel: https://www.twitch.tv/videonomad YouTube Channel: https://www.youtube.com/c/GeorgeSladkovsky ArtStation Portfolio: https://www.artstation.com/sladkovsky3d Contact Email: george.sladkovsky@gmail.com """ # pylint: disable-all import sys try: from importlib import reload except ImportError: from imp import reload import maya.api.OpenMaya as om import maya.api.OpenMayaRender as omr from gs_curvetools.config.constants import NODES from gs_curvetools.plugins import cv_manip_src reload(cv_manip_src) # API parameters maya_useNewAPI = True # ------------ Init & UnInit Plugin ------------ def initializePlugin(obj): plugin = om.MFnPlugin(obj, "GeorgeSladkovsky", "1.3", "Any") try: plugin.registerNode( NODES.DrawManager.node, cv_manip_src.DrawManagerNode.id, cv_manip_src.DrawManagerNode.creator, cv_manip_src.DrawManagerNode.initialize, om.MPxNode.kLocatorNode, cv_manip_src.DrawManagerNode.drawDbClassification, ) except BaseException: sys.stderr.write("Failed to register node\n") raise try: omr.MDrawRegistry.registerDrawOverrideCreator( cv_manip_src.DrawManagerNode.drawDbClassification, cv_manip_src.DrawManagerNode.drawRegistrantId, cv_manip_src.DrawOverride.creator, ) except BaseException: sys.stderr.write("Failed to register override\n") raise def uninitializePlugin(obj): om.MMessage.removeCallbacks(cv_manip_src.CALLBACK_IDS) cv_manip_src.CALLBACK_IDS = [] plugin = om.MFnPlugin(obj) try: plugin.deregisterNode(cv_manip_src.DrawManagerNode.id) except BaseException: sys.stderr.write("Failed to deregister node\n") raise try: omr.MDrawRegistry.deregisterGeometryOverrideCreator( cv_manip_src.DrawManagerNode.drawDbClassification, cv_manip_src.DrawManagerNode.drawRegistrantId ) except BaseException: sys.stderr.write("Failed to deregister override\n") raise