class_docstr: BaseTransform subclass that performs a sequence of transformations in
  order. Internally, this class uses shaders.FunctionChain to generate
  its glsl_map and glsl_imap functions.
  
  Parameters
  ----------
  transforms : list of BaseTransform instances
      See ``transforms`` property.
class_docstr_tok: ["BaseTransform","subclass","that","performs","a","sequence","of","transformations","in","order",".","Internally",",","this","class","uses","shaders.FunctionChain","to","generate","its","glsl_map","and","glsl_imap","functions",".","Parameters","--","--","--","--","--","transforms",":","list","of","BaseTransform","instances","See","``","transforms","``","property","."]
docstr: Add a new transform to the end of this chain.
  
  Parameters
  ----------
  tr : instance of Transform
      The transform to use.
docstr_tok: ["Add","a","new","transform","to","the","end","of","this","chain",".","Parameters","--","--","--","--","--","tr",":","instance","of","Transform","The","transform","to","use","."]
code: def append(self, tr):
      """
      Add a new transform to the end of this chain.
  
      Parameters
      ----------
      tr : instance of Transform
          The transform to use.
      """
      self.transforms.append(tr)
      tr.changed.connect(self._subtr_changed)
      self._rebuild_shaders()
      self.update()
  
imports: from __future__ import division
  from ..shaders import FunctionChain
  from .base_transform import BaseTransform
  from .linear import NullTransform
label_desc: Use image node_id 14 for calling the ChainTransform obj's underlying member method code with example usage: obj.append(tr) without return types