Blender
V5.0
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 "
BLI_math_vector_types.hh
"
8
#include "
BLI_span.hh
"
9
10
namespace
blender::geometry
{
11
17
class
ReverseUVSampler
{
18
public
:
19
struct
LookupGrid
;
20
21
private
:
22
Span<float2>
uv_map_;
23
Span<int3>
corner_tris_;
24
int
resolution_;
25
std::unique_ptr<LookupGrid> lookup_grid_;
26
27
public
:
28
ReverseUVSampler
(
Span<float2>
uv_map,
Span<int3>
corner_tris);
29
~ReverseUVSampler
();
30
31
enum class
ResultType
{
32
None
,
33
Ok
,
34
Multiple
,
35
};
36
37
struct
Result
{
38
ResultType
type
=
ResultType::None
;
39
int
tri_index
= -1;
40
float3
bary_weights
;
41
};
42
43
Result
sample
(
const
float2
&query_uv)
const
;
44
void
sample_many
(
Span<float2>
query_uvs,
MutableSpan<Result>
r_results)
const
;
45
};
46
47
}
// namespace blender::geometry
BLI_math_vector_types.hh
BLI_span.hh
blender::MutableSpan
Definition
BLI_span.hh:443
blender::Span
Definition
BLI_span.hh:74
blender::ed::sculpt_paint::ReverseUVSampler::ReverseUVSampler
ReverseUVSampler(Span< float2 > uv_map, Span< int3 > corner_tris)
Definition
reverse_uv_sampler.cc:177
blender::geometry::ReverseUVSampler::ResultType
ResultType
Definition
GEO_reverse_uv_sampler.hh:31
blender::geometry::ReverseUVSampler::ResultType::None
@ None
Definition
GEO_reverse_uv_sampler.hh:32
blender::geometry::ReverseUVSampler::ResultType::Multiple
@ Multiple
Definition
GEO_reverse_uv_sampler.hh:34
blender::geometry::ReverseUVSampler::ResultType::Ok
@ Ok
Definition
GEO_reverse_uv_sampler.hh:33
blender::geometry::ReverseUVSampler::~ReverseUVSampler
~ReverseUVSampler()
blender::geometry::ReverseUVSampler::ReverseUVSampler
ReverseUVSampler(Span< float2 > uv_map, Span< int3 > corner_tris)
Definition
reverse_uv_sampler.cc:177
blender::geometry::ReverseUVSampler::sample_many
void sample_many(Span< float2 > query_uvs, MutableSpan< Result > r_results) const
Definition
reverse_uv_sampler.cc:301
sample
uint sample
Definition
kernel/device/gpu/kernel.h:98
blender::geometry
Definition
GEO_add_curves_on_mesh.hh:17
blender::float2
VecBase< float, 2 > float2
Definition
BLI_math_vector_types.hh:618
blender::float3
VecBase< float, 3 > float3
Definition
BLI_math_vector_types.hh:619
blender::ed::sculpt_paint::ReverseUVSampler::LookupGrid
Definition
reverse_uv_sampler.cc:34
blender::ed::sculpt_paint::ReverseUVSampler::Result
Definition
GEO_reverse_uv_sampler.hh:37
blender::geometry::ReverseUVSampler::Result
Definition
GEO_reverse_uv_sampler.hh:37
blender::geometry::ReverseUVSampler::Result::tri_index
int tri_index
Definition
GEO_reverse_uv_sampler.hh:39
blender::geometry::ReverseUVSampler::Result::bary_weights
float3 bary_weights
Definition
GEO_reverse_uv_sampler.hh:40
blender::geometry::ReverseUVSampler::Result::type
ResultType type
Definition
GEO_reverse_uv_sampler.hh:38
Generated on
for Blender by
doxygen
1.16.1