Blender
V3.3
source
blender
compositor
nodes
COM_ColorCurveNode.cc
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2011 Blender Foundation. */
3
4
#include "
COM_ColorCurveNode.h
"
5
#include "
COM_ColorCurveOperation.h
"
6
7
namespace
blender::compositor
{
8
9
ColorCurveNode::ColorCurveNode
(
bNode
*editor_node) :
Node
(editor_node)
10
{
11
/* pass */
12
}
13
14
void
ColorCurveNode::convert_to_operations
(
NodeConverter
&converter,
15
const
CompositorContext
&
/*context*/
)
const
16
{
17
if
(this->
get_input_socket
(2)->is_linked() || this->
get_input_socket
(3)->is_linked()) {
18
ColorCurveOperation
*operation =
new
ColorCurveOperation
();
19
operation->
set_curve_mapping
((
CurveMapping
*)this->
get_bnode
()->storage);
20
converter.
add_operation
(operation);
21
22
converter.
map_input_socket
(
get_input_socket
(0), operation->
get_input_socket
(0));
23
converter.
map_input_socket
(
get_input_socket
(1), operation->
get_input_socket
(1));
24
converter.
map_input_socket
(
get_input_socket
(2), operation->
get_input_socket
(2));
25
converter.
map_input_socket
(
get_input_socket
(3), operation->
get_input_socket
(3));
26
27
converter.
map_output_socket
(
get_output_socket
(0), operation->
get_output_socket
());
28
}
29
else
{
30
ConstantLevelColorCurveOperation
*operation =
new
ConstantLevelColorCurveOperation
();
31
float
col
[4];
32
this->
get_input_socket
(2)->
get_editor_value_color
(col);
33
operation->
set_black_level
(
col
);
34
this->
get_input_socket
(3)->
get_editor_value_color
(col);
35
operation->
set_white_level
(
col
);
36
operation->
set_curve_mapping
((
CurveMapping
*)this->
get_bnode
()->storage);
37
converter.
add_operation
(operation);
38
39
converter.
map_input_socket
(
get_input_socket
(0), operation->
get_input_socket
(0));
40
converter.
map_input_socket
(
get_input_socket
(1), operation->
get_input_socket
(1));
41
converter.
map_output_socket
(
get_output_socket
(0), operation->
get_output_socket
());
42
}
43
}
44
45
}
// namespace blender::compositor
COM_ColorCurveNode.h
COM_ColorCurveOperation.h
blender::compositor::ColorCurveNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition:
COM_ColorCurveNode.cc:14
blender::compositor::ColorCurveNode::ColorCurveNode
ColorCurveNode(bNode *editor_node)
Definition:
COM_ColorCurveNode.cc:9
blender::compositor::ColorCurveOperation
Definition:
COM_ColorCurveOperation.h:10
blender::compositor::CompositorContext
Overall context of the compositor.
Definition:
COM_CompositorContext.h:19
blender::compositor::ConstantLevelColorCurveOperation
Definition:
COM_ColorCurveOperation.h:43
blender::compositor::ConstantLevelColorCurveOperation::set_black_level
void set_black_level(float black[3])
Definition:
COM_ColorCurveOperation.h:71
blender::compositor::ConstantLevelColorCurveOperation::set_white_level
void set_white_level(float white[3])
Definition:
COM_ColorCurveOperation.h:75
blender::compositor::CurveBaseOperation::set_curve_mapping
void set_curve_mapping(CurveMapping *mapping)
Definition:
COM_CurveBaseOperation.cc:36
blender::compositor::NodeConverter
Definition:
COM_NodeConverter.h:28
blender::compositor::NodeConverter::map_output_socket
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
Definition:
COM_NodeConverter.cc:31
blender::compositor::NodeConverter::add_operation
void add_operation(NodeOperation *operation)
Definition:
COM_NodeConverter.cc:21
blender::compositor::NodeConverter::map_input_socket
void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket)
Definition:
COM_NodeConverter.cc:26
blender::compositor::NodeInput::get_editor_value_color
void get_editor_value_color(float *value) const
Definition:
COM_Node.cc:142
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
Definition:
COM_Node.h:24
blender::compositor::Node::get_output_socket
NodeOutput * get_output_socket(unsigned int index=0) const
Definition:
COM_Node.cc:84
blender::compositor::Node::get_bnode
bNode * get_bnode() const
get the reference to the SDNA bNode struct
Definition:
COM_Node.h:64
blender::compositor::Node::get_input_socket
NodeInput * get_input_socket(unsigned int index) const
Definition:
COM_Node.cc:89
col
uint col
Definition:
gpu_batch_presets.c:54
blender::compositor
Definition:
COM_defines.h:10
CurveMapping
Definition:
DNA_color_types.h:59
bNode
Definition:
DNA_node_types.h:252
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1