|
Blender V5.0
|
#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 "UI_interface.hh"#include "UI_interface_layout.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 420 of file MOD_multires.cc.
References uiLayout::active_set(), col, uiLayout::column(), Panel::layout, modifier_panel_get_property_pointers(), uiLayout::prop(), ptr, RNA_int_get(), UI_ITEM_NONE, and uiLayout::use_property_split_set().
|
static |
Definition at line 63 of file MOD_multires.cc.
References BKE_modifier_copydata_generic(), and flag.
|
static |
Definition at line 254 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 80 of file MOD_multires.cc.
References free_runtime_data(), MultiresModifierData::modifier, and ModifierData::runtime.
|
static |
Definition at line 68 of file MOD_multires.cc.
References blender::bke::subdiv::free(), MEM_freeN(), and MultiresRuntimeData::subdiv.
Referenced by free_data().
Definition at line 393 of file MOD_multires.cc.
References col, uiLayout::column(), IFACE_, Panel::layout, modifier_panel_get_property_pointers(), uiLayout::op(), uiLayout::prop(), ptr, RNA_boolean_get(), MultiresModifierData::totlvl, and UI_ITEM_NONE.
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 180 of file MOD_multires.cc.
References SculptSession::active, BKE_modifier_set_error(), BKE_multires_subdiv_settings_init(), CD_CONSTRUCT, CD_NORMAL, blender::bke::Corner, Mesh::corner_data, Mesh::corners_num, CustomData_add_layer(), CustomData_free_layers(), CustomData_get_layer_for_write(), data, eMultiresModifierFlag_UseCustomNormals, eMultiresModifierFlag_UseSculptBaseMesh, ModifierEvalContext::flag, MultiresModifierData::flags, blender::bke::subdiv::free(), blender::bke::subdiv::Settings::level, SculptSession::level, blender::bke::mesh_set_custom_normals_normalized(), 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 157 of file MOD_multires.cc.
References BKE_subdiv_to_ccg_mesh(), blender::bke::subdiv::displacement_attach_from_multires(), MultiresModifierData::modifier, multires_ccg_settings_init(), SubdivToCCGSettings::resolution, result, ModifierData::runtime, and MultiresRuntimeData::subdiv.
Referenced by modify_mesh().
|
static |
Definition at line 112 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, 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 141 of file MOD_multires.cc.
References CD_GRID_PAINT_MASK, Mesh::corner_data, CustomData_has_layer(), DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, ModifierEvalContext::flag, MOD_APPLY_IGNORE_SIMPLIFY, MOD_APPLY_RENDER, multires_get_level(), SubdivToCCGSettings::need_mask, SubdivToCCGSettings::need_normal, ModifierEvalContext::object, and SubdivToCCGSettings::resolution.
Referenced by deform_matrices(), and multires_as_ccg().
|
static |
Definition at line 86 of file MOD_multires.cc.
References MEM_callocN(), MultiresModifierData::modifier, and ModifierData::runtime.
Referenced by deform_matrices(), and modify_mesh().
Definition at line 293 of file MOD_multires.cc.
References uiLayout::block(), C, col, uiLayout::column(), CTX_data_active_object(), IFACE_, Panel::layout, Object::mode, modifier_error_message_draw(), modifier_panel_get_property_pointers(), N_, OB_MODE_SCULPT, uiLayout::prop(), ptr, UI_block_lock_clear(), UI_block_lock_set(), UI_ITEM_NONE, and uiLayout::use_property_split_set().
|
static |
Definition at line 444 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().
Definition at line 372 of file MOD_multires.cc.
References uiLayout::enabled_set(), IFACE_, Panel::layout, modifier_panel_get_property_pointers(), OB_MODE_EDIT, uiLayout::op(), RNA_boolean_set(), RNA_enum_get(), and uiLayout::row().
Referenced by panel_register().
|
static |
Definition at line 98 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 318 of file MOD_multires.cc.
References CatmullClark, uiLayout::enabled_set(), blender::wm::ExecDefault, IFACE_, Panel::layout, Linear, modifier_panel_get_property_pointers(), name, OB_MODE_EDIT, uiLayout::op(), ptr, RNA_enum_get(), RNA_enum_set(), RNA_string_set(), uiLayout::row(), uiLayout::separator(), Simple, and UI_ITEM_NONE.
Referenced by panel_register().
| ModifierTypeInfo modifierType_Multires |
Definition at line 456 of file MOD_multires.cc.