# collada.scene.MaterialNode

class `collada.scene.``MaterialNode`(symbol, target, inputs, xmlnode=None)

  Bases: `collada.scene.SceneNode`

  Represents a material being instantiated in a scene, as defined in the collada <instance_material> tag.

  `__init__`(symbol, target, inputs, xmlnode=None)

    Creates a material node

    Parameters:

    - symbol (str) – The symbol within a geometry this material should be bound to
    - target (collada.material.Material) – The material object being bound to
    - inputs (list) – A list of tuples of the form `(semantic, input_semantic, set)` mapping texcoords or other inputs to material input channels, e.g. `('TEX0', 'TEXCOORD', '0')` would map the effect parameter `'TEX0'` to the `'TEXCOORD'` semantic of the geometry, using texture coordinate set `0`.
    - xmlnode – When loaded, the xmlnode it comes from

  Methods

  `__init__`(symbol, target, inputs[, xmlnode]) | Creates a material node
  `load`(collada, node) | Load and return a class instance from an XML node.
  `objects`() | Iterate through all objects under this node that match tipo.
  `save`() | Saves the material node back to `xmlnode`

  `symbol` = None

    The symbol within a geometry this material should be bound to

  `target` = None

    An object of type `collada.material.Material` representing the material object being bound to

  `inputs` = None

    A list of tuples of the form `(semantic, input_semantic, set)` mapping texcoords or other inputs to material input channels, e.g. `('TEX0', 'TEXCOORD', '0')` would map the effect parameter `'TEX0'` to the `'TEXCOORD'` semantic of the geometry, using texture coordinate set `0`.

  `xmlnode` = None

    ElementTree representation of the material node.

  static `load`(collada, node)

    Load and return a class instance from an XML node.

    Inspect the data inside node, which must match this class tag and create an instance out of it.

    Parameters:

    - collada (collada.Collada) – The collada file object where this object lives
    - localscope (dict) – If there is a local scope where we should look for local ids (sid) this is the dictionary. Otherwise empty dict ({})
    - node – An Element from python’s ElementTree API

  `objects`()

    Iterate through all objects under this node that match tipo. The objects will be bound and transformed via the scene transformations.

    Parameters:

    - tipo (str) – A string for the desired object type. This can be one of ‘geometry’, ‘camera’, ‘light’, or ‘controller’.
    - matrix (numpy.matrix) – An optional transformation matrix

    Return type: | generator that yields the type specified

  `save`()

    Saves the material node back to `xmlnode`