Blender
V4.3
source
blender
geometry
GEO_reverse_uv_sampler.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 <optional>
8
9
#include "
BLI_math_vector_types.hh
"
10
#include "
BLI_multi_value_map.hh
"
11
#include "
BLI_span.hh
"
12
13
namespace
blender::geometry
{
14
20
class
ReverseUVSampler
{
21
public
:
22
struct
LookupGrid
;
23
24
private
:
25
Span<float2>
uv_map_;
26
Span<int3>
corner_tris_;
27
int
resolution_;
28
std::unique_ptr<LookupGrid> lookup_grid_;
29
30
public
:
31
ReverseUVSampler
(
Span<float2>
uv_map,
Span<int3>
corner_tris);
32
~ReverseUVSampler
();
33
34
enum class
ResultType
{
35
None
,
36
Ok
,
37
Multiple
,
38
};
39
40
struct
Result
{
41
ResultType
type =
ResultType::None
;
42
int
tri_index
= -1;
43
float3
bary_weights
;
44
};
45
46
Result
sample
(
const
float2
&query_uv)
const
;
47
void
sample_many
(
Span<float2>
query_uvs,
MutableSpan<Result>
r_results)
const
;
48
};
49
50
}
// namespace blender::geometry
BLI_math_vector_types.hh
BLI_multi_value_map.hh
BLI_span.hh
blender::MutableSpan
Definition
BLI_span.hh:444
blender::Span
Definition
BLI_span.hh:75
blender::geometry::ReverseUVSampler
Definition
GEO_reverse_uv_sampler.hh:20
blender::geometry::ReverseUVSampler::ResultType
ResultType
Definition
GEO_reverse_uv_sampler.hh:34
blender::geometry::ReverseUVSampler::ResultType::None
@ None
blender::geometry::ReverseUVSampler::ResultType::Multiple
@ Multiple
blender::geometry::ReverseUVSampler::ResultType::Ok
@ Ok
blender::geometry::ReverseUVSampler::~ReverseUVSampler
~ReverseUVSampler()
blender::geometry::ReverseUVSampler::ReverseUVSampler
ReverseUVSampler(Span< float2 > uv_map, Span< int3 > corner_tris)
Definition
reverse_uv_sampler.cc:178
blender::geometry::ReverseUVSampler::sample_many
void sample_many(Span< float2 > query_uvs, MutableSpan< Result > r_results) const
Definition
reverse_uv_sampler.cc:302
sample
uint sample
Definition
kernel/device/gpu/kernel.h:97
blender::geometry
Definition
GEO_add_curves_on_mesh.hh:17
blender::VecBase< float, 3 >
blender::geometry::ReverseUVSampler::LookupGrid
Definition
reverse_uv_sampler.cc:35
blender::geometry::ReverseUVSampler::Result
Definition
GEO_reverse_uv_sampler.hh:40
blender::geometry::ReverseUVSampler::Result::tri_index
int tri_index
Definition
GEO_reverse_uv_sampler.hh:42
blender::geometry::ReverseUVSampler::Result::bary_weights
float3 bary_weights
Definition
GEO_reverse_uv_sampler.hh:43
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0