Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BLI_array.hh"
#include "BLI_index_range.hh"
#include "BLI_span.hh"
#include "BLI_vector.hh"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "DEG_depsgraph.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "GEO_mesh_merge_by_distance.hh"
Go to the source code of this file.
Functions | |
static Span< MDeformVert > | get_vertex_group (const Mesh &mesh, const int defgrp_index) |
static Vector< int64_t > | selected_indices_from_vertex_group (Span< MDeformVert > vertex_group, const int index, const bool invert) |
static Array< bool > | selection_array_from_vertex_group (Span< MDeformVert > vertex_group, const int index, const bool invert) |
static std::optional< Mesh * > | calculate_weld (const Mesh &mesh, const WeldModifierData &wmd) |
static Mesh * | modifyMesh (ModifierData *md, const ModifierEvalContext *UNUSED(ctx), Mesh *mesh) |
static void | initData (ModifierData *md) |
static void | requiredDataMask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | panelRegister (ARegionType *region_type) |
Variables | |
ModifierTypeInfo | modifierType_Weld |
Weld modifier: Remove doubles.
Definition in file MOD_weld.cc.
|
static |
Definition at line 97 of file MOD_weld.cc.
References BKE_id_defgroup_name_index(), BLI_assert_unreachable, WeldModifierData::defgrp_name, WeldModifierData::flag, get_vertex_group(), Mesh::id, invert(), blender::Span< T >::is_empty(), WeldModifierData::merge_dist, mesh, blender::geometry::mesh_merge_by_distance_all(), blender::geometry::mesh_merge_by_distance_connected(), MOD_WELD_INVERT_VGROUP, MOD_WELD_LOOSE_EDGES, MOD_WELD_MODE_ALL, MOD_WELD_MODE_CONNECTED, WeldModifierData::mode, selected_indices_from_vertex_group(), selection_array_from_vertex_group(), and Mesh::totvert.
Referenced by modifyMesh().
|
static |
Definition at line 58 of file MOD_weld.cc.
References CD_MDEFORMVERT, CustomData_get_layer(), mesh, Mesh::totvert, and Mesh::vdata.
Referenced by calculate_weld().
|
static |
Definition at line 141 of file MOD_weld.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 130 of file MOD_weld.cc.
References calculate_weld(), mesh, and result.
Definition at line 162 of file MOD_weld.cc.
References IFACE_, Panel::layout, MOD_WELD_MODE_CONNECTED, modifier_panel_end(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), ptr, RNA_enum_get(), uiItemR(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 182 of file MOD_weld.cc.
References eModifierType_Weld, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 150 of file MOD_weld.cc.
References CD_MASK_MDEFORMVERT, WeldModifierData::defgrp_name, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 71 of file MOD_weld.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_defvert_find_weight(), blender::Span< T >::index_range(), and invert().
Referenced by calculate_weld().
|
static |
Definition at line 85 of file MOD_weld.cc.
References BKE_defvert_find_weight(), blender::Span< T >::index_range(), invert(), and blender::Span< T >::size().
Referenced by calculate_weld().
ModifierTypeInfo modifierType_Weld |
Definition at line 187 of file MOD_weld.cc.