14class CompositorContext;
22class NodeOperationInput;
23class NodeOperationOutput;
25class PreviewOperation;
27class ConstantOperation;
104 return active_viewer_;
144 void merge_equal_operations();
147#ifdef WITH_CXX_GUARDEDALLOC
148 MEM_CXX_CLASS_ALLOC_FUNCS(
"COM:NodeCompilerImpl")
153std::ostream &
operator<<(std::ostream &os,
const NodeOperationBuilder &builder);
154std::ostream &
operator<<(std::ostream &os,
const NodeOperationBuilder::Link &link);
Overall context of the compositor.
the ExecutionSystem contains the whole compositor tree.
NodeOperationOutput * from() const
Link(NodeOperationOutput *from, NodeOperationInput *to)
NodeOperationInput * to() const
void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket)
void convert_to_operations(ExecutionSystem *system)
void determine_canvases()
void register_viewer(ViewerOperation *viewer)
Span< Link > get_links() const
void add_preview(NodeOperationOutput *output)
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
void add_datatype_conversions()
Span< NodeOperation * > get_operations() const
void remove_input_link(NodeOperationInput *to)
void add_node_input_preview(NodeInput *input)
void replace_operation_with_constant(NodeOperation *operation, ConstantOperation *constant_operation)
void add_input_constant_value(NodeOperationInput *input, const NodeInput *node_input)
Vector< NodeOperationInput * > cache_output_links(NodeOperationOutput *output) const
NodeOperationBuilder(const CompositorContext *context, bNodeTree *b_nodetree, ExecutionSystem *system)
void add_operation(NodeOperation *operation)
ViewerOperation * active_viewer() const
void add_link(NodeOperationOutput *from, NodeOperationInput *to)
void add_operation_input_constants()
const CompositorContext & context() const
NodeOperation contains calculation logic.
NodeOutput are sockets that can send data/input.
std::ostream & operator<<(std::ostream &os, const eCompositorPriority &priority)