|
Blender V5.0
|
#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_layout.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.
Typedefs | |
| using | float3 |
| using | int2 |
| template<typename T> | |
| using | ListBaseWrapper |
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 |
| using blender::float3 |
Definition at line 619 of file BLI_math_vector_types.hh.
| using blender::int2 |
Definition at line 601 of file BLI_math_vector_types.hh.
| using blender::ListBaseWrapper |
Definition at line 99 of file BLI_listbase_wrapper.hh.
|
static |
Definition at line 349 of file modifiers/intern/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 466 of file modifiers/intern/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(), indices, blender::IndexRange::size(), blender::Span< T >::size(), blender::Span< T >::slice(), and blender::IndexRange::start().
Referenced by modify_mesh().
|
static |
Definition at line 252 of file modifiers/intern/MOD_mask.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, faces, Mesh::faces_num, i, blender::Span< T >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::IndexRange::size(), blender::Span< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::Span< T >::slice(), and Mesh::verts_num.
Referenced by modify_mesh().
|
static |
Definition at line 135 of file modifiers/intern/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 88 of file modifiers/intern/MOD_mask.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_pose_channel_find_name(), bPoseChannel::bone, bPoseChannel::flag, i, blender::MutableSpan< T >::index_range(), LISTBASE_FOREACH, Object::pose, POSE_SELECTED, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and Mesh::vertex_group_names.
Referenced by modify_mesh().
|
static |
Definition at line 124 of file modifiers/intern/MOD_mask.cc.
References BKE_defvert_find_weight(), i, and blender::MutableSpan< T >::index_range().
Referenced by modify_mesh().
|
static |
Definition at line 155 of file modifiers/intern/MOD_mask.cc.
References BLI_assert, Mesh::edges_num, i, and blender::MutableSpan< T >::size().
Referenced by modify_mesh().
|
static |
Definition at line 180 of file modifiers/intern/MOD_mask.cc.
References BLI_assert, Mesh::edges_num, i, blender::MutableSpan< T >::size(), and v2.
Referenced by modify_mesh().
|
static |
Definition at line 215 of file modifiers/intern/MOD_mask.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked(), BLI_assert, faces, Mesh::faces_num, i, blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::IndexRange::size(), blender::Span< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::Span< T >::slice(), and Mesh::verts_num.
Referenced by modify_mesh().
|
static |
Definition at line 409 of file modifiers/intern/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 431 of file modifiers/intern/MOD_mask.cc.
References Mesh::corner_data, CustomData_copy_data(), Mesh::face_data, i, blender::IndexRange::size(), and blender::IndexRange::start().
Referenced by modify_mesh().
|
static |
Definition at line 324 of file modifiers/intern/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 68 of file modifiers/intern/MOD_mask.cc.
References IDWALK_CB_NOP, and MaskModifierData::ob_arm.
|
static |
Definition at line 339 of file modifiers/intern/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 54 of file modifiers/intern/MOD_mask.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 741 of file modifiers/intern/MOD_mask.cc.
References MaskModifierData::ob_arm, OB_ARMATURE, and Object::type.
|
static |
Definition at line 600 of file modifiers/intern/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(), Mesh::edges_num, ELEM, MaskModifierData::flag, Mesh::id, blender::array_utils::invert_booleans(), MOD_MASK_INV, MOD_MASK_MODE_ARM, MOD_MASK_MODE_VGROUP, MOD_MASK_SMOOTH, MaskModifierData::mode, MaskModifierData::ob_arm, Object::pose, result, MaskModifierData::threshold, Mesh::vertex_group_names, Mesh::verts_num, and MaskModifierData::vgroup.
Definition at line 753 of file modifiers/intern/MOD_mask.cc.
References Panel::layout, MOD_MASK_MODE_ARM, MOD_MASK_MODE_VGROUP, modifier_error_message_draw(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), uiLayout::prop(), ptr, RNA_enum_get(), uiLayout::row(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
|
static |
Definition at line 784 of file modifiers/intern/MOD_mask.cc.
References eModifierType_Mask, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 63 of file modifiers/intern/MOD_mask.cc.
References CD_MASK_MDEFORMVERT, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 74 of file modifiers/intern/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 789 of file modifiers/intern/MOD_mask.cc.