Blender
V4.3
source
blender
compositor
nodes
COM_SwitchViewNode.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2015 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
COM_SwitchViewNode.h
"
6
7
namespace
blender::compositor
{
8
9
SwitchViewNode::SwitchViewNode
(
bNode
*editor_node) :
Node
(editor_node)
10
{
11
/* pass */
12
}
13
14
void
SwitchViewNode::convert_to_operations
(
NodeConverter
&converter,
15
const
CompositorContext
&context)
const
16
{
17
NodeOperationOutput
*
result
;
18
const
char
*view_name = context.get_view_name();
19
const
bNode
*bnode = this->
get_bnode
();
20
21
/* get the internal index of the socket with a matching name */
22
int
nr =
BLI_findstringindex
(&bnode->
inputs
, view_name,
offsetof
(
bNodeSocket
, name));
23
nr = std::max(nr, 0);
24
25
result = converter.
add_input_proxy
(
get_input_socket
(nr),
false
);
26
converter.
map_output_socket
(
get_output_socket
(0), result);
27
}
28
29
}
// namespace blender::compositor
result
double result
Definition
BLI_expr_pylike_eval_test.cc:351
BLI_findstringindex
int BLI_findstringindex(const struct ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
COM_SwitchViewNode.h
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::get_input_socket
NodeInput * get_input_socket(unsigned int index) const
Definition
COM_Node.cc:90
blender::compositor::Node::get_bnode
const bNode * get_bnode() const
get the reference to the SDNA bNode struct
Definition
COM_Node.h:65
blender::compositor::SwitchViewNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition
COM_SwitchViewNode.cc:14
blender::compositor::SwitchViewNode::SwitchViewNode
SwitchViewNode(bNode *editor_node)
Definition
COM_SwitchViewNode.cc:9
offsetof
#define offsetof(t, d)
Definition
device/metal/compat.h:69
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
bNodeSocket
Definition
DNA_node_types.h:121
bNode
Definition
DNA_node_types.h:357
bNode::inputs
ListBase inputs
Definition
DNA_node_types.h:361
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0