Blender V4.3
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
11#include "BLI_span.hh"
12
13namespace blender::geometry {
14
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);
33
34 enum class ResultType {
35 None,
36 Ok,
38 };
39
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
ReverseUVSampler(Span< float2 > uv_map, Span< int3 > corner_tris)
void sample_many(Span< float2 > query_uvs, MutableSpan< Result > r_results) const