|
Blender V4.3
|
#include <cstddef>#include "MEM_guardedalloc.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "DNA_defaults.h"#include "DNA_mesh_types.h"#include "DNA_object_types.h"#include "DNA_screen_types.h"#include "BKE_context.hh"#include "BKE_customdata.hh"#include "BKE_mesh.hh"#include "BKE_modifier.hh"#include "BKE_multires.hh"#include "BKE_paint.hh"#include "BKE_subdiv.hh"#include "BKE_subdiv_ccg.hh"#include "BKE_subdiv_deform.hh"#include "BKE_subdiv_mesh.hh"#include "BKE_subsurf.hh"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "WM_types.hh"#include "DEG_depsgraph_query.hh"#include "MOD_ui_common.hh"Go to the source code of this file.
Classes | |
| struct | MultiresRuntimeData |
Variables | |
| ModifierTypeInfo | modifierType_Multires |
Definition at line 430 of file MOD_multires.cc.
References col, Panel::layout, modifier_panel_get_property_pointers(), ptr, RNA_int_get(), UI_ITEM_NONE, uiItemR(), uiLayoutColumn(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 71 of file MOD_multires.cc.
References BKE_modifier_copydata_generic(), and flag.
|
static |
Definition at line 260 of file MOD_multires.cc.
References BKE_modifier_set_error(), BKE_multires_subdiv_settings_init(), blender::bke::subdiv::deform_coarse_vertices(), blender::bke::subdiv::displacement_attach_from_multires(), blender::bke::subdiv::free(), blender::bke::subdiv::Settings::level, multires_ccg_settings_init(), multires_ensure_runtime(), ModifierEvalContext::object, SubdivToCCGSettings::resolution, MultiresRuntimeData::subdiv, and subdiv_descriptor_ensure().
|
static |
Definition at line 88 of file MOD_multires.cc.
References free_runtime_data(), MultiresModifierData::modifier, and ModifierData::runtime.
|
static |
Definition at line 76 of file MOD_multires.cc.
References blender::bke::subdiv::free(), MEM_freeN(), and MultiresRuntimeData::subdiv.
Referenced by free_data().
Definition at line 402 of file MOD_multires.cc.
References col, PointerRNA::data, IFACE_, Panel::layout, modifier_panel_get_property_pointers(), ptr, RNA_boolean_get(), MultiresModifierData::totlvl, UI_ITEM_NONE, uiItemO(), uiItemR(), uiLayoutColumn(), uiLayoutRow(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 51 of file MOD_multires.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, ModifierData::ui_expand_flag, UI_PANEL_DATA_EXPAND_ROOT, and UI_SUBPANEL_DATA_EXPAND_1.
|
static |
Definition at line 189 of file MOD_multires.cc.
References SculptSession::active, BKE_mesh_set_custom_normals_normalized(), BKE_modifier_set_error(), BKE_multires_subdiv_settings_init(), CD_CONSTRUCT, CD_NORMAL, blender::bke::Corner, CustomData_add_layer(), CustomData_free_layers(), CustomData_get_layer_for_write(), eMultiresModifierFlag_UseCustomNormals, eMultiresModifierFlag_UseSculptBaseMesh, ModifierEvalContext::flag, MultiresModifierData::flags, float, blender::bke::subdiv::free(), blender::bke::subdiv::Settings::level, SculptSession::level, mesh, MOD_APPLY_ORCO, MOD_APPLY_RENDER, Object::mode, SculptSession::modifier, SculptSession::multires, multires_as_ccg(), multires_as_mesh(), multires_ensure_runtime(), OB_MODE_SCULPT, ModifierEvalContext::object, result, Object::sculpt, MultiresModifierData::sculptlvl, MultiresRuntimeData::subdiv, SculptSession::subdiv_ccg, subdiv_descriptor_ensure(), and MultiresModifierData::totlvl.
|
static |
Definition at line 166 of file MOD_multires.cc.
References BKE_subdiv_to_ccg_mesh(), blender::bke::subdiv::displacement_attach_from_multires(), mesh, MultiresModifierData::modifier, multires_ccg_settings_init(), SubdivToCCGSettings::resolution, result, ModifierData::runtime, and MultiresRuntimeData::subdiv.
Referenced by modify_mesh().
|
static |
Definition at line 121 of file MOD_multires.cc.
References BKE_multires_subdiv_mesh_settings_init(), DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, blender::bke::subdiv::displacement_attach_from_multires(), ModifierEvalContext::flag, mesh, MOD_APPLY_IGNORE_SIMPLIFY, MOD_APPLY_RENDER, MOD_APPLY_TO_ORIGINAL, ModifierEvalContext::object, blender::bke::subdiv::ToMeshSettings::resolution, result, and blender::bke::subdiv::subdiv_to_mesh().
Referenced by modify_mesh().
|
static |
Definition at line 150 of file MOD_multires.cc.
References CD_GRID_PAINT_MASK, CustomData_has_layer(), DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, ModifierEvalContext::flag, MOD_APPLY_IGNORE_SIMPLIFY, MOD_APPLY_RENDER, multires_get_level(), and ModifierEvalContext::object.
Referenced by deform_matrices(), and multires_as_ccg().
|
static |
Definition at line 94 of file MOD_multires.cc.
References MEM_callocN, MultiresModifierData::modifier, and ModifierData::runtime.
Referenced by deform_matrices(), and modify_mesh().
Definition at line 299 of file MOD_multires.cc.
References col, CTX_data_active_object(), IFACE_, Panel::layout, Object::mode, modifier_panel_end(), modifier_panel_get_property_pointers(), N_, OB_MODE_SCULPT, ptr, UI_block_lock_clear(), UI_block_lock_set(), UI_ITEM_NONE, uiItemR(), uiLayoutColumn(), uiLayoutGetBlock(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 454 of file MOD_multires.cc.
References advanced_panel_draw(), eModifierType_Multires, generate_panel_draw(), modifier_panel_register(), modifier_subpanel_register(), panel_draw(), shape_panel_draw(), and subdivisions_panel_draw().
|
static |
Definition at line 63 of file MOD_multires.cc.
References CD_MASK_CUSTOMLOOPNORMAL, eMultiresModifierFlag_UseCustomNormals, MultiresModifierData::flags, and CustomData_MeshMasks::lmask.
Definition at line 387 of file MOD_multires.cc.
References IFACE_, Panel::layout, modifier_panel_get_property_pointers(), OB_MODE_EDIT, RNA_enum_get(), uiItemO(), uiLayoutRow(), and uiLayoutSetEnabled().
Referenced by panel_register().
|
static |
Definition at line 107 of file MOD_multires.cc.
References MultiresModifierData::modifier, ModifierData::runtime, MultiresRuntimeData::subdiv, and blender::bke::subdiv::update_from_mesh().
Referenced by deform_matrices(), and modify_mesh().
Changing some of the properties can not be done once there is an actual displacement stored for this multi-resolution modifier. This check will disallow changes for those properties. This check is a bit stupid but it should be sufficient for the usual multi-resolution usage. It might become less strict and only disallow modifications if there is CD_MDISPS layer, or if there is actual non-zero displacement, but such checks will be too slow to be done on every redraw.
Definition at line 324 of file MOD_multires.cc.
References PointerRNA::data, IFACE_, Panel::layout, modifier_panel_get_property_pointers(), MULTIRES_SUBDIVIDE_CATMULL_CLARK, MULTIRES_SUBDIVIDE_LINEAR, MULTIRES_SUBDIVIDE_SIMPLE, OB_MODE_EDIT, ptr, RNA_enum_get(), RNA_enum_set(), RNA_string_set(), UI_ITEM_NONE, uiItemFullO(), uiItemO(), uiItemS(), uiLayoutRow(), uiLayoutSetEnabled(), and WM_OP_EXEC_DEFAULT.
Referenced by panel_register().
| ModifierTypeInfo modifierType_Multires |
Definition at line 466 of file MOD_multires.cc.