|
Blender V4.3
|
#include <GEO_reverse_uv_sampler.hh>
Classes | |
| struct | LookupGrid |
| struct | Result |
Public Types | |
| enum class | ResultType { None , Ok , Multiple } |
Public Member Functions | |
| ReverseUVSampler (Span< float2 > uv_map, Span< int3 > corner_tris) | |
| ~ReverseUVSampler () | |
| Result | sample (const float2 &query_uv) const |
| void | sample_many (Span< float2 > query_uvs, MutableSpan< Result > r_results) const |
Can find the polygon/triangle that maps to a specific uv coordinate.
Definition at line 20 of file GEO_reverse_uv_sampler.hh.
|
strong |
| Enumerator | |
|---|---|
| None | |
| Ok | |
| Multiple | |
Definition at line 34 of file GEO_reverse_uv_sampler.hh.
| blender::geometry::ReverseUVSampler::ReverseUVSampler | ( | Span< float2 > | uv_map, |
| Span< int3 > | corner_tris ) |
Definition at line 178 of file reverse_uv_sampler.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), blender::geometry::finish_rows(), blender::Span< T >::is_empty(), blender::Bounds< T >::max, blender::Bounds< T >::min, blender::bounds::min_max(), blender::Span< T >::size(), and blender::geometry::sort_tris_into_rows().
|
default |
| ReverseUVSampler::Result blender::geometry::ReverseUVSampler::sample | ( | const float2 & | query_uv | ) | const |
Definition at line 234 of file reverse_uv_sampler.cc.
References area_tri_v2(), barycentric_coords_v2(), blender::math::clamp(), FLT_MAX, blender::geometry::lookup_tris_in_cell(), Multiple, Ok, and blender::geometry::uv_to_cell().
Referenced by blender::geometry::calc_position_with_interpolation(), and blender::ed::sculpt_paint::SlideOperationExecutor::find_curves_to_slide().
| void blender::geometry::ReverseUVSampler::sample_many | ( | Span< float2 > | query_uvs, |
| MutableSpan< Result > | r_results ) const |
Definition at line 302 of file reverse_uv_sampler.cc.
References BLI_assert, blender::Span< T >::index_range(), blender::threading::parallel_for(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by blender::nodes::node_geo_deform_curves_on_surface_cc::deform_curves().