Blender
V4.3
source
blender
compositor
operations
COM_MultilayerImageOperation.h
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
#pragma once
6
7
#include <string>
8
9
#include "
COM_ImageOperation.h
"
10
11
namespace
blender::compositor
{
12
13
class
MultilayerBaseOperation
:
public
BaseImageOperation
{
14
protected
:
15
/* NOTE: The layer name is only used for meta-data. The image user's layer index defines which
16
* layer will be actually accessed for the image buffer. */
17
std::string
layer_name_
;
18
std::string
pass_name_
;
19
20
ImBuf
*
get_im_buf
()
override
;
21
22
public
:
23
MultilayerBaseOperation
() =
default
;
24
25
void
set_layer_name
(std::string layer_name)
26
{
27
layer_name_
= std::move(layer_name);
28
}
29
void
set_pass_name
(std::string pass_name)
30
{
31
pass_name_
= std::move(pass_name);
32
}
33
34
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
35
const
rcti
&area,
36
Span<MemoryBuffer *>
inputs
)
override
;
37
};
38
39
class
MultilayerColorOperation
:
public
MultilayerBaseOperation
{
40
public
:
41
MultilayerColorOperation
()
42
{
43
this->
add_output_socket
(
DataType::Color
);
44
}
45
std::unique_ptr<MetaData>
get_meta_data
()
override
;
46
};
47
48
class
MultilayerValueOperation
:
public
MultilayerBaseOperation
{
49
public
:
50
MultilayerValueOperation
()
51
{
52
this->
add_output_socket
(
DataType::Value
);
53
}
54
};
55
56
class
MultilayerVectorOperation
:
public
MultilayerBaseOperation
{
57
public
:
58
MultilayerVectorOperation
()
59
{
60
this->
add_output_socket
(
DataType::Vector
);
61
}
62
};
63
64
}
// namespace blender::compositor
COM_ImageOperation.h
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::BaseImageOperation::BaseImageOperation
BaseImageOperation()
Definition
COM_ImageOperation.cc:14
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultilayerBaseOperation::get_im_buf
ImBuf * get_im_buf() override
Definition
COM_MultilayerImageOperation.cc:13
blender::compositor::MultilayerBaseOperation::pass_name_
std::string pass_name_
Definition
COM_MultilayerImageOperation.h:18
blender::compositor::MultilayerBaseOperation::set_pass_name
void set_pass_name(std::string pass_name)
Definition
COM_MultilayerImageOperation.h:29
blender::compositor::MultilayerBaseOperation::set_layer_name
void set_layer_name(std::string layer_name)
Definition
COM_MultilayerImageOperation.h:25
blender::compositor::MultilayerBaseOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_MultilayerImageOperation.cc:29
blender::compositor::MultilayerBaseOperation::layer_name_
std::string layer_name_
Definition
COM_MultilayerImageOperation.h:17
blender::compositor::MultilayerBaseOperation::MultilayerBaseOperation
MultilayerBaseOperation()=default
blender::compositor::MultilayerColorOperation::MultilayerColorOperation
MultilayerColorOperation()
Definition
COM_MultilayerImageOperation.h:41
blender::compositor::MultilayerColorOperation::get_meta_data
std::unique_ptr< MetaData > get_meta_data() override
Definition
COM_MultilayerImageOperation.cc:41
blender::compositor::MultilayerValueOperation::MultilayerValueOperation
MultilayerValueOperation()
Definition
COM_MultilayerImageOperation.h:50
blender::compositor::MultilayerVectorOperation::MultilayerVectorOperation
MultilayerVectorOperation()
Definition
COM_MultilayerImageOperation.h:58
blender::compositor::NodeOperation::add_output_socket
void add_output_socket(DataType datatype)
Definition
COM_NodeOperation.cc:102
blender::compositor::DataType::Vector
@ Vector
Vector data type.
Definition
COM_defines.h:25
blender::compositor::DataType::Value
@ Value
Value data type.
Definition
COM_defines.h:23
blender::compositor::DataType::Color
@ Color
Color data type.
Definition
COM_defines.h:27
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
ImBuf
Definition
IMB_imbuf_types.hh:185
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0