Blender
V4.3
source
blender
compositor
operations
COM_BoxMaskOperation.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 "
COM_MultiThreadedOperation.h
"
8
9
namespace
blender::compositor
{
10
11
class
BoxMaskOperation
:
public
MultiThreadedOperation
{
12
private
:
13
using
MaskFunc = std::function<
float
(
bool
is_inside
,
const
float
*
mask
,
const
float
*value)>;
14
15
float
sine_;
16
float
cosine_;
17
float
aspect_ratio_;
18
int
mask_type_;
19
20
const
NodeBoxMask
*data_;
21
22
public
:
23
BoxMaskOperation
();
24
25
void
init_execution
()
override
;
26
27
void
set_data
(
const
NodeBoxMask
*
data
)
28
{
29
data_ =
data
;
30
}
31
32
void
set_mask_type
(
int
mask_type)
33
{
34
mask_type_ = mask_type;
35
}
36
37
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
38
const
rcti
&area,
39
Span<MemoryBuffer *>
inputs
)
override
;
40
41
private
:
42
void
apply_mask(
MemoryBuffer
*
output
,
43
const
rcti
&area,
44
Span<MemoryBuffer *>
inputs
,
45
MaskFunc mask_func);
46
};
47
48
}
// namespace blender::compositor
COM_MultiThreadedOperation.h
data
data
Definition
bmesh_operator_api_inline.hh:159
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::BoxMaskOperation::init_execution
void init_execution() override
Definition
COM_BoxMaskOperation.cc:17
blender::compositor::BoxMaskOperation::set_data
void set_data(const NodeBoxMask *data)
Definition
COM_BoxMaskOperation.h:27
blender::compositor::BoxMaskOperation::BoxMaskOperation
BoxMaskOperation()
Definition
COM_BoxMaskOperation.cc:9
blender::compositor::BoxMaskOperation::set_mask_type
void set_mask_type(int mask_type)
Definition
COM_BoxMaskOperation.h:32
blender::compositor::BoxMaskOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_BoxMaskOperation.cc:25
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultiThreadedOperation::MultiThreadedOperation
MultiThreadedOperation()
Definition
COM_MultiThreadedOperation.cc:10
float
draw_view in_light_buf[] float
Definition
eevee_light_culling_info.hh:42
is_inside
static bool is_inside(int x, int y, int cols, int rows)
Definition
filesel.cc:768
mask
ccl_device_inline float4 mask(const int4 mask, const float4 a)
Definition
math_float4.h:559
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
NodeBoxMask
Definition
DNA_node_types.h:1063
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0