def set_transform_node(self, name): assert isinstance(name, (str, unicode)) assert maya.cmds.objExists(name) self._mfn_tfm = None self._mfn_shp = None tfm_dag = api_utils.get_as_dag_path(name) if tfm_dag is not None: assert tfm_dag.apiType() == OpenMaya.MFn.kTransform # Get camera shape from transform. dag = api_utils.get_as_dag_path(name) num_children = dag.childCount() if num_children > 0: for i in xrange(num_children): child_obj = dag.child(i) if child_obj.apiType() == OpenMaya.MFn.kCamera: dag.push(child_obj) self._mfn_shp = OpenMaya.MFnDagNode(dag) break self._mfn_tfm = OpenMaya.MFnDagNode(tfm_dag) if self._mfn_tfm is None or self._mfn_shp is None: self._mfn_tfm = OpenMaya.MFnDagNode() self._mfn_shp = OpenMaya.MFnDagNode() return
def __init__(self, node=None, name=None): """ Initialize a Marker, give a name to connect to an existing Maya node. :param node: The Maya node to connect to. :type node: None or str :param name: This is a backwards compatible kwarg for 'node'. :type name: None or str """ if name is not None: msg = ("mmSolver.api.Marker(name=value), " "'name' is a deprecated flag, use 'node' ") warnings.warn(msg) node = name if isinstance(node, basestring): try: dag = api_utils.get_as_dag_path(node) self._mfn = OpenMaya.MFnDagNode(dag) except RuntimeError as e: msg = 'Given Marker node name is invalid: name=%r' LOG.error(msg, node) raise e else: self._mfn = OpenMaya.MFnDagNode() return
def set_shape_node(self, name): assert isinstance(name, (str, unicode)) assert maya.cmds.objExists(name) self._mfn_tfm = None self._mfn_shp = None shp_dag = api_utils.get_as_dag_path(name) if shp_dag is not None: assert shp_dag.apiType() == OpenMaya.MFn.kCamera # Get transform from shape. tfm_dag = api_utils.get_as_dag_path(name) tfm_dag.pop(1) assert tfm_dag.apiType() == OpenMaya.MFn.kTransform self._mfn_shp = OpenMaya.MFnDagNode(shp_dag) self._mfn_tfm = OpenMaya.MFnDagNode(tfm_dag) if self._mfn_tfm is None or self._mfn_shp is None: self._mfn_tfm = OpenMaya.MFnDagNode() self._mfn_shp = OpenMaya.MFnDagNode() return
def __init__(self, node=None): """ Create a Bundle object initialised with 'node'. :param node: Maya node to attach this object to. :type node: str """ if node is not None: assert isinstance(node, (str, unicode)) assert maya.cmds.objExists(node) dag = api_utils.get_as_dag_path(node) if dag is not None: self._mfn = OpenMaya.MFnDagNode(dag) else: self._mfn = OpenMaya.MFnDagNode() return
def set_node(self, node): """ Change the underlying Maya node that this Marker class will manipulate. :param node: The existing Maya node node. :type node: str :returns: Nothing. :rtype: None """ assert isinstance(node, (str, unicode)) dag = api_utils.get_as_dag_path(node) try: self._mfn = OpenMaya.MFnDagNode(dag) except RuntimeError: raise return
def set_node(self, node): """ This Bundle object will affect the given 'node'. :param node: Node to set to. :type node: str :return: Nothing. """ assert isinstance(node, (str, unicode)) assert maya.cmds.objExists(node) dag = api_utils.get_as_dag_path(node) if dag is not None: self._mfn = OpenMaya.MFnDagNode(dag) else: self._mfn = OpenMaya.MFnDagNode() return
def __init__(self, name=None): """ Initialize a Marker, give a name to connect to an existing Maya node. :param name: The Maya node name to connect to. :type name: None or str """ if isinstance(name, basestring): try: dag = api_utils.get_as_dag_path(name) self._mfn = OpenMaya.MFnDagNode(dag) except RuntimeError as e: msg = 'Given Marker node name is invalid: name=%r' LOG.error(msg, name) raise e else: self._mfn = OpenMaya.MFnDagNode() return
def set_node(self, node): """ Set the MarkerGroup to use this Maya node. :param node: Maya node path. :type node: str """ assert isinstance(node, (str, unicode)) assert maya.cmds.objExists(node) assert api_utils.get_object_type( node) == const.OBJECT_TYPE_MARKER_GROUP self._mfn_tfm = None tfm_dag = api_utils.get_as_dag_path(node) if tfm_dag is not None: assert maya.cmds.nodeType( tfm_dag.fullPathName()) == 'mmMarkerGroupTransform' self._mfn_tfm = OpenMaya.MFnDagNode(tfm_dag) if self._mfn_tfm is None: self._mfn_tfm = OpenMaya.MFnDagNode() return