Blender
V3.3
|
#include "BLI_array.hh"
#include "BLI_index_mask.hh"
#include "BLI_kdtree.h"
#include "BLI_math_vector.h"
#include "BLI_math_vector.hh"
#include "BLI_vector.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BKE_customdata.h"
#include "BKE_mesh.h"
#include "GEO_mesh_merge_by_distance.hh"
Go to the source code of this file.
Classes | |
struct | blender::geometry::WeldGroup |
struct | blender::geometry::WeldGroupEdge |
struct | blender::geometry::WeldVert |
struct | blender::geometry::WeldEdge |
struct | blender::geometry::WeldLoop |
struct | blender::geometry::WeldPoly |
struct | blender::geometry::WeldMesh |
struct | blender::geometry::WeldLoopOfPolyIter |
struct | blender::geometry::WeldVertexCluster |
Namespaces | |
blender | |
blender::geometry | |
Macros | |
#define | OUT_OF_CONTEXT (int)(-1) |
#define | ELEM_COLLAPSED (int)(-2) |
#define | ELEM_MERGED (int)(-2) |
Functions | |
Vert API | |
static Vector< WeldVert > | blender::geometry::weld_vert_ctx_alloc_and_setup (Span< int > vert_dest_map, const int vert_kill_len) |
static void | blender::geometry::weld_vert_groups_setup (Span< WeldVert > wvert, Span< int > vert_dest_map, MutableSpan< int > r_vert_groups_map, Array< int > &r_vert_groups_buffer, Array< WeldGroup > &r_vert_groups) |
Edge API | |
static Vector< WeldEdge > | blender::geometry::weld_edge_ctx_alloc (Span< MEdge > medge, Span< int > vert_dest_map, MutableSpan< int > r_edge_dest_map, MutableSpan< int > r_edge_ctx_map) |
static void | blender::geometry::weld_edge_ctx_setup (MutableSpan< WeldGroup > r_vlinks, MutableSpan< int > r_edge_dest_map, MutableSpan< WeldEdge > r_wedge, int *r_edge_kiil_len) |
static void | blender::geometry::weld_edge_groups_setup (const int medge_len, const int edge_kill_len, MutableSpan< WeldEdge > wedge, Span< int > wedge_map, MutableSpan< int > r_edge_groups_map, Array< int > &r_edge_groups_buffer, Array< WeldGroupEdge > &r_edge_groups) |
Poly and Loop API | |
static bool | blender::geometry::weld_iter_loop_of_poly_begin (WeldLoopOfPolyIter &iter, const WeldPoly &wp, Span< WeldLoop > wloop, Span< MLoop > mloop, Span< int > loop_map, int *group_buffer) |
static bool | blender::geometry::weld_iter_loop_of_poly_next (WeldLoopOfPolyIter &iter) |
static void | blender::geometry::weld_poly_loop_ctx_alloc (Span< MPoly > mpoly, Span< MLoop > mloop, Span< int > vert_dest_map, Span< int > edge_dest_map, WeldMesh *r_weld_mesh) |
static void | blender::geometry::weld_poly_split_recursive (Span< int > vert_dest_map, int ctx_verts_len, WeldPoly *r_wp, WeldMesh *r_weld_mesh, int *r_poly_kill, int *r_loop_kill) |
static void | blender::geometry::weld_poly_loop_ctx_setup (Span< MLoop > mloop, const int mvert_len, Span< int > vert_dest_map, const int remain_edge_ctx_len, MutableSpan< WeldGroup > r_vlinks, WeldMesh *r_weld_mesh) |
Mesh API | |
static void | blender::geometry::weld_mesh_context_create (const Mesh &mesh, MutableSpan< int > vert_dest_map, const int vert_kill_len, WeldMesh *r_weld_mesh) |
CustomData | |
static void | blender::geometry::customdata_weld (const CustomData *source, CustomData *dest, const int *src_indices, int count, int dest_index) |
Mesh Vertex Merging | |
static Mesh * | blender::geometry::create_merged_mesh (const Mesh &mesh, MutableSpan< int > vert_dest_map, const int removed_vertex_count) |
Merge Map Creation | |
std::optional< Mesh * > | blender::geometry::mesh_merge_by_distance_all (const Mesh &mesh, IndexMask selection, float merge_distance) |
std::optional< Mesh * > | blender::geometry::mesh_merge_by_distance_connected (const Mesh &mesh, Span< bool > selection, float merge_distance, bool only_loose_edges) |
#define ELEM_COLLAPSED (int)(-2) |
Definition at line 26 of file mesh_merge_by_distance.cc.
#define ELEM_MERGED (int)(-2) |
Definition at line 28 of file mesh_merge_by_distance.cc.
#define OUT_OF_CONTEXT (int)(-1) |
Definition at line 24 of file mesh_merge_by_distance.cc.