# collada.scene.LookAtTransform

class `collada.scene.``LookAtTransform`(eye, interest, upvector, xmlnode=None)

  Bases: `collada.scene.Transform`

  Contains a transformation for aiming a camera as defined in the collada <lookat> tag.

  `__init__`(eye, interest, upvector, xmlnode=None)

    Creates a lookat transformation

    Parameters:

    - eye (numpy.array) – An unshaped numpy array of floats of length 3 containing the position of the eye
    - interest (numpy.array) – An unshaped numpy array of floats of length 3 containing the point of interest
    - upvector (numpy.array) – An unshaped numpy array of floats of length 3 containing the up-axis direction
    - xmlnode – When loaded, the xmlnode it comes from

  Methods

  `__init__`(eye, interest, upvector[, xmlnode]) | Creates a lookat transformation
  `load`(collada, node) | 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.

  `eye` = None

    A numpy array of length 3 containing the position of the eye

  `interest` = None

    A numpy array of length 3 containing the point of interest

  `upvector` = None

    A numpy array of length 3 containing the up-axis direction

  `matrix` = None

    The resulting transformation matrix. This will be a numpy.array of size 4x4.

  `xmlnode` = None

    ElementTree representation of the transform.

  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

  `save`()

    Put all the data to the internal xml node (xmlnode) so it can be serialized.