class_docstr: Class that provides a series of GL functions that do not fit
  in the object oriented part of gloo. An instance of this class is
  associated with each canvas.
docstr: Set front or back function and reference value
  
  Parameters
  ----------
  func : str
      See set_stencil_func.
  ref : int
      Reference value for the stencil test.
  mask : int
      Mask that is ANDed with ref and stored stencil value.
  face : str
      Can be 'front', 'back', or 'front_and_back'.
docstr_tok: ["Set","front","or","back","function","and","reference","value","Parameters","--","--","--","--","--","func",":","str","See","set_stencil_func",".","ref",":","int","Reference","value","for","the","stencil","test",".","mask",":","int","Mask","that","is","ANDed","with","ref","and","stored","stencil","value",".","face",":","str","Can","be","'front","'",",","'back","'",",","or","'front_and_back","'","."]
code: def set_stencil_func(
      self, func="always", ref=0, mask=8, face="front_and_back"
  ):
      """Set front or back function and reference value
  
      Parameters
      ----------
      func : str
          See set_stencil_func.
      ref : int
          Reference value for the stencil test.
      mask : int
          Mask that is ANDed with ref and stored stencil value.
      face : str
          Can be 'front', 'back', or 'front_and_back'.
      """
      self.glir.command(
          "FUNC",
          "glStencilFuncSeparate",
          face,
          func,
          int(ref),
          int(mask),
      )
  
imports: import numpy
  from copy import deepcopy
  from .None import gl
  from ..color import Color
  from ..util import logger
label_desc: Use image node_id 15 for calling the BaseGlooFunctions obj's underlying member method code with example usage: obj.set_stencil_func(func, ref, mask, face) without return types