Blender
V3.3
|
#include "BLI_utildefines.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#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_object_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_deform.h"
#include "BKE_lib_query.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "BKE_texture.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_weightvg_util.h"
Go to the source code of this file.
Functions | |
static float | mix_weight (float weight, float weight2, char mix_mode) |
static void | initData (ModifierData *md) |
static void | requiredDataMask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
static bool | dependsOnTime (struct Scene *UNUSED(scene), ModifierData *md) |
static void | foreachIDLink (ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) |
static void | foreachTexLink (ModifierData *md, Object *ob, TexWalkFunc walk, void *userData) |
static void | updateDepsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) |
static bool | isDisabled (const struct Scene *UNUSED(scene), ModifierData *md, bool UNUSED(useRenderParams)) |
static Mesh * | modifyMesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) |
static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | influence_panel_draw (const bContext *C, Panel *panel) |
static void | panelRegister (ARegionType *region_type) |
Variables | |
ModifierTypeInfo | modifierType_WeightVGMix |
|
static |
Definition at line 148 of file MOD_weightvgmix.c.
References BKE_texture_dependsOnTime(), and WeightVGMixModifierData::mask_texture.
|
static |
Definition at line 158 of file MOD_weightvgmix.c.
References IDWALK_CB_NOP, IDWALK_CB_USER, WeightVGMixModifierData::mask_tex_map_obj, and WeightVGMixModifierData::mask_texture.
|
static |
Definition at line 166 of file MOD_weightvgmix.c.
Definition at line 480 of file MOD_weightvgmix.c.
References C, Panel::layout, modifier_panel_get_property_pointers(), ptr, and weightvg_ui_common().
Referenced by panelRegister().
|
static |
Definition at line 122 of file MOD_weightvgmix.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 194 of file MOD_weightvgmix.c.
References WeightVGMixModifierData::defgrp_name_a.
This mixes the old weight with the new weight factor.
Definition at line 49 of file MOD_weightvgmix.c.
References MOD_WVG_MIX_ADD, MOD_WVG_MIX_AVG, MOD_WVG_MIX_DIF, MOD_WVG_MIX_DIV, MOD_WVG_MIX_MAX, MOD_WVG_MIX_MIN, MOD_WVG_MIX_MUL, MOD_WVG_MIX_SET, MOD_WVG_MIX_SUB, and MOD_WVG_ZEROFLOOR.
Referenced by modifyMesh(), svm_node_closure_background(), svm_node_closure_bsdf(), svm_node_closure_emission(), svm_node_closure_holdout(), svm_node_closure_volume(), and svm_node_principled_volume().
|
static |
Definition at line 203 of file MOD_weightvgmix.c.
References BKE_defvert_find_index(), BKE_id_defgroup_name_index(), BLI_assert, BLI_listbase_is_empty(), CD_CALLOC, CD_MDEFORMVERT, CustomData_add_layer(), CustomData_duplicate_referenced_layer(), CustomData_has_layer(), WeightVGMixModifierData::default_weight_a, WeightVGMixModifierData::default_weight_b, WeightVGMixModifierData::defgrp_name_a, WeightVGMixModifierData::defgrp_name_b, DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, Mesh::dvert, WeightVGMixModifierData::flag, Mesh::id, indices, Mesh_Runtime::is_original, WeightVGMixModifierData::mask_constant, WeightVGMixModifierData::mask_defgrp_name, WeightVGMixModifierData::mask_tex_map_bone, WeightVGMixModifierData::mask_tex_map_obj, WeightVGMixModifierData::mask_tex_mapping, WeightVGMixModifierData::mask_tex_use_channel, WeightVGMixModifierData::mask_tex_uvlayer_name, WeightVGMixModifierData::mask_texture, MEM_freeN, MEM_malloc_arrayN, MEM_SAFE_FREE, mesh, WeightVGMixModifierData::mix_mode, WeightVGMixModifierData::mix_set, mix_weight(), MOD_WVG_MIX_INVERT_VGROUP_A, MOD_WVG_MIX_INVERT_VGROUP_B, MOD_WVG_MIX_INVERT_VGROUP_MASK, MOD_WVG_MIX_WEIGHTS_NORMALIZE, MOD_WVG_SET_A, MOD_WVG_SET_ALL, MOD_WVG_SET_AND, MOD_WVG_SET_B, MOD_WVG_SET_OR, ModifierData::mode, WeightVGMixModifierData::modifier, NULL, ModifierEvalContext::object, Mesh::runtime, scene, Mesh::totvert, Mesh::vdata, Mesh::vertex_group_names, MDeformWeight::weight, weightvg_do_mask(), and weightvg_update_vg().
Definition at line 453 of file MOD_weightvgmix.c.
References IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), NULL, ptr, uiItemR(), uiItemS(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 490 of file MOD_weightvgmix.c.
References eModifierType_WeightVGMix, influence_panel_draw(), modifier_panel_register(), modifier_subpanel_register(), NULL, and panel_draw().
|
static |
Definition at line 131 of file MOD_weightvgmix.c.
References CD_MASK_MDEFORMVERT, CD_MASK_MTFACE, CustomData_MeshMasks::fmask, WeightVGMixModifierData::mask_tex_mapping, MOD_DISP_MAP_UV, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 171 of file MOD_weightvgmix.c.
References DEG_add_generic_id_relation(), DEG_add_modifier_to_transform_relation(), Tex::id, WeightVGMixModifierData::mask_tex_map_bone, WeightVGMixModifierData::mask_tex_map_obj, WeightVGMixModifierData::mask_tex_mapping, WeightVGMixModifierData::mask_texture, MOD_depsgraph_update_object_bone_relation(), MOD_DISP_MAP_GLOBAL, MOD_DISP_MAP_OBJECT, ModifierUpdateDepsgraphContext::node, and NULL.
ModifierTypeInfo modifierType_WeightVGMix |
Definition at line 498 of file MOD_weightvgmix.c.