Blender V4.3
COM_NodeConverter.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2013 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#ifdef WITH_CXX_GUARDEDALLOC
8# include "MEM_guardedalloc.h"
9#endif
10
11namespace blender::compositor {
12
13class NodeInput;
14class NodeOutput;
15
16class NodeOperation;
17class NodeOperationInput;
18class NodeOperationOutput;
19class NodeOperationBuilder;
20
21class ViewerOperation;
22
30 public:
32
37 void add_operation(NodeOperation *operation);
38
46 void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket);
55 void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket);
56
62 NodeOperationOutput *add_input_proxy(NodeInput *input, bool use_conversion);
68 NodeOperationInput *add_output_proxy(NodeOutput *output, bool use_conversion);
69
71 void add_input_value(NodeOperationInput *input, float value);
73 void add_input_color(NodeOperationInput *input, const float value[4]);
75 void add_input_vector(NodeOperationInput *input, const float value[3]);
76
78 void add_output_value(NodeOutput *output, float value);
80 void add_output_color(NodeOutput *output, const float value[4]);
82 void add_output_vector(NodeOutput *output, const float value[3]);
83
86
88 void add_preview(NodeOperationOutput *output);
91
97
99 void register_viewer(ViewerOperation *viewer);
102
103 private:
105 NodeOperationBuilder *builder_;
106
107#ifdef WITH_CXX_GUARDEDALLOC
108 MEM_CXX_CLASS_ALLOC_FUNCS("COM:NodeCompiler")
109#endif
110};
111
112} // namespace blender::compositor
Read Guarded memory(de)allocation.
void add_link(NodeOperationOutput *from, NodeOperationInput *to)
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
void add_input_color(NodeOperationInput *input, const float value[4])
NodeOperationOutput * add_input_proxy(NodeInput *input, bool use_conversion)
void add_preview(NodeOperationOutput *output)
void register_viewer(ViewerOperation *viewer)
NodeConverter(NodeOperationBuilder *builder)
void add_node_input_preview(NodeInput *input)
void add_input_value(NodeOperationInput *input, float value)
NodeOperationInput * add_output_proxy(NodeOutput *output, bool use_conversion)
void add_operation(NodeOperation *operation)
void add_output_value(NodeOutput *output, float value)
void add_output_vector(NodeOutput *output, const float value[3])
void add_output_color(NodeOutput *output, const float value[4])
NodeOperation * set_invalid_output(NodeOutput *output)
void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket)
void add_input_vector(NodeOperationInput *input, const float value[3])
ViewerOperation * active_viewer() const
NodeInput are sockets that can receive data/input.
Definition COM_Node.h:191
NodeOperation contains calculation logic.
NodeOutput are sockets that can send data/input.
Definition COM_Node.h:239