|
Blender V5.0
|
Typedefs | |
| using | EdgeMap |
Functions | |
| static uint64_t | edge_hash_2 (const OrderedEdge &edge) |
| static void | reserve_hash_maps (const Mesh &mesh, const bool keep_existing_edges, MutableSpan< EdgeMap > edge_maps) |
| static OffsetIndices< int > | edge_map_offsets (const Span< EdgeMap > maps, Array< int > &r_sizes) |
| static int | edge_to_hash_map_i (const OrderedEdge edge, const uint32_t parallel_mask) |
| static void | add_existing_edges_to_hash_maps (const Mesh &mesh, const uint32_t parallel_mask, MutableSpan< EdgeMap > edge_maps) |
| static void | add_face_edges_to_hash_maps (const Mesh &mesh, const uint32_t parallel_mask, MutableSpan< EdgeMap > edge_maps) |
| static void | serialize_and_initialize_deduplicated_edges (MutableSpan< EdgeMap > edge_maps, const OffsetIndices< int > edge_offsets, const OffsetIndices< int > prefix_skip_offsets, MutableSpan< int2 > new_edges) |
| static void | update_edge_indices_in_face_loops (const OffsetIndices< int > faces, const Span< int > corner_verts, const Span< EdgeMap > edge_maps, const uint32_t parallel_mask, const OffsetIndices< int > edge_offsets, MutableSpan< int > corner_edges) |
| static int | get_parallel_maps_count (const Mesh &mesh) |
| static void | clear_hash_tables (MutableSpan< EdgeMap > edge_maps) |
| static IndexMask | mask_first_distinct_edges (const Span< int2 > edges, const IndexMask &edges_to_check, const Span< EdgeMap > edge_maps, const uint32_t parallel_mask, const OffsetIndices< int > edge_offsets, IndexMaskMemory &memory) |
| static void | map_edge_to_span_index (const Span< int2 > edges, const Span< EdgeMap > edge_maps, const uint32_t parallel_mask, const OffsetIndices< int > edge_offsets, MutableSpan< int > indices) |
Definition at line 35 of file mesh_calc_edges.cc.
|
static |
Definition at line 66 of file mesh_calc_edges.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::MutableSpan< T >::data(), edge_to_hash_map_i(), and blender::threading::parallel_for_each().
Referenced by blender::bke::mesh_calc_edges().
|
static |
Definition at line 84 of file mesh_calc_edges.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::MutableSpan< T >::data(), edge_to_hash_map_i(), blender::bke::mesh::face_corner_prev(), faces, and blender::threading::parallel_for_each().
Referenced by blender::bke::mesh_calc_edges().
|
static |
Definition at line 170 of file mesh_calc_edges.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), clear_hash_tables(), and blender::threading::parallel_for_each().
Referenced by clear_hash_tables(), and blender::bke::mesh_calc_edges().
|
static |
Return a hash value that is likely to be different in the low bits from the normal hash() function. This is necessary to avoid collisions in mesh_calc_edges.
Definition at line 30 of file mesh_calc_edges.cc.
References blender::OrderedEdge::v_low.
Referenced by edge_to_hash_map_i().
|
static |
Definition at line 52 of file mesh_calc_edges.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::Span< T >::index_range(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), and blender::Span< T >::size().
Referenced by blender::bke::mesh_calc_edges().
|
static |
Definition at line 61 of file mesh_calc_edges.cc.
References edge_hash_2().
Referenced by add_existing_edges_to_hash_maps(), add_face_edges_to_hash_maps(), mask_first_distinct_edges(), and blender::bke::mesh_calc_edges().
|
static |
Definition at line 158 of file mesh_calc_edges.cc.
References BLI_system_thread_count(), get_parallel_maps_count(), and power_of_2_min_i().
Referenced by get_parallel_maps_count(), and blender::bke::mesh_calc_edges().
|
static |
Definition at line 212 of file mesh_calc_edges.cc.
References blender::Span< T >::index_range(), indices, map_edge_to_span_index(), and blender::threading::parallel_for_each().
Referenced by map_edge_to_span_index(), and blender::bke::mesh_calc_edges().
|
static |
Definition at line 175 of file mesh_calc_edges.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), edge_to_hash_map_i(), blender::index_mask::IndexMask::foreach_index_optimized(), blender::IndexMask::from_predicate(), blender::index_mask::IndexMask::is_empty(), mask_first_distinct_edges(), blender::math::min(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by mask_first_distinct_edges(), and blender::bke::mesh_calc_edges().
|
static |
Definition at line 43 of file mesh_calc_edges.cc.
References blender::threading::parallel_for_each(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), and blender::MutableSpan< T >::size().
Referenced by blender::bke::mesh_calc_edges().
|
static |
Definition at line 107 of file mesh_calc_edges.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), blender::MutableSpan< T >::copy_from(), blender::MutableSpan< T >::data(), blender::IndexRange::from_begin_size(), blender::threading::parallel_for_each(), blender::IndexRange::size(), size(), blender::MutableSpan< T >::slice(), and blender::IndexRange::start().
Referenced by blender::bke::mesh_calc_edges().
|
static |
Definition at line 134 of file mesh_calc_edges.cc.
References faces, and blender::threading::parallel_for().
Referenced by blender::bke::mesh_calc_edges().