def __getattr__(self, item): def _getGL(mod): for cmd, _ in inspect.getmembers(mod): if fnmatch.fnmatch(item, "".join(["*", cmd])): setattr( self, cmd, (lambda str: dict(inspect.getmembers(mod))[str])(cmd)) return getattr(self, item) _tmp = [] if env.Maya(): from maya import OpenMayaRender as _mgl _tmp.extend(_mgl, _mgl.MHardwareRenderer.theRenderer().glFunctionTable()) if env.Blender(): import bgl _tmp.extend(bgl) for gl in _tmp: if _getGL(gl): return _getGL(gl) try: from OpenGL import GL as gl return gl except ImportError: import ctypes return ctypes.cdll.OpenGL32
def __exit__(self, exc_type, exc_value, traceback): if env.Maya(): meta.undoInfo(cck=1) elif env.Blender(): meta.context.user_preferences.edit.use_global_undo = self.undo elif env.Davinci(): meta.fusion.EndUndo()
def emit(self, record): from yurlungur.tool.meta import meta msg = self.format(record) if record.levelno > WARNING: if env.Maya(): self.MGlobal.displayError(msg) elif env.Houdini(): meta.ui.setStatusMessage(msg, severity=meta.severityType.Error) elif env.Unreal(): meta.log_error(msg) elif env.Unity(): meta.Debug.LogError(msg) elif env.Nuke(): meta.error(msg) elif env.Max(): meta.print_(msg, True, False) elif record.levelno > INFO: if env.Maya(): self.MGlobal.displayWarning(msg) elif env.Houdini(): meta.ui.setStatusMessage(msg, severity=meta.severityType.Warning) elif env.Unreal(): meta.log_warning(msg) elif env.Unity(): meta.Debug.LogWarning(msg) elif env.Nuke(): meta.warning(msg) elif env.Max(): meta.print_(msg, True, False) else: if env.Maya(): self.MGlobal.displayInfo(msg) elif env.Houdini(): meta.ui.setStatusMessage(msg, severity=meta.severityType.Message) elif env.Unreal(): meta.log(msg) elif env.Unity(): meta.Debug.Log(msg) elif env.Nuke(): meta.debug(msg) elif env.Max(): meta.print_(msg, False, True)
def __enter__(self): if env.Maya(): meta.undoInfo(ock=1) return self elif env.Blender(): self.undo = meta.context.user_preferences.edit.use_global_undo meta.context.user_preferences.edit.use_global_undo = False elif env.Davinci(): meta.fusion.StartUndo()
def eval(self, script): if env.Maya(): import maya.mel as mel return mel.eval(script) if env.Houdini(): return app.application.hscript(script) if env.Max(): import MaxPlus return MaxPlus.Core.EvalMAXScript(script) if env.Davinci() and self.resolve: self.fusion.GetCurrentComp().Execute(script) raise YException
def __init__(self, *args, **kwargs): super(GuiLogHandler, self).__init__(*args, **kwargs) if env.Maya(): import maya.OpenMaya as om self.MGlobal = om.MGlobal
def __new__(cls, name, bases, attrs): return super(MetaAttr, cls).__new__(cls, name, bases, attrs) class MetaNode(type): def __new__(cls, name, bases, attrs): return super(MetaNode, cls).__new__(cls, name, bases, attrs) # Dynamic Class _YObject = MetaObject("YObject", (object, ), {"__doc__": MetaObject.__doc__}) _YNode = MetaNode("YNode", (object, ), {"__doc__": MetaNode.__doc__}) _YAttr = MetaAttr("YAttr", (object, ), {"__doc__": MetaAttr.__doc__}) _YVector = _YMatrix = _YColor = OM = object if env.Maya(): import maya.api.OpenMaya as OM _YVector = type('_YVector', (OM.MVector, ), dict()) _YMatrix = type('_YMatrix', (OM.MMatrix, ), dict()) _YColor = type('_YColor', (OM.MColor, ), dict()) meta = YMObject() if hasattr(meta, "loadPlugin"): for plugin in "fbxmaya.mll", "AbcImport.mll", "AbcExport.mll": meta.loadPlugin(plugin, qt=1) elif env.Houdini() or env.Unreal(): meta = YMObject() _YVector = type(