Blender
V4.3
source
blender
compositor
nodes
COM_CombineXYZNode.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2021 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
COM_CombineXYZNode.h
"
6
7
#include "
COM_ConvertOperation.h
"
8
9
namespace
blender::compositor
{
10
11
CombineXYZNode::CombineXYZNode
(
bNode
*editor_node) :
Node
(editor_node) {}
12
13
void
CombineXYZNode::convert_to_operations
(
NodeConverter
&converter,
14
const
CompositorContext
&
/*context*/
)
const
15
{
16
NodeInput
*input_x_socket = this->
get_input_socket
(0);
17
NodeInput
*input_y_socket = this->
get_input_socket
(1);
18
NodeInput
*input_z_socket = this->
get_input_socket
(2);
19
NodeOutput
*output_socket = this->
get_output_socket
(0);
20
21
CombineChannelsOperation
*operation =
new
CombineChannelsOperation
();
22
if
(input_x_socket->
is_linked
()) {
23
operation->
set_canvas_input_index
(0);
24
}
25
else
if
(input_y_socket->
is_linked
()) {
26
operation->
set_canvas_input_index
(1);
27
}
28
else
{
29
operation->
set_canvas_input_index
(2);
30
}
31
converter.
add_operation
(operation);
32
33
converter.
map_input_socket
(input_x_socket, operation->
get_input_socket
(0));
34
converter.
map_input_socket
(input_y_socket, operation->
get_input_socket
(1));
35
converter.
map_input_socket
(input_z_socket, operation->
get_input_socket
(2));
36
converter.
map_output_socket
(output_socket, operation->
get_output_socket
());
37
}
38
39
}
// namespace blender::compositor
COM_CombineXYZNode.h
COM_ConvertOperation.h
blender::compositor::CombineChannelsOperation
Definition
COM_ConvertOperation.h:196
blender::compositor::CombineXYZNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition
COM_CombineXYZNode.cc:13
blender::compositor::CombineXYZNode::CombineXYZNode
CombineXYZNode(bNode *editor_node)
Definition
COM_CombineXYZNode.cc:11
blender::compositor::CompositorContext
Overall context of the compositor.
Definition
COM_CompositorContext.h:27
blender::compositor::NodeConverter
Definition
COM_NodeConverter.h:29
blender::compositor::NodeConverter::map_output_socket
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
Definition
COM_NodeConverter.cc:30
blender::compositor::NodeConverter::add_operation
void add_operation(NodeOperation *operation)
Definition
COM_NodeConverter.cc:20
blender::compositor::NodeConverter::map_input_socket
void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket)
Definition
COM_NodeConverter.cc:25
blender::compositor::NodeInput
NodeInput are sockets that can receive data/input.
Definition
COM_Node.h:191
blender::compositor::NodeInput::is_linked
bool is_linked() const
Definition
COM_Node.h:221
blender::compositor::NodeOperation::get_output_socket
NodeOperationOutput * get_output_socket(unsigned int index=0)
Definition
COM_NodeOperation.cc:87
blender::compositor::NodeOperation::get_input_socket
NodeOperationInput * get_input_socket(unsigned int index)
Definition
COM_NodeOperation.cc:92
blender::compositor::NodeOperation::set_canvas_input_index
void set_canvas_input_index(unsigned int index)
set the index of the input socket that will determine the canvas of this operation
Definition
COM_NodeOperation.cc:144
blender::compositor::NodeOutput
NodeOutput are sockets that can send data/input.
Definition
COM_Node.h:239
blender::compositor::Node
Definition
COM_Node.h:25
blender::compositor::Node::get_output_socket
NodeOutput * get_output_socket(unsigned int index=0) const
Definition
COM_Node.cc:85
blender::compositor::Node::get_input_socket
NodeInput * get_input_socket(unsigned int index) const
Definition
COM_Node.cc:90
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
bNode
Definition
DNA_node_types.h:357
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0