Blender
V3.3
source
blender
compositor
nodes
COM_LensDistortionNode.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_LensDistortionNode.h
"
5
#include "
COM_ProjectorLensDistortionOperation.h
"
6
#include "
COM_ScreenLensDistortionOperation.h
"
7
8
namespace
blender::compositor
{
9
10
LensDistortionNode::LensDistortionNode
(
bNode
*editor_node) :
Node
(editor_node)
11
{
12
/* pass */
13
}
14
15
void
LensDistortionNode::convert_to_operations
(
NodeConverter
&converter,
16
const
CompositorContext
&
/*context*/
)
const
17
{
18
bNode
*editor_node = this->
get_bnode
();
19
NodeLensDist
*
data
= (
NodeLensDist
*)editor_node->
storage
;
20
if
(
data
->proj) {
21
ProjectorLensDistortionOperation
*operation =
new
ProjectorLensDistortionOperation
();
22
converter.
add_operation
(operation);
23
24
converter.
map_input_socket
(
get_input_socket
(0), operation->
get_input_socket
(0));
25
converter.
map_input_socket
(
get_input_socket
(2), operation->
get_input_socket
(1));
26
converter.
map_output_socket
(
get_output_socket
(0), operation->
get_output_socket
(0));
27
}
28
else
{
29
ScreenLensDistortionOperation
*operation =
new
ScreenLensDistortionOperation
();
30
operation->
set_fit
(
data
->fit);
31
operation->
set_jitter
(
data
->jit);
32
33
if
(!
get_input_socket
(1)->is_linked()) {
34
operation->
set_distortion
(
get_input_socket
(1)->get_editor_value_float());
35
}
36
if
(!
get_input_socket
(2)->is_linked()) {
37
operation->
set_dispersion
(
get_input_socket
(2)->get_editor_value_float());
38
}
39
40
converter.
add_operation
(operation);
41
42
converter.
map_input_socket
(
get_input_socket
(0), operation->
get_input_socket
(0));
43
converter.
map_input_socket
(
get_input_socket
(1), operation->
get_input_socket
(1));
44
converter.
map_input_socket
(
get_input_socket
(2), operation->
get_input_socket
(2));
45
converter.
map_output_socket
(
get_output_socket
(0), operation->
get_output_socket
(0));
46
}
47
}
48
49
}
// namespace blender::compositor
COM_LensDistortionNode.h
COM_ProjectorLensDistortionOperation.h
COM_ScreenLensDistortionOperation.h
data
data
Definition:
bmesh_operator_api_inline.h:157
if
if(data)
Definition:
bmesh_operator_api_inline.h:158
blender::compositor::CompositorContext
Overall context of the compositor.
Definition:
COM_CompositorContext.h:19
blender::compositor::LensDistortionNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition:
COM_LensDistortionNode.cc:15
blender::compositor::LensDistortionNode::LensDistortionNode
LensDistortionNode(bNode *editor_node)
Definition:
COM_LensDistortionNode.cc:10
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::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
blender::compositor::ProjectorLensDistortionOperation
Definition:
COM_ProjectorLensDistortionOperation.h:11
blender::compositor::ScreenLensDistortionOperation
Definition:
COM_ScreenLensDistortionOperation.h:13
blender::compositor::ScreenLensDistortionOperation::set_distortion
void set_distortion(float distortion)
Definition:
COM_ScreenLensDistortionOperation.cc:29
blender::compositor::ScreenLensDistortionOperation::set_fit
void set_fit(bool fit)
Definition:
COM_ScreenLensDistortionOperation.h:56
blender::compositor::ScreenLensDistortionOperation::set_dispersion
void set_dispersion(float dispersion)
Definition:
COM_ScreenLensDistortionOperation.cc:35
blender::compositor::ScreenLensDistortionOperation::set_jitter
void set_jitter(bool jitter)
Definition:
COM_ScreenLensDistortionOperation.h:60
blender::compositor
Definition:
COM_defines.h:10
NodeLensDist
Definition:
DNA_node_types.h:868
bNode
Definition:
DNA_node_types.h:252
bNode::storage
void * storage
Definition:
DNA_node_types.h:283
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1