Blender V5.0
mesh_calc_edges.cc File Reference
#include "BLI_array_utils.hh"
#include "BLI_math_base.h"
#include "BLI_ordered_edge.hh"
#include "BLI_task.hh"
#include "BLI_threads.h"
#include "BLI_vector_set.hh"
#include "BKE_attribute.hh"
#include "BKE_attribute_filter.hh"
#include "BKE_attribute_math.hh"
#include "BKE_customdata.hh"
#include "BKE_mesh.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::bke
namespace  blender::bke::calc_edges

Typedefs

using blender::bke::calc_edges::EdgeMap

Functions

static uint64_t blender::bke::calc_edges::edge_hash_2 (const OrderedEdge &edge)
static void blender::bke::calc_edges::reserve_hash_maps (const Mesh &mesh, const bool keep_existing_edges, MutableSpan< EdgeMap > edge_maps)
static OffsetIndices< int > blender::bke::calc_edges::edge_map_offsets (const Span< EdgeMap > maps, Array< int > &r_sizes)
static int blender::bke::calc_edges::edge_to_hash_map_i (const OrderedEdge edge, const uint32_t parallel_mask)
static void blender::bke::calc_edges::add_existing_edges_to_hash_maps (const Mesh &mesh, const uint32_t parallel_mask, MutableSpan< EdgeMap > edge_maps)
static void blender::bke::calc_edges::add_face_edges_to_hash_maps (const Mesh &mesh, const uint32_t parallel_mask, MutableSpan< EdgeMap > edge_maps)
static void blender::bke::calc_edges::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 blender::bke::calc_edges::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 blender::bke::calc_edges::get_parallel_maps_count (const Mesh &mesh)
static void blender::bke::calc_edges::clear_hash_tables (MutableSpan< EdgeMap > edge_maps)
static IndexMask blender::bke::calc_edges::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 blender::bke::calc_edges::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)
Topology Queries
void blender::bke::mesh_calc_edges (Mesh &mesh, bool keep_existing_edges, bool select_new_edges, const AttributeFilter &attribute_filter)
void blender::bke::mesh_calc_edges (Mesh &mesh, bool keep_existing_edges, bool select_new_edges)