code: def _activate_texture(mesh, name):
          
          if name == True or isinstance(name, int):
              keys = list(mesh.textures.keys())
              # Grab the first name availabe if True
              idx = 0 if not isinstance(name, int) or name == True else name
              if idx > len(keys):
                  idx = 0
              try:
                  name = keys[idx]
              except IndexError:
                  logging.warning('No textures associated with input mesh.')
                  return None
          # Grab the texture object by name
          try:
              texture = mesh.textures[name]
          except KeyError:
              logging.warning('Texture ({}) not associated with this dataset'.format(name))
              texture = None
          else:
              # Be sure to reset the tcoords if present
              # Grab old coordinates
              if name in mesh.scalar_names:
                  old_tcoord = mesh.GetPointData().GetTCoords()
                  mesh.GetPointData().SetTCoords(mesh.GetPointData().GetArray(name))
                  mesh.GetPointData().AddArray(old_tcoord)
                  mesh.Modified()
          return texture
docs: Grab a texture and update the active texture coordinates. This makes
          sure to not destroy old texture coordinates
  
          Parameters
          ----------
          name : str
              The name of the texture and texture coordinates to activate
  
          Return
          ------
          vtk.vtkTexture : The active texture