""" 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.8 Personal Copyright 2024, 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.plugins import cv_manip_src # type: ignore 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( "GSCT_CurveTools_DrawManagerNode", 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