Blender
V2.93
source
blender
compositor
nodes
COM_SwitchViewNode.cc
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* Copyright 2015, Blender Foundation.
17
*/
18
19
#include "
COM_SwitchViewNode.h
"
20
#include "
BLI_listbase.h
"
21
22
namespace
blender::compositor
{
23
24
SwitchViewNode::SwitchViewNode
(
bNode
*editorNode) :
Node
(editorNode)
25
{
26
/* pass */
27
}
28
29
void
SwitchViewNode::convertToOperations
(
NodeConverter
&converter,
30
const
CompositorContext
&
context
)
const
31
{
32
NodeOperationOutput
*
result
;
33
const
char
*viewName =
context
.getViewName();
34
bNode
*bnode = this->
getbNode
();
35
36
/* get the internal index of the socket with a matching name */
37
int
nr =
BLI_findstringindex
(&bnode->
inputs
, viewName, offsetof(
bNodeSocket
, name));
38
nr =
MAX2
(nr, 0);
39
40
result
= converter.
addInputProxy
(
getInputSocket
(nr),
false
);
41
converter.
mapOutputSocket
(
getOutputSocket
(0),
result
);
42
}
43
44
}
// namespace blender::compositor
result
double result
Definition:
BLI_expr_pylike_eval_test.cc:348
BLI_listbase.h
BLI_findstringindex
int BLI_findstringindex(const struct ListBase *listbase, const char *id, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MAX2
#define MAX2(a, b)
Definition:
BLI_utildefines.h:110
COM_SwitchViewNode.h
blender::compositor::CompositorContext
Overall context of the compositor.
Definition:
COM_CompositorContext.h:37
blender::compositor::NodeConverter
Definition:
COM_NodeConverter.h:43
blender::compositor::NodeConverter::addInputProxy
NodeOperationOutput * addInputProxy(NodeInput *input, bool use_conversion)
Definition:
COM_NodeConverter.cc:82
blender::compositor::NodeConverter::mapOutputSocket
void mapOutputSocket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
Definition:
COM_NodeConverter.cc:48
blender::compositor::NodeOperationOutput
Definition:
COM_NodeOperation.h:143
blender::compositor::Node
Definition:
COM_Node.h:42
blender::compositor::Node::getOutputSocket
NodeOutput * getOutputSocket(const unsigned int index=0) const
Definition:
COM_Node.cc:108
blender::compositor::Node::getbNode
bNode * getbNode() const
get the reference to the SDNA bNode struct
Definition:
COM_Node.h:82
blender::compositor::Node::getInputSocket
NodeInput * getInputSocket(const unsigned int index) const
Definition:
COM_Node.cc:113
blender::compositor::SwitchViewNode::convertToOperations
void convertToOperations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition:
COM_SwitchViewNode.cc:29
blender::compositor::SwitchViewNode::SwitchViewNode
SwitchViewNode(bNode *editorNode)
Definition:
COM_SwitchViewNode.cc:24
blender::compositor
Definition:
COM_defines.h:21
blender::compositor::context
cl_context context
Definition:
COM_WorkScheduler.cc:90
bNodeSocket
Definition:
DNA_node_types.h:82
bNode
Definition:
DNA_node_types.h:212
bNode::inputs
ListBase inputs
Definition:
DNA_node_types.h:238
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1