class_docstr: Python friendly wrapper of ``vtk.DataSetAttributes``.
  
  This class provides the ability to pick one of the present arrays as the
  currently active array for each attribute type by implementing a
  ``dict`` like interface.
  
  When adding data arrays but not desiring to set them as active
  scalars or vectors, use :func:`DataSetAttributes.set_array`.
  
  When adding directional data (such as velocity vectors), use
  :func:`DataSetAttributes.set_vectors`.
  
  When adding non-directional data (such as temperature values or
  multi-component scalars like RGBA values), use
  :func:`DataSetAttributes.set_scalars`.
  
  .. versionchanged:: 0.32.0
      The ``[]`` operator no longer allows integers.  Use
      :func:`DataSetAttributes.get_array` to retrieve an array
      using an index.
  
  Parameters
  ----------
  vtkobject : vtkFieldData
      The vtk object to wrap as a DataSetAttribute, usually an
      instance of ``vtk.vtkCellData``, ``vtk.vtkPointData``, or
      ``vtk.vtkFieldData``.
  
  dataset : vtkDataSet
      The vtkDataSet containing the vtkobject.
  
  association : FieldAssociation
      The array association type of the vtkobject.
  
  Notes
  -----
  When printing out the point arrays, you can see which arrays are
  the active scalars, vectors, normals, and texture coordinates.
  In the arrays list, ``SCALARS`` denotes that these are the active
  scalars, ``VECTORS`` denotes that these arrays are tagged as the
  active vectors data (i.e. data with magnitude and direction) and
  so on.
  
  Examples
  --------
  Store data with point association in a DataSet.
  
  >>> import pyvista as pv
  >>> mesh = pv.Cube()
  >>> mesh.point_data['my_data'] = range(mesh.n_points)
  >>> data = mesh.point_data['my_data']
  >>> data
  pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7])
  
  Change the data array and show that this is reflected in the DataSet.
  
  >>> data[:] = 0
  >>> mesh.point_data['my_data']
  pyvista_ndarray([0, 0, 0, 0, 0, 0, 0, 0])
  
  Remove the array.
  
  >>> del mesh.point_data['my_data']
  >>> 'my_data' in mesh.point_data
  False
  
  Print the available arrays from dataset attributes.
  
  >>> import numpy as np
  >>> mesh = pv.Plane(i_resolution=1, j_resolution=1)
  >>> mesh.point_data.set_array(range(4), 'my-data')
  >>> mesh.point_data.set_array(range(5, 9), 'my-other-data')
  >>> vectors0 = np.random.default_rng().random((4, 3))
  >>> mesh.point_data.set_vectors(vectors0, 'vectors0')
  >>> vectors1 = np.random.default_rng().random((4, 3))
  >>> mesh.point_data.set_vectors(vectors1, 'vectors1')
  >>> mesh.point_data
  pyvista DataSetAttributes
  Association     : POINT
  Active Scalars  : None
  Active Vectors  : vectors1
  Active Texture  : TextureCoordinates
  Active Normals  : Normals
  Contains arrays :
      Normals                 float32    (4, 3)               NORMALS
      TextureCoordinates      float32    (4, 2)               TCOORDS
      my-data                 int64      (4,)
      my-other-data           int64      (4,)
      vectors1                float64    (4, 3)               VECTORS
      vectors0                float64    (4, 3)
class_docstr_tok: ["Python","friendly","wrapper","of","``","vtk.DataSetAttributes","``",".","This","class","provides","the","ability","to","pick","one","of","the","present","arrays","as","the","currently","active","array","for","each","attribute","type","by","implementing","a","``","dict","``","like","interface",".","When","adding","data","arrays","but","not","desiring","to","set","them","as","active","scalars","or","vectors",",","use",":","func",":","`","DataSetAttributes.set_array","`",".","When","adding","directional","data","(","such","as","velocity","vectors",")",",","use",":","func",":","`","DataSetAttributes.set_vectors","`",".","When","adding","non-directional","data","(","such","as","temperature","values","or","multi-component","scalars","like","RGBA","values",")",",","use",":","func",":","`","DataSetAttributes.set_scalars","`",".","..","versionchanged",":",":","0.32.0","The","``","[","]","``","operator","no","longer","allows","integers",".","Use",":","func",":","`","DataSetAttributes.get_array","`","to","retrieve","an","array","using","an","index",".","Parameters","--","--","--","--","--","vtkobject",":","vtkFieldData","The","vtk","object","to","wrap","as","a","DataSetAttribute",",","usually","an","instance","of","``","vtk.vtkCellData","``",",","``","vtk.vtkPointData","``",",","or","``","vtk.vtkFieldData","``",".","dataset",":","vtkDataSet","The","vtkDataSet","containing","the","vtkobject",".","association",":","FieldAssociation","The","array","association","type","of","the","vtkobject",".","Notes","--","--","-","When","printing","out","the","point","arrays",",","you","can","see","which","arrays","are","the","active","scalars",",","vectors",",","normals",",","and","texture","coordinates",".","In","the","arrays","list",",","``","SCALARS","``","denotes","that","these","are","the","active","scalars",",","``","VECTORS","``","denotes","that","these","arrays","are","tagged","as","the","active","vectors","data","(","i.e",".","data","with","magnitude","and","direction",")","and","so","on",".","Examples","--","--","--","--","Store","data","with","point","association","in","a","DataSet",".",">",">",">","import","pyvista","as","pv",">",">",">","mesh","=","pv.Cube","(",")",">",">",">","mesh.point_data","[","'my_data","'","]","=","range","(","mesh.n_points",")",">",">",">","data","=","mesh.point_data","[","'my_data","'","]",">",">",">","data","pyvista_ndarray","(","[","0",",","1",",","2",",","3",",","4",",","5",",","6",",","7","]",")","Change","the","data","array","and","show","that","this","is","reflected","in","the","DataSet",".",">",">",">","data","[",":","]","=","0",">",">",">","mesh.point_data","[","'my_data","'","]","pyvista_ndarray","(","[","0",",","0",",","0",",","0",",","0",",","0",",","0",",","0","]",")","Remove","the","array",".",">",">",">","del","mesh.point_data","[","'my_data","'","]",">",">",">","'my_data","'","in","mesh.point_data","False","Print","the","available","arrays","from","dataset","attributes",".",">",">",">","import","numpy","as","np",">",">",">","mesh","=","pv.Plane","(","i_resolution=1",",","j_resolution=1",")",">",">",">","mesh.point_data.set_array","(","range","(","4",")",",","'my-data","'",")",">",">",">","mesh.point_data.set_array","(","range","(","5",",","9",")",",","'my-other-data","'",")",">",">",">","vectors0","=","np.random.default_rng","(",")",".random","(","(","4",",","3",")",")",">",">",">","mesh.point_data.set_vectors","(","vectors0",",","'vectors0","'",")",">",">",">","vectors1","=","np.random.default_rng","(",")",".random","(","(","4",",","3",")",")",">",">",">","mesh.point_data.set_vectors","(","vectors1",",","'vectors1","'",")",">",">",">","mesh.point_data","pyvista","DataSetAttributes","Association",":","POINT","Active","Scalars",":","None","Active","Vectors",":","vectors1","Active","Texture",":","TextureCoordinates","Active","Normals",":","Normals","Contains","arrays",":","Normals","float32","(","4",",","3",")","NORMALS","TextureCoordinates","float32","(","4",",","2",")","TCOORDS","my-data","int64","(","4",",",")","my-other-data","int64","(","4",",",")","vectors1","float64","(","4",",","3",")","VECTORS","vectors0","float64","(","4",",","3",")"]
docstr: Get an array in this object.
  
  Parameters
  ----------
  key : str | int
      The name or index of the array to return.  Arrays are
      ordered within VTK DataSetAttributes, and this feature is
      mirrored here.
  
  Returns
  -------
  pyvista.pyvista_ndarray
      Returns a :class:`pyvista.pyvista_ndarray`.
  
  Raises
  ------
  KeyError
      If the key does not exist.
  
  Notes
  -----
  This is provided since arrays are ordered within VTK and can
  be indexed via an int.  When getting an array, you can just
  use the key of the array with the ``[]`` operator with the
  name of the array.
  
  Examples
  --------
  Store data with point association in a DataSet.
  
  >>> import pyvista as pv
  >>> mesh = pv.Cube()
  >>> mesh.clear_data()
  >>> mesh.point_data['my_data'] = range(mesh.n_points)
  
  Access using an index.
  
  >>> mesh.point_data.get_array(0)
  pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7])
  
  Access using a key.
  
  >>> mesh.point_data.get_array('my_data')
  pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7])
docstr_tok: ["Get","an","array","in","this","object",".","Parameters","--","--","--","--","--","key",":","str","|","int","The","name","or","index","of","the","array","to","return",".","Arrays","are","ordered","within","VTK","DataSetAttributes",",","and","this","feature","is","mirrored","here",".","Returns","--","--","--","-","pyvista.pyvista_ndarray","Returns","a",":","class",":","`","pyvista.pyvista_ndarray","`",".","Raises","--","--","--","KeyError","If","the","key","does","not","exist",".","Notes","--","--","-","This","is","provided","since","arrays","are","ordered","within","VTK","and","can","be","indexed","via","an","int",".","When","getting","an","array",",","you","can","just","use","the","key","of","the","array","with","the","``","[","]","``","operator","with","the","name","of","the","array",".","Examples","--","--","--","--","Store","data","with","point","association","in","a","DataSet",".",">",">",">","import","pyvista","as","pv",">",">",">","mesh","=","pv.Cube","(",")",">",">",">","mesh.clear_data","(",")",">",">",">","mesh.point_data","[","'my_data","'","]","=","range","(","mesh.n_points",")","Access","using","an","index",".",">",">",">","mesh.point_data.get_array","(","0",")","pyvista_ndarray","(","[","0",",","1",",","2",",","3",",","4",",","5",",","6",",","7","]",")","Access","using","a","key",".",">",">",">","mesh.point_data.get_array","(","'my_data","'",")","pyvista_ndarray","(","[","0",",","1",",","2",",","3",",","4",",","5",",","6",",","7","]",")"]
code: def get_array(self, key: Union[str, int]) -> pyvista_ndarray:
      """Get an array in this object.
  
      Parameters
      ----------
      key : str | int
          The name or index of the array to return.  Arrays are
          ordered within VTK DataSetAttributes, and this feature is
          mirrored here.
  
      Returns
      -------
      pyvista.pyvista_ndarray
          Returns a :class:`pyvista.pyvista_ndarray`.
  
      Raises
      ------
      KeyError
          If the key does not exist.
  
      Notes
      -----
      This is provided since arrays are ordered within VTK and can
      be indexed via an int.  When getting an array, you can just
      use the key of the array with the ``[]`` operator with the
      name of the array.
  
      Examples
      --------
      Store data with point association in a DataSet.
  
      >>> import pyvista as pv
      >>> mesh = pv.Cube()
      >>> mesh.clear_data()
      >>> mesh.point_data['my_data'] = range(mesh.n_points)
  
      Access using an index.
  
      >>> mesh.point_data.get_array(0)
      pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7])
  
      Access using a key.
  
      >>> mesh.point_data.get_array('my_data')
      pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7])
  
      """
      self._raise_index_out_of_bounds(index=key)
      vtk_arr = self.GetArray(key)
      if vtk_arr is None:
          vtk_arr = self.GetAbstractArray(key)
          if vtk_arr is None:
              raise KeyError(f"{key}")
      narray = pyvista_ndarray(
          vtk_arr, dataset=self.dataset, association=self.association
      )
      return self._patch_type(narray)
  
imports: from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Tuple, Union
  import warnings
  import numpy
  from .None import _vtk_core
  from ._typing_core import Array, Matrix
  from .errors import PyVistaDeprecationWarning
  from .pyvista_ndarray import pyvista_ndarray
  from .utilities.arrays import FieldAssociation, convert_array, copy_vtk_array
label_desc: Use image node_id 18 for calling the DataSetAttributes obj's underlying member method code with example usage: obj.get_array(key) and returns: self