class_docstr: Abstract base class for classes used to interpolate on a triangular grid.
  
  Derived classes implement the following methods:
  
  - ``__call__(x, y)``,
    where x, y are array-like point coordinates of the same shape, and
    that returns a masked array of the same shape containing the
    interpolated z-values.
  
  - ``gradient(x, y)``,
    where x, y are array-like point coordinates of the same
    shape, and that returns a list of 2 masked arrays of the same shape
    containing the 2 derivatives of the interpolator (derivatives of
    interpolated z values with respect to x and y).
class_docstr_tok: ["Abstract","base","class","for","classes","used","to","interpolate","on","a","triangular","grid",".","Derived","classes","implement","the","following","methods",":","-","``","__call__","(","x",",","y",")","``",",","where","x",",","y","are","array-like","point","coordinates","of","the","same","shape",",","and","that","returns","a","masked","array","of","the","same","shape","containing","the","interpolated","z-values",".","-","``","gradient","(","x",",","y",")","``",",","where","x",",","y","are","array-like","point","coordinates","of","the","same","shape",",","and","that","returns","a","list","of","2","masked","arrays","of","the","same","shape","containing","the","2","derivatives","of","the","interpolator","(","derivatives","of","interpolated","z","values","with","respect","to","x","and","y",")","."]
docstr: Interpolate at points belonging to the triangulation
  (inside an unmasked triangles).
  
  Parameters
  ----------
  return_key : {'z', 'dzdx', 'dzdy'}
      The requested values (z or its derivatives).
  tri_index : 1D int array
      Valid triangle index (cannot be -1).
  x, y : 1D arrays, same shape as `tri_index`
      Valid locations where interpolation is requested.
  
  Returns
  -------
  1-d array
      Returned array of the same size as *tri_index*
docstr_tok: ["Interpolate","at","points","belonging","to","the","triangulation","(","inside","an","unmasked","triangles",")",".","Parameters","--","--","--","--","--","return_key",":","{","'","z","'",",","'dzdx","'",",","'dzdy","'","}","The","requested","values","(","z","or","its","derivatives",")",".","tri_index",":","1D","int","array","Valid","triangle","index","(","can","not","be","-1",")",".","x",",","y",":","1D","arrays",",","same","shape","as","`","tri_index","`","Valid","locations","where","interpolation","is","requested",".","Returns","--","--","--","-","1-d","array","Returned","array","of","the","same","size","as","*","tri_index","*"]
code: def _interpolate_single_key(self, return_key, tri_index, x, y):
      """
      Interpolate at points belonging to the triangulation
      (inside an unmasked triangles).
  
      Parameters
      ----------
      return_key : {'z', 'dzdx', 'dzdy'}
          The requested values (z or its derivatives).
      tri_index : 1D int array
          Valid triangle index (cannot be -1).
      x, y : 1D arrays, same shape as `tri_index`
          Valid locations where interpolation is requested.
  
      Returns
      -------
      1-d array
          Returned array of the same size as *tri_index*
      """
      raise NotImplementedError(
          "TriInterpolator subclasses"
          + "should implement _interpolate_single_key!"
      )
  
imports: import numpy
  from matplotlib import _api
  from matplotlib.tri import Triangulation
  from matplotlib.tri._trifinder import TriFinder
  from matplotlib.tri._tritools import TriAnalyzer
label_desc: Use image node_id 3 for calling the TriInterpolator obj's underlying member method code with example usage: obj._interpolate_single_key(return_key, tri_index, x, y) without return types