Blender
V4.3
source
blender
compositor
nodes
COM_ConvertAlphaNode.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2012 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
COM_ConvertAlphaNode.h
"
6
#include "
COM_ConvertOperation.h
"
7
8
namespace
blender::compositor
{
9
10
void
ConvertAlphaNode::convert_to_operations
(
NodeConverter
&converter,
11
const
CompositorContext
&
/*context*/
)
const
12
{
13
NodeOperation
*operation =
nullptr
;
14
const
bNode
*node = this->
get_bnode
();
15
16
/* Value hardcoded in `rna_nodetree.cc`. */
17
if
(node->
custom1
== 1) {
18
operation =
new
ConvertPremulToStraightOperation
();
19
}
20
else
{
21
operation =
new
ConvertStraightToPremulOperation
();
22
}
23
24
converter.
add_operation
(operation);
25
26
converter.
map_input_socket
(
get_input_socket
(0), operation->
get_input_socket
(0));
27
converter.
map_output_socket
(
get_output_socket
(0), operation->
get_output_socket
());
28
}
29
30
}
// namespace blender::compositor
COM_ConvertAlphaNode.h
COM_ConvertOperation.h
blender::compositor::CompositorContext
Overall context of the compositor.
Definition
COM_CompositorContext.h:27
blender::compositor::ConvertAlphaNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition
COM_ConvertAlphaNode.cc:10
blender::compositor::ConvertPremulToStraightOperation
Definition
COM_ConvertOperation.h:163
blender::compositor::ConvertStraightToPremulOperation
Definition
COM_ConvertOperation.h:171
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::NodeOperation
NodeOperation contains calculation logic.
Definition
COM_NodeOperation.h:265
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::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
Definition
COM_JumpFloodingAlgorithm.cc:20
bNode
Definition
DNA_node_types.h:357
bNode::custom1
int16_t custom1
Definition
DNA_node_types.h:400
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0