Source code for bana.OpenMaya.MFnTransform

"""
    bana.OpenMaya.MFnTransform
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

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

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

import gorilla
from maya import OpenMaya


_MScriptUtil = OpenMaya.MScriptUtil


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

[docs] def bnGetScale(self): """Retrieve the scale component. Categories: :term:`MScriptUtil`. Returns ------- list [x, y, z] The scale component. """ util = _MScriptUtil() util.createFromDouble(0.0, 0.0, 0.0) ptr = util.asDoublePtr() self.getScale(ptr) return [ _MScriptUtil.getDoubleArrayItem(ptr, 0), _MScriptUtil.getDoubleArrayItem(ptr, 1), _MScriptUtil.getDoubleArrayItem(ptr, 2), ]
[docs] def bnSetScale(self, scale): """Set the scale component. Categories: :term:`MScriptUtil`. Parameters ---------- scale : sequence of 3 floats New scale component. """ util = _MScriptUtil() util.createFromList(scale, 3) ptr = util.asDoublePtr() self.setScale(ptr)
[docs] def bnScaleBy(self, scale): """Add to the scale component by scaling relatively. Categories: :term:`MScriptUtil`. Parameters ---------- scale : sequence of 3 floats Relative value to scale by. """ util = _MScriptUtil() util.createFromList(scale, 3) ptr = util.asDoublePtr() self.scaleBy(ptr)
[docs] def bnGetShear(self): """Retrieve the shear component. Categories: :term:`MScriptUtil`. Returns ------- list [x, y, z] The shear component. """ util = _MScriptUtil() util.createFromDouble(0.0, 0.0, 0.0) ptr = util.asDoublePtr() self.getShear(ptr) return [ _MScriptUtil.getDoubleArrayItem(ptr, 0), _MScriptUtil.getDoubleArrayItem(ptr, 1), _MScriptUtil.getDoubleArrayItem(ptr, 2), ]
[docs] def bnSetShear(self, shear): """Set the shear component. Categories: :term:`MScriptUtil`. Parameters ---------- shear : sequence of 3 floats New shear component. """ util = _MScriptUtil() util.createFromList(shear, 3) ptr = util.asDoublePtr() self.setShear(ptr)
[docs] def bnShearBy(self, shear): """Add to the shear component by shearing relatively. Categories: :term:`MScriptUtil`. Parameters ---------- shear : sequence of 3 floats Relative value to shear by. """ util = _MScriptUtil() util.createFromList(shear, 3) ptr = util.asDoublePtr() self.shearBy(ptr)