# collada.controller.Skin

class collada.controller.Skin(sourcebyid, bind_shape_matrix, joint_source, joint_matrix_source, weight_source, weight_joint_source, vcounts, vertex_weight_index, offsets, geometry, controller_node=None, skin_node=None)

  Class containing data collada holds in the <skin> tag

  __init__(sourcebyid, bind_shape_matrix, joint_source, joint_matrix_source, weight_source, weight_joint_source, vcounts, vertex_weight_index, offsets, geometry, controller_node=None, skin_node=None)

    Create a skin.

    Parameters:
      sourceById

        A dict mapping id’s to a collada source

      bind_shape_matrix

        A numpy array of floats (pre-shape)

      joint_source

        The string id for the joint source

      joint_matrix_source

        The string id for the joint matrix source

      weight_source

        The string id for the weight source

      weight_joint_source

        The string id for the joint source of weights

      vcounts

        A list with the number of influences on each vertex

      vertex_weight_index

        An array with the indexes as they come from <v> array

      offsets

        A list with the offsets in the weight index array for each source in (joint, weight)

      geometry

        The source geometry this should be applied to (geometry.Geometry)

      controller_node

        XML node of the <controller> tag which is the parent of this

      skin_node

        XML node of the <skin> tag if this is from there

  Methods

  `__init__`(sourcebyid, bind_shape_matrix, ...) | Create a skin.
  `bind`(matrix, materialnodebysymbol) | Create a bound morph from this one, transform and material mapping
  `load`(collada, localscope, skinnode, ...) | Load and return a class instance from an XML node.
  `save`() | Put all the data to the internal xml node (xmlnode) so it can be serialized.

  Attributes

  `xmlnode` | ElementTree representation of the data.