Blender
V4.3
source
blender
compositor
nodes
COM_SocketProxyNode.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
COM_SocketProxyNode.h
"
6
7
namespace
blender::compositor
{
8
9
SocketProxyNode::SocketProxyNode
(
bNode
*editor_node,
10
bNodeSocket
*editor_input,
11
bNodeSocket
*editor_output,
12
bool
use_conversion)
13
:
Node
(editor_node,
false
), use_conversion_(use_conversion)
14
{
15
DataType
dt;
16
17
dt =
DataType::Value
;
18
if
(editor_input->
type
==
SOCK_RGBA
) {
19
dt =
DataType::Color
;
20
}
21
if
(editor_input->
type
==
SOCK_VECTOR
) {
22
dt =
DataType::Vector
;
23
}
24
this->
add_input_socket
(dt, editor_input);
25
26
dt =
DataType::Value
;
27
if
(editor_output->
type
==
SOCK_RGBA
) {
28
dt =
DataType::Color
;
29
}
30
if
(editor_output->
type
==
SOCK_VECTOR
) {
31
dt =
DataType::Vector
;
32
}
33
this->
add_output_socket
(dt, editor_output);
34
}
35
36
void
SocketProxyNode::convert_to_operations
(
NodeConverter
&converter,
37
const
CompositorContext
&
/*context*/
)
const
38
{
39
NodeOperationOutput
*proxy_output = converter.
add_input_proxy
(
get_input_socket
(0),
40
use_conversion_);
41
converter.
map_output_socket
(
get_output_socket
(), proxy_output);
42
}
43
44
}
// namespace blender::compositor
COM_SocketProxyNode.h
SOCK_VECTOR
@ SOCK_VECTOR
Definition
DNA_node_types.h:258
SOCK_RGBA
@ SOCK_RGBA
Definition
DNA_node_types.h:259
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_input_proxy
NodeOperationOutput * add_input_proxy(NodeInput *input, bool use_conversion)
Definition
COM_NodeConverter.cc:65
blender::compositor::NodeOperationOutput
Definition
COM_NodeOperation.h:134
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::add_output_socket
void add_output_socket(DataType datatype)
add an NodeOutput to the collection of output-sockets
Definition
COM_Node.cc:75
blender::compositor::Node::get_input_socket
NodeInput * get_input_socket(unsigned int index) const
Definition
COM_Node.cc:90
blender::compositor::Node::add_input_socket
void add_input_socket(DataType datatype)
add an NodeInput to the collection of input-sockets
Definition
COM_Node.cc:64
blender::compositor::SocketProxyNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition
COM_SocketProxyNode.cc:36
blender::compositor::SocketProxyNode::SocketProxyNode
SocketProxyNode(bNode *editor_node, bNodeSocket *editor_input, bNodeSocket *editor_output, bool use_conversion)
Definition
COM_SocketProxyNode.cc:9
false
false
Definition
eevee_depth_of_field_info.hh:134
blender::compositor::DataType
DataType
possible data types for sockets
Definition
COM_defines.h:21
blender::compositor::DataType::Vector
@ Vector
Vector data type.
blender::compositor::DataType::Value
@ Value
Value data type.
blender::compositor::DataType::Color
@ Color
Color data type.
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
bNodeSocket
Definition
DNA_node_types.h:121
bNodeSocket::type
short type
Definition
DNA_node_types.h:139
bNode
Definition
DNA_node_types.h:357
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0