class_docstr: Methods common to all wrapped data objects.
  
  Parameters
  ----------
  *args :
      Any extra args are passed as option to all wrapped data objects.
  
  **kwargs :
      Any extra keyword args are passed as option to all wrapped data objects.
docstr: Add field data.
  
  Use field data when size of the data you wish to associate
  with the dataset does not match the number of points or cells
  of the dataset.
  
  Parameters
  ----------
  array : sequence
      Array of data to add to the dataset as a field array.
  
  name : str
      Name to assign the field array.
  
  deep : bool, default: True
      Perform a deep copy of the data when adding it to the
      dataset.
  
  Examples
  --------
  Add field data to a PolyData dataset.
  
  >>> import pyvista as pv
  >>> import numpy as np
  >>> mesh = pv.Sphere()
  >>> mesh.add_field_data(np.arange(10), 'my-field-data')
  >>> mesh['my-field-data']
  pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  
  Add field data to a ImageData dataset.
  
  >>> mesh = pv.ImageData(dimensions=(2, 2, 1))
  >>> mesh.add_field_data(
  ...     ['I could', 'write', 'notes', 'here'], 'my-field-data'
  ... )
  >>> mesh['my-field-data']
  pyvista_ndarray(['I could', 'write', 'notes', 'here'], dtype='<U7')
  
  Add field data to a MultiBlock dataset.
  
  >>> blocks = pv.MultiBlock()
  >>> blocks.append(pv.Sphere())
  >>> blocks["cube"] = pv.Cube(center=(0, 0, -1))
  >>> blocks.add_field_data([1, 2, 3], 'my-field-data')
  >>> blocks.field_data['my-field-data']
  pyvista_ndarray([1, 2, 3])
code: def add_field_data(
      self, array: np.ndarray, name: str, deep: bool = True
  ):
      """Add field data.
  
      Use field data when size of the data you wish to associate
      with the dataset does not match the number of points or cells
      of the dataset.
  
      Parameters
      ----------
      array : sequence
          Array of data to add to the dataset as a field array.
  
      name : str
          Name to assign the field array.
  
      deep : bool, default: True
          Perform a deep copy of the data when adding it to the
          dataset.
  
      Examples
      --------
      Add field data to a PolyData dataset.
  
      >>> import pyvista as pv
      >>> import numpy as np
      >>> mesh = pv.Sphere()
      >>> mesh.add_field_data(np.arange(10), 'my-field-data')
      >>> mesh['my-field-data']
      pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  
      Add field data to a ImageData dataset.
  
      >>> mesh = pv.ImageData(dimensions=(2, 2, 1))
      >>> mesh.add_field_data(
      ...     ['I could', 'write', 'notes', 'here'], 'my-field-data'
      ... )
      >>> mesh['my-field-data']
      pyvista_ndarray(['I could', 'write', 'notes', 'here'], dtype='<U7')
  
      Add field data to a MultiBlock dataset.
  
      >>> blocks = pv.MultiBlock()
      >>> blocks.append(pv.Sphere())
      >>> blocks["cube"] = pv.Cube(center=(0, 0, -1))
      >>> blocks.add_field_data([1, 2, 3], 'my-field-data')
      >>> blocks.field_data['my-field-data']
      pyvista_ndarray([1, 2, 3])
  
      """
      if not hasattr(self, "field_data"):
          raise NotImplementedError(
              f"`{type(self)}` does not support field data"
          )
  
      self.field_data.set_array(array, name, deep_copy=deep)
  
imports: from abc import abstractmethod
  import collections.abc
  from pathlib import Path
  from typing import Any, DefaultDict, Dict, Optional, Type, Union
  import numpy
  import pyvista
  from .None import _vtk_core
  from ._typing_core import NumpyArray
  from .datasetattributes import DataSetAttributes
  from .utilities.arrays import FieldAssociation
  from .utilities.fileio import read, set_vtkwriter_mode
  from .utilities.helpers import wrap
  from .utilities.misc import abstract_class
label_desc: Use image node_id 17 for calling the DataObject obj's underlying member method code with example usage: obj.add_field_data(array, name, deep) without return types