Blender
V4.3
source
blender
compositor
nodes
COM_HueSaturationValueNode.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_HueSaturationValueNode.h
"
6
7
#include "
COM_ChangeHSVOperation.h
"
8
#include "
COM_ConvertOperation.h
"
9
#include "
COM_MixOperation.h
"
10
11
namespace
blender::compositor
{
12
13
HueSaturationValueNode::HueSaturationValueNode
(
bNode
*editor_node) :
Node
(editor_node)
14
{
15
/* pass */
16
}
17
18
void
HueSaturationValueNode::convert_to_operations
(
NodeConverter
&converter,
19
const
CompositorContext
&
/*context*/
)
const
20
{
21
NodeInput
*color_socket = this->
get_input_socket
(0);
22
NodeInput
*hue_socket = this->
get_input_socket
(1);
23
NodeInput
*saturation_socket = this->
get_input_socket
(2);
24
NodeInput
*value_socket = this->
get_input_socket
(3);
25
NodeInput
*fac_socket = this->
get_input_socket
(4);
26
NodeOutput
*output_socket = this->
get_output_socket
(0);
27
28
ConvertRGBToHSVOperation
*rgbToHSV =
new
ConvertRGBToHSVOperation
();
29
converter.
add_operation
(rgbToHSV);
30
31
ConvertHSVToRGBOperation
*hsvToRGB =
new
ConvertHSVToRGBOperation
();
32
converter.
add_operation
(hsvToRGB);
33
34
ChangeHSVOperation
*changeHSV =
new
ChangeHSVOperation
();
35
converter.
map_input_socket
(hue_socket, changeHSV->
get_input_socket
(1));
36
converter.
map_input_socket
(saturation_socket, changeHSV->
get_input_socket
(2));
37
converter.
map_input_socket
(value_socket, changeHSV->
get_input_socket
(3));
38
converter.
add_operation
(changeHSV);
39
40
MixBlendOperation
*
blend
=
new
MixBlendOperation
();
41
blend
->set_canvas_input_index(1);
42
converter.
add_operation
(
blend
);
43
44
converter.
map_input_socket
(color_socket, rgbToHSV->
get_input_socket
(0));
45
converter.
add_link
(rgbToHSV->
get_output_socket
(), changeHSV->
get_input_socket
(0));
46
converter.
add_link
(changeHSV->
get_output_socket
(), hsvToRGB->
get_input_socket
(0));
47
converter.
add_link
(hsvToRGB->
get_output_socket
(),
blend
->get_input_socket(2));
48
converter.
map_input_socket
(color_socket,
blend
->get_input_socket(1));
49
converter.
map_input_socket
(fac_socket,
blend
->get_input_socket(0));
50
converter.
map_output_socket
(output_socket,
blend
->get_output_socket());
51
}
52
53
}
// namespace blender::compositor
COM_ChangeHSVOperation.h
COM_ConvertOperation.h
COM_HueSaturationValueNode.h
COM_MixOperation.h
blender::compositor::ChangeHSVOperation
Definition
COM_ChangeHSVOperation.h:15
blender::compositor::CompositorContext
Overall context of the compositor.
Definition
COM_CompositorContext.h:27
blender::compositor::ConvertHSVToRGBOperation
Definition
COM_ConvertOperation.h:139
blender::compositor::ConvertRGBToHSVOperation
Definition
COM_ConvertOperation.h:131
blender::compositor::HueSaturationValueNode::HueSaturationValueNode
HueSaturationValueNode(bNode *editor_node)
Definition
COM_HueSaturationValueNode.cc:13
blender::compositor::HueSaturationValueNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition
COM_HueSaturationValueNode.cc:18
blender::compositor::MixBlendOperation
Definition
COM_MixOperation.h:79
blender::compositor::NodeConverter
Definition
COM_NodeConverter.h:29
blender::compositor::NodeConverter::add_link
void add_link(NodeOperationOutput *from, NodeOperationInput *to)
Definition
COM_NodeConverter.cc:36
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::NodeInput
NodeInput are sockets that can receive data/input.
Definition
COM_Node.h:191
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::NodeOutput
NodeOutput are sockets that can send data/input.
Definition
COM_Node.h:239
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
Definition
COM_JumpFloodingAlgorithm.cc:20
blend
blend
Definition
node_texture_proc.cc:274
bNode
Definition
DNA_node_types.h:357
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0