docs: def gftfov(inst, target, tshape, tframe, abcorr, obsrvr, step, cnfine, result=None):
      """
      Determine time intervals when a specified ephemeris object
      intersects the space bounded by the field-of-view (FOV) of a
      specified instrument.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/gftfov_c.html
  
      :param inst: Name of the instrument.
      :type inst: str
      :param target: Name of the target body.
      :type target: str
      :param tshape: Type of shape model used for target body.
      :type tshape: str
      :param tframe: Body-fixed, body-centered frame for target body.
      :type tframe: str
      :param abcorr: Aberration correction flag.
      :type abcorr: str
      :param obsrvr: Name of the observing body.
      :type obsrvr: str
      :param step: Step size in seconds for finding FOV events.
      :type step: float
      :param cnfine: SPICE window to which the search is restricted.
      :type cnfine: spiceypy.utils.support_types.SpiceCell
      :return: SpiceCell containing set of time  intervals, within the confinement period, when the target body is visible
      :rtype: spiceypy.utils.support_types.SpiceCell
      """
      assert isinstance(cnfine, stypes.SpiceCell)
      assert cnfine.is_double()
      if result is None:
          result = stypes.SPICEDOUBLE_CELL(20000)
      else:
          assert isinstance(result, stypes.SpiceCell)
          assert result.is_double()
      inst   = stypes.stringToCharP(inst)
      target = stypes.stringToCharP(target)
      tshape = stypes.stringToCharP(tshape)
      tframe = stypes.stringToCharP(tframe)
      abcorr = stypes.stringToCharP(abcorr)
      obsrvr = stypes.stringToCharP(obsrvr)
      step = ctypes.c_double(step)
      libspice.gftfov_c(inst, target, tshape, tframe, abcorr, obsrvr, step,
                        ctypes.byref(cnfine), ctypes.byref(result))
      return result