Пример #1
0
    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
Пример #2
0
 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()
Пример #3
0
    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)
Пример #4
0
 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()
Пример #5
0
    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
Пример #6
0
    def __init__(self, *args, **kwargs):
        super(GuiLogHandler, self).__init__(*args, **kwargs)

        if env.Maya():
            import maya.OpenMaya as om
            self.MGlobal = om.MGlobal
Пример #7
0
    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(