Source code for bana.OpenMaya.MMatrix

"""
    bana.OpenMaya.MMatrix
    ~~~~~~~~~~~~~~~~~~~~~

    Extensions for the ``maya.OpenMaya.MMatrix`` class.

    :copyright: Copyright 2014-2017 by Christopher Crouzet.
    :license: MIT, see LICENSE for details.
"""

import sys

import gorilla
from maya import OpenMaya


if sys.version_info[0] == 2:
    _range = xrange
else:
    _range = range


_MScriptUtil = OpenMaya.MScriptUtil


@gorilla.patches(OpenMaya.MMatrix)
class MMatrix(object):

    @gorilla.filter(True)
    @gorilla.settings(allow_hit=True)
[docs] def __str__(self): """Printable-friendly version of the values. Categories: :term:`fix`. Returns ------- str A printable-friendly version of the values. """ return '[%s]' % ('\n '.join(str(r) for r in self.bnGet()))
[docs] def bnGet(self): """Retrieve the values as a two-dimensional 4 x 4 list. Categories: :term:`MScriptUtil`. Returns ------- list of list of floats The two-dimensional 4 x 4 list of values. """ return [ [_MScriptUtil.getDoubleArrayItem(self[r], c) for c in _range(4)] for r in _range(4)]