Blender
V4.3
source
blender
compositor
nodes
COM_KeyingScreenNode.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_KeyingScreenNode.h
"
6
#include "
COM_KeyingScreenOperation.h
"
7
8
namespace
blender::compositor
{
9
10
KeyingScreenNode::KeyingScreenNode
(
bNode
*editor_node) :
Node
(editor_node)
11
{
12
/* pass */
13
}
14
15
void
KeyingScreenNode::convert_to_operations
(
NodeConverter
&converter,
16
const
CompositorContext
&context)
const
17
{
18
const
bNode
*editor_node = this->
get_bnode
();
19
MovieClip
*clip = (
MovieClip
*)editor_node->
id
;
20
NodeKeyingScreenData
*keyingscreen_data = (
NodeKeyingScreenData
*)editor_node->
storage
;
21
22
NodeOutput
*output_screen = this->
get_output_socket
(0);
23
24
/* Always connect the output image. */
25
KeyingScreenOperation
*operation =
new
KeyingScreenOperation
();
26
operation->
set_movie_clip
(clip);
27
operation->
set_tracking_object
(keyingscreen_data->
tracking_object
);
28
operation->
set_smoothness
(keyingscreen_data->
smoothness
);
29
operation->
set_framenumber
(context.get_framenumber());
30
converter.
add_operation
(operation);
31
32
converter.
map_output_socket
(output_screen, operation->
get_output_socket
());
33
}
34
35
}
// namespace blender::compositor
COM_KeyingScreenNode.h
COM_KeyingScreenOperation.h
blender::compositor::CompositorContext
Overall context of the compositor.
Definition
COM_CompositorContext.h:27
blender::compositor::KeyingScreenNode::KeyingScreenNode
KeyingScreenNode(bNode *editor_node)
Definition
COM_KeyingScreenNode.cc:10
blender::compositor::KeyingScreenNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition
COM_KeyingScreenNode.cc:15
blender::compositor::KeyingScreenOperation
Definition
COM_KeyingScreenOperation.h:24
blender::compositor::KeyingScreenOperation::set_tracking_object
void set_tracking_object(const char *object)
Definition
COM_KeyingScreenOperation.h:54
blender::compositor::KeyingScreenOperation::set_framenumber
void set_framenumber(int framenumber)
Definition
COM_KeyingScreenOperation.h:62
blender::compositor::KeyingScreenOperation::set_movie_clip
void set_movie_clip(MovieClip *clip)
Definition
COM_KeyingScreenOperation.h:50
blender::compositor::KeyingScreenOperation::set_smoothness
void set_smoothness(float smoothness)
Definition
COM_KeyingScreenOperation.h:58
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::NodeOperation::get_output_socket
NodeOperationOutput * get_output_socket(unsigned int index=0)
Definition
COM_NodeOperation.cc:87
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_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
MovieClip
Definition
DNA_movieclip_types.h:55
NodeKeyingScreenData
Definition
DNA_node_types.h:1431
NodeKeyingScreenData::smoothness
float smoothness
Definition
DNA_node_types.h:1433
NodeKeyingScreenData::tracking_object
char tracking_object[64]
Definition
DNA_node_types.h:1432
bNode
Definition
DNA_node_types.h:357
bNode::id
struct ID * id
Definition
DNA_node_types.h:414
bNode::storage
void * storage
Definition
DNA_node_types.h:417
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0