25using namespace nodes::derived_node_tree_types;
42 return std::numeric_limits<int>::max();
84 return schedule.contains(input.node()) && !compile_unit_.contains(input.node());
Result & get_result(StringRef identifier)
Operation(Context &context)
Context & context() const
StringRef get_output_identifier_from_output_socket(DOutputSocket output_socket)
Map< std::string, DOutputSocket > inputs_to_linked_outputs_map_
Map< std::string, int > inputs_to_reference_counts_map_
Map< std::string, DOutputSocket > & get_inputs_to_linked_outputs_map()
const Schedule & schedule_
int get_internal_input_reference_count(const StringRef &identifier)
VectorSet< DOutputSocket > preview_outputs_
void compute_preview() override
Map< DOutputSocket, std::string > output_sockets_to_output_identifiers_map_
PixelOperation(Context &context, PixelCompileUnit &compile_unit, const Schedule &schedule)
PixelCompileUnit compile_unit_
Map< ImplicitInput, std::string > implicit_inputs_to_input_identifiers_map_
static int maximum_number_of_outputs(Context &context)
void compute_results_reference_counts(const Schedule &schedule)
Map< ImplicitInput, std::string > & get_implicit_inputs_to_input_identifiers_map()
void set_reference_count(int count)
int number_of_inputs_linked_to_output_conditioned(DOutputSocket output, FunctionRef< bool(DInputSocket)> condition)
VectorSet< DNode > Schedule
VectorSet< DNode > PixelCompileUnit
void compute_preview(Context &context, const nodes::DNode &node, const Result &input_result)