|
Blender V4.3
|
#include "MEM_guardedalloc.h"#include "BLI_utildefines.h"#include "BLI_array_utils.hh"#include "BLI_listbase.h"#include "BLT_translation.hh"#include "DNA_armature_types.h"#include "DNA_defaults.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_modifier_types.h"#include "DNA_object_types.h"#include "DNA_screen_types.h"#include "BKE_action.hh"#include "BKE_customdata.hh"#include "BKE_deform.hh"#include "BKE_lib_query.hh"#include "BKE_mesh.hh"#include "BKE_modifier.hh"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "DEG_depsgraph_build.hh"#include "MOD_ui_common.hh"#include "BLI_array.hh"#include "BLI_listbase_wrapper.hh"#include "BLI_vector.hh"Go to the source code of this file.
Functions | |
| static void | init_data (ModifierData *md) |
| static void | required_data_mask (ModifierData *, CustomData_MeshMasks *r_cddata_masks) |
| static void | foreach_ID_link (ModifierData *md, Object *ob, IDWalkFunc walk, void *user_data) |
| static void | update_depsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) |
| static void | compute_vertex_mask__armature_mode (const MDeformVert *dvert, Mesh *mesh, Object *armature_ob, float threshold, MutableSpan< bool > r_vertex_mask) |
| static void | compute_vertex_mask__vertex_group_mode (const MDeformVert *dvert, int defgrp_index, float threshold, MutableSpan< bool > r_vertex_mask) |
| static void | compute_masked_verts (Span< bool > vertex_mask, MutableSpan< int > r_vertex_map, uint *r_verts_masked_num) |
| static void | computed_masked_edges (const Mesh *mesh, Span< bool > vertex_mask, MutableSpan< int > r_edge_map, uint *r_edges_masked_num) |
| static void | computed_masked_edges_smooth (const Mesh *mesh, Span< bool > vertex_mask, MutableSpan< int > r_edge_map, uint *r_edges_masked_num, uint *r_verts_add_num) |
| static void | computed_masked_faces (const Mesh *mesh, Span< bool > vertex_mask, Vector< int > &r_masked_face_indices, Vector< int > &r_loop_starts, uint *r_faces_masked_num, uint *r_loops_masked_num) |
| static void | compute_interpolated_faces (const Mesh *mesh, Span< bool > vertex_mask, uint verts_add_num, uint loops_masked_num, Vector< int > &r_masked_face_indices, Vector< int > &r_loop_starts, uint *r_edges_add_num, uint *r_faces_add_num, uint *r_loops_add_num) |
| static void | copy_masked_verts_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > vertex_map) |
| static float | get_interp_factor_from_vgroup (const MDeformVert *dvert, int defgrp_index, float threshold, uint v1, uint v2) |
| static void | add_interp_verts_copy_edges_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< bool > vertex_mask, Span< int > vertex_map, const MDeformVert *dvert, int defgrp_index, float threshold, uint edges_masked_num, uint verts_add_num, MutableSpan< int > r_edge_map) |
| static void | copy_masked_edges_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > vertex_map, Span< int > edge_map) |
| static void | copy_masked_faces_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > vertex_map, Span< int > edge_map, Span< int > masked_face_indices, Span< int > new_loop_starts, int faces_masked_num) |
| static void | add_interpolated_faces_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< bool > vertex_mask, Span< int > vertex_map, Span< int > edge_map, const MDeformVert *dvert, int defgrp_index, float threshold, Span< int > masked_face_indices, Span< int > new_loop_starts, int faces_masked_num, int edges_add_num) |
| static Mesh * | modify_mesh (ModifierData *md, const ModifierEvalContext *, Mesh *mesh) |
| static bool | is_disabled (const Scene *, ModifierData *md, bool) |
| static void | panel_draw (const bContext *, Panel *panel) |
| static void | panel_register (ARegionType *region_type) |
Variables | |
| ModifierTypeInfo | modifierType_Mask |
|
static |
Definition at line 351 of file MOD_mask.cc.
References BLI_assert, CustomData_copy_data(), CustomData_interp(), Mesh::edge_data, Mesh::edges_num, get_interp_factor_from_vgroup(), blender::MutableSpan< T >::size(), blender::Span< T >::size(), Mesh::vert_data, and Mesh::verts_num.
Referenced by modify_mesh().
|
static |
Definition at line 473 of file MOD_mask.cc.
References BLI_assert, Mesh::corner_data, CustomData_copy_data(), CustomData_interp(), Mesh::edges_num, Mesh::face_data, get_interp_factor_from_vgroup(), blender::Span< T >::index_range(), blender::IndexRange::size(), blender::Span< T >::size(), blender::Span< T >::slice(), and blender::IndexRange::start().
Referenced by modify_mesh().
|
static |
Definition at line 254 of file MOD_mask.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::Span< T >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::IndexRange::size(), blender::Span< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::Span< T >::slice().
Referenced by modify_mesh().
|
static |
Definition at line 137 of file MOD_mask.cc.
References BLI_assert, blender::MutableSpan< T >::index_range(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by modify_mesh().
|
static |
Definition at line 90 of file MOD_mask.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_pose_channel_find_name(), bPoseChannel::bone, BONE_SELECTED, Bone::flag, blender::MutableSpan< T >::index_range(), LISTBASE_FOREACH, Object::pose, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
Referenced by modify_mesh().
|
static |
Definition at line 126 of file MOD_mask.cc.
References BKE_defvert_find_weight(), and blender::MutableSpan< T >::index_range().
Referenced by modify_mesh().
|
static |
Definition at line 157 of file MOD_mask.cc.
References BLI_assert, and blender::MutableSpan< T >::size().
Referenced by modify_mesh().
|
static |
Definition at line 182 of file MOD_mask.cc.
References BLI_assert, blender::MutableSpan< T >::size(), and v2.
Referenced by modify_mesh().
|
static |
Definition at line 217 of file MOD_mask.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked(), BLI_assert, blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::Span< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::Span< T >::slice().
Referenced by modify_mesh().
|
static |
Definition at line 416 of file MOD_mask.cc.
References BLI_assert, CustomData_copy_data(), Mesh::edge_data, Mesh::edges_num, ELEM, blender::Span< T >::size(), and Mesh::verts_num.
Referenced by modify_mesh().
|
static |
Definition at line 438 of file MOD_mask.cc.
References Mesh::corner_data, CustomData_copy_data(), Mesh::face_data, blender::IndexRange::size(), and blender::IndexRange::start().
Referenced by modify_mesh().
|
static |
Definition at line 326 of file MOD_mask.cc.
References BLI_assert, CustomData_copy_data(), blender::Span< T >::index_range(), blender::Span< T >::size(), Mesh::vert_data, and Mesh::verts_num.
Referenced by modify_mesh().
|
static |
Definition at line 70 of file MOD_mask.cc.
References IDWALK_CB_NOP, and MaskModifierData::ob_arm.
|
static |
Definition at line 341 of file MOD_mask.cc.
References BKE_defvert_find_weight(), and v2.
Referenced by add_interp_verts_copy_edges_to_new_mesh(), and add_interpolated_faces_to_new_mesh().
|
static |
Definition at line 56 of file MOD_mask.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 748 of file MOD_mask.cc.
References MaskModifierData::ob_arm, OB_ARMATURE, and Object::type.
|
static |
Definition at line 607 of file MOD_mask.cc.
References add_interp_verts_copy_edges_to_new_mesh(), add_interpolated_faces_to_new_mesh(), BKE_id_defgroup_name_index(), BKE_mesh_new_nomain_from_template(), BLI_assert, BLI_listbase_is_empty(), compute_interpolated_faces(), compute_masked_verts(), compute_vertex_mask__armature_mode(), compute_vertex_mask__vertex_group_mode(), computed_masked_edges(), computed_masked_edges_smooth(), computed_masked_faces(), copy_masked_edges_to_new_mesh(), copy_masked_faces_to_new_mesh(), copy_masked_verts_to_new_mesh(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), ELEM, MaskModifierData::flag, blender::array_utils::invert_booleans(), mesh, MOD_MASK_INV, MOD_MASK_MODE_ARM, MOD_MASK_MODE_VGROUP, MOD_MASK_SMOOTH, MaskModifierData::mode, MaskModifierData::ob_arm, Object::pose, result, MaskModifierData::threshold, and MaskModifierData::vgroup.
Definition at line 760 of file MOD_mask.cc.
References Panel::layout, MOD_MASK_MODE_ARM, MOD_MASK_MODE_VGROUP, modifier_panel_end(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), ptr, RNA_enum_get(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, uiItemR(), uiLayoutRow(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 791 of file MOD_mask.cc.
References eModifierType_Mask, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 65 of file MOD_mask.cc.
References CD_MASK_MDEFORMVERT, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 76 of file MOD_mask.cc.
References ARM_HAS_VIZ_DEPS, Object::data, DEG_add_depends_on_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_TRANSFORM, bArmature::flag, ModifierUpdateDepsgraphContext::node, and MaskModifierData::ob_arm.
| ModifierTypeInfo modifierType_Mask |
Definition at line 796 of file MOD_mask.cc.