Blender
V4.5
source
blender
compositor
cached_resources
COM_symmetric_separable_blur_weights.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include <cstdint>
8
#include <memory>
9
10
#include "
BLI_array.hh
"
11
#include "
BLI_map.hh
"
12
13
#include "
COM_cached_resource.hh
"
14
#include "
COM_result.hh
"
15
16
namespace
blender::compositor
{
17
18
class
Context
;
19
20
/* -------------------------------------------------------------------- */
23
24
class
SymmetricSeparableBlurWeightsKey
{
25
public
:
26
int
type
;
27
float
radius
;
28
29
SymmetricSeparableBlurWeightsKey
(
int
type
,
float
radius
);
30
31
uint64_t
hash
()
const
;
32
};
33
34
bool
operator==
(
const
SymmetricSeparableBlurWeightsKey
&a,
35
const
SymmetricSeparableBlurWeightsKey
&
b
);
36
38
39
/* -------------------------------------------------------------------- */
47
48
class
SymmetricSeparableBlurWeights
:
public
CachedResource
{
49
private
:
50
Array<float>
weights_;
51
52
public
:
53
Result
result
;
54
55
SymmetricSeparableBlurWeights
(
Context
&context,
int
type,
float
radius);
56
57
~SymmetricSeparableBlurWeights
();
58
};
59
61
62
/* -------------------------------------------------------------------- */
65
66
class
SymmetricSeparableBlurWeightsContainer
:
public
CachedResourceContainer
{
67
private
:
68
Map<SymmetricSeparableBlurWeightsKey, std::unique_ptr<SymmetricSeparableBlurWeights>
> map_;
69
70
public
:
71
void
reset
()
override
;
72
73
/* Check if there is an available SymmetricSeparableBlurWeights cached resource with the given
74
* parameters in the container, if one exists, return it, otherwise, return a newly created one
75
* and add it to the container. In both cases, tag the cached resource as needed to keep it
76
* cached for the next evaluation. */
77
Result
&
get
(
Context
&context,
int
type,
float
radius);
78
};
79
81
82
}
// namespace blender::compositor
BLI_array.hh
BLI_map.hh
COM_cached_resource.hh
COM_result.hh
uint64_t
unsigned long long int uint64_t
Definition
btConvexHullComputer.cpp:33
blender::Array
Definition
BLI_array.hh:50
blender::Map
Definition
BLI_map.hh:129
blender::compositor::CachedResourceContainer
Definition
COM_cached_resource.hh:43
blender::compositor::CachedResource
Definition
COM_cached_resource.hh:26
blender::compositor::Context
Definition
COM_context.hh:44
blender::compositor::Result
Definition
COM_result.hh:95
blender::compositor::SymmetricSeparableBlurWeightsContainer
Definition
COM_symmetric_separable_blur_weights.hh:66
blender::compositor::SymmetricSeparableBlurWeightsContainer::reset
void reset() override
Definition
symmetric_separable_blur_weights.cc:101
blender::compositor::SymmetricSeparableBlurWeightsContainer::get
Result & get(Context &context, int type, float radius)
Definition
symmetric_separable_blur_weights.cc:113
blender::compositor::SymmetricSeparableBlurWeightsKey
Definition
COM_symmetric_separable_blur_weights.hh:24
blender::compositor::SymmetricSeparableBlurWeightsKey::radius
float radius
Definition
COM_symmetric_separable_blur_weights.hh:27
blender::compositor::SymmetricSeparableBlurWeightsKey::SymmetricSeparableBlurWeightsKey
SymmetricSeparableBlurWeightsKey(int type, float radius)
Definition
symmetric_separable_blur_weights.cc:27
blender::compositor::SymmetricSeparableBlurWeightsKey::type
int type
Definition
COM_symmetric_separable_blur_weights.hh:26
blender::compositor::SymmetricSeparableBlurWeightsKey::hash
uint64_t hash() const
Definition
symmetric_separable_blur_weights.cc:32
blender::compositor::SymmetricSeparableBlurWeights::SymmetricSeparableBlurWeights
SymmetricSeparableBlurWeights(Context &context, int type, float radius)
Definition
symmetric_separable_blur_weights.cc:47
blender::compositor::SymmetricSeparableBlurWeights::result
Result result
Definition
COM_symmetric_separable_blur_weights.hh:53
b
b
Definition
compositor_morphological_distance_info.hh:24
blender::compositor
Definition
BKE_node.hh:76
blender::compositor::operator==
bool operator==(const BokehKernelKey &a, const BokehKernelKey &b)
Definition
bokeh_kernel.cc:44
Generated on
for Blender by
doxygen
1.18.0