Blender
V3.3
source
blender
compositor
nodes
COM_SceneTimeNode.cc
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2022 Blender Foundation. */
3
4
#include "
COM_SceneTimeNode.h
"
5
6
#include "
COM_SetValueOperation.h
"
7
8
namespace
blender::compositor
{
9
10
SceneTimeNode::SceneTimeNode
(
bNode
*editor_node) :
Node
(editor_node)
11
{
12
/* pass */
13
}
14
15
void
SceneTimeNode::convert_to_operations
(
NodeConverter
&converter,
16
const
CompositorContext
&
context
)
const
17
{
18
SetValueOperation
*SecondOperation =
new
SetValueOperation
();
19
SetValueOperation
*frameOperation =
new
SetValueOperation
();
20
21
const
int
frameNumber =
context
.get_framenumber();
22
const
Scene
*
scene
=
context
.get_scene();
23
const
double
frameRate = (((
double
)
scene
->
r
.
frs_sec
) / (
double
)
scene
->
r
.
frs_sec_base
);
24
25
SecondOperation->
set_value
(
float
(frameNumber / frameRate));
26
converter.
add_operation
(SecondOperation);
27
28
frameOperation->
set_value
(frameNumber);
29
converter.
add_operation
(frameOperation);
30
31
converter.
map_output_socket
(
get_output_socket
(0), SecondOperation->
get_output_socket
());
32
converter.
map_output_socket
(
get_output_socket
(1), frameOperation->
get_output_socket
());
33
}
34
35
}
// namespace blender::compositor
double
typedef double(DMatrix)[4][4]
COM_SceneTimeNode.h
COM_SetValueOperation.h
blender::compositor::CompositorContext
Overall context of the compositor.
Definition:
COM_CompositorContext.h:19
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::NodeOperation::get_output_socket
NodeOperationOutput * get_output_socket(unsigned int index=0)
Definition:
COM_NodeOperation.cc:87
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::SceneTimeNode::convert_to_operations
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
Definition:
COM_SceneTimeNode.cc:15
blender::compositor::SceneTimeNode::SceneTimeNode
SceneTimeNode(bNode *editor_node)
Definition:
COM_SceneTimeNode.cc:10
blender::compositor::SetValueOperation
Definition:
COM_SetValueOperation.h:14
blender::compositor::SetValueOperation::set_value
void set_value(float value)
Definition:
COM_SetValueOperation.h:33
scene
Scene scene
Definition:
deg_eval_copy_on_write.cc:106
blender::compositor
Definition:
COM_defines.h:10
blender::compositor::context
cl_context context
Definition:
COM_WorkScheduler.cc:73
RenderData::frs_sec
short frs_sec
Definition:
DNA_scene_types.h:674
RenderData::frs_sec_base
float frs_sec_base
Definition:
DNA_scene_types.h:699
Scene
Definition:
DNA_scene_types.h:1739
Scene::r
struct RenderData r
Definition:
DNA_scene_types.h:1781
bNode
Definition:
DNA_node_types.h:252
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1