class_docstr: A FiftyOne operator.
  
  Operators represent an operation and the details of how to execute it.
  
  FiftyOne operators contain enough information for a user interface to
  render a form or button allowing a user to execute the operation.
class_docstr_tok: ["A","FiftyOne","operator",".","Operators","represent","an","operation","and","the","details","of","how","to","execute","it",".","FiftyOne","operators","contain","enough","information","for","a","user","interface","to","render","a","form","or","button","allowing","a","user","to","execute","the","operation","."]
docstr: Returns a resolved definition of the operator.
  
  The resolved definition is a clone of the default definition using
  :meth:`resolve_input` and :meth:`resolve_output` to resolve the inputs
  and output properties of the operator.
  
  Passing ``resolve_dynamic=False`` allows resolution of dynamic
  operators to be deferred to execution time. If the operator
  ``is_dyanmic`` and ``resolve_dynamic`` is False, a clone of default
  definition is returned.
  
  Args:
      resolve_dynamic: whether to resolve dynamic inputs and outputs
      ctx: the :class:`fiftyone.operators.executor.ExecutionContext`
  
  Returns:
      a definition :class:`fiftyone.operators.types.Object`
docstr_tok: ["Returns","a","resolved","definition","of","the","operator",".","The","resolved","definition","is","a","clone","of","the","default","definition","using",":","meth",":","`","resolve_input","`","and",":","meth",":","`","resolve_output","`","to","resolve","the","inputs","and","output","properties","of","the","operator",".","Passing","``","resolve_dynamic=False","``","allows","resolution","of","dynamic","operators","to","be","deferred","to","execution","time",".","If","the","operator","``","is_dyanmic","``","and","``","resolve_dynamic","``","is","False",",","a","clone","of","default","definition","is","returned",".","Args",":","resolve_dynamic",":","whether","to","resolve","dynamic","inputs","and","outputs","ctx",":","the",":","class",":","`","fiftyone.operators.executor.ExecutionContext","`","Returns",":","a","definition",":","class",":","`","fiftyone.operators.types.Object","`"]
code: def resolve_definition(self, resolve_dynamic, ctx):
      """Returns a resolved definition of the operator.
  
      The resolved definition is a clone of the default definition using
      :meth:`resolve_input` and :meth:`resolve_output` to resolve the inputs
      and output properties of the operator.
  
      Passing ``resolve_dynamic=False`` allows resolution of dynamic
      operators to be deferred to execution time. If the operator
      ``is_dyanmic`` and ``resolve_dynamic`` is False, a clone of default
      definition is returned.
  
      Args:
          resolve_dynamic: whether to resolve dynamic inputs and outputs
          ctx: the :class:`fiftyone.operators.executor.ExecutionContext`
  
      Returns:
          a definition :class:`fiftyone.operators.types.Object`
      """
      definition = self.definition.clone()
      if self.config.dynamic and not resolve_dynamic:
          return definition
  
      # pylint: disable=assignment-from-none
      input_property = self.resolve_type(ctx, "inputs")
      output_property = self.resolve_type(ctx, "outputs")
  
      if input_property is not None:
          definition.add_property("inputs", input_property)
  
      if output_property is not None:
          definition.add_property("outputs", output_property)
  
      return definition
  
imports: from .types import Object, PromptView
label_desc: Use image node_id 6 for calling the Operator obj's underlying member method code with example usage: obj.resolve_definition(resolve_dynamic, ctx) and returns: definition, definition