Blender V5.0
ModifierData Struct Reference

#include <DNA_modifier_types.h>

Public Attributes

struct ModifierDatanext
struct ModifierDataprev
int type
int mode
float execution_time
short flag
short ui_expand_flag
uint16_t layout_panel_open_flag
char _pad [2]
int persistent_uid
char name [64]
char * error
void * runtime

Detailed Description

Definition at line 151 of file DNA_modifier_types.h.

Member Data Documentation

◆ _pad

char ModifierData::_pad[2]

Definition at line 171 of file DNA_modifier_types.h.

◆ error

◆ execution_time

float ModifierData::execution_time

Time in seconds that the modifier took to evaluate. This is only set on evaluated objects.

Definition at line 159 of file DNA_modifier_types.h.

◆ flag

◆ layout_panel_open_flag

uint16_t ModifierData::layout_panel_open_flag

Bits that can be used for open-states of layout panels in the modifier. This can replace ui_expand_flag once all modifiers use layout panels. Currently, trying to reuse the same flags is problematic, because the bits in ui_expand_flag are mapped to panels automatically and easily conflict with the explicit mapping of bits to panels here.

Definition at line 170 of file DNA_modifier_types.h.

Referenced by blender::init_data(), and rna_def_modifier_panel_open_prop().

◆ mode

◆ name

char ModifierData::name[64]

Definition at line 183 of file DNA_modifier_types.h.

Referenced by blender::ed::object::add_hook_object(), BKE_modifier_copy_ex(), BKE_modifier_set_error(), BKE_modifier_unique_name(), BKE_modifiers_persistent_uid_init(), BKE_object_copy_modifier(), blo_do_versions_pre250(), blender::deg::DepsgraphRelationBuilder::build_object_pointcache(), buttons_texture_modifier_foreach(), buttons_texture_modifier_geonodes_users_add(), copy_particle_systems_to_object(), blender::deform_drawing(), blender::deform_drawing(), deform_verts(), do_versions_after_linking_300(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_geometry_nodes_modifier_ui(), ED_object_particle_edit_mode_enter_ex(), blender::ed::object::edit_modifier_invoke_properties(), blender::ed::object::edit_modifier_invoke_properties_with_hover(), blender::bke::bake::get_modifier_directory_name(), blender::get_rand_matrix(), getOriginalModifierData(), blender::ed::object::hook_mod_itemf(), blender::ed::object::bake_simulation::initialize_modifier_bake_directory_if_necessary(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), blender::bke::greasepencil::convert::legacy_object_modifier_opacity(), blender::ed::object::modifier_add(), blender::ed::object::modifier_add_asset_exec(), modifier_allocate_and_init(), blender::ed::object::modifier_apply(), blender::ed::object::modifier_apply_shape(), blender::ed::object::modifier_copy(), blender::ed::object::modifier_copy_to_object(), blender::ed::object::modifier_copy_to_selected_exec(), modifier_panel_header(), blender::ed::object::modifier_remove(), modifier_reorder(), blender::modify_stroke_random(), object_add_or_copy_particle_system(), blender::ed::outliner::outliner_buttons(), panel_draw(), PE_create_particle_edit(), blender::nodes::inverse_eval::set_modifier_value(), blender::ed::object::shade_auto_smooth_exec(), and version_liboverride_rnacollections_insertion_object().

◆ next

struct ModifierData* ModifierData::next

Definition at line 152 of file DNA_modifier_types.h.

Referenced by blender::ed::object::add_hook_object(), blender::ed::object::bake(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), BKE_lattice_modifiers_calc(), BKE_modifier_calc_data_masks(), BKE_modifier_remove_from_list(), BKE_modifiers_get_cage_index(), BKE_modifiers_get_virtual_modifierlist(), BKE_modifiers_is_correctable_deformed(), BKE_modifiers_is_deformed_by_armature(), BKE_modifiers_is_deformed_by_curve(), BKE_modifiers_is_deformed_by_lattice(), BKE_modifiers_is_deformed_by_meshdeform(), BKE_modifiers_uses_armature(), BKE_modifiers_uses_multires(), BKE_multires_create_deformed_base_mesh_vert_coords(), BKE_object_defgroup_validmap_get(), BKE_object_is_deform_modified(), BKE_object_is_modified(), BKE_object_sync_to_original(), BKE_particlesystem_reset_all(), BKE_sculpt_get_first_deform_matrices(), blo_do_versions_pre250(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), blender::io::AbstractHierarchyWriter::check_is_animated(), blender::ed::object::create_applied_mesh_for_modifier(), curve_calc_modifiers_post(), curve_get_tessellate_point(), curves_evaluate_modifiers(), do_curve_implicit_mesh_conversion(), ED_armature_pose_select_in_wpaint_mode(), blender::bke::editbmesh_calc_modifiers(), findPrecedingParticlesystem(), foreach_object_modifier_ptcache(), blender::ed::greasepencil::get_bone_deformed_vertex_group_names(), get_show_adaptive_options(), grease_pencil_evaluate_modifiers(), blender::io::usd::has_varying_modifiers(), blender::ed::object::hook_mod_itemf(), blender::is_last_line_art(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), blender::bke::mesh_calc_modifiers(), MOD_previous_vcos_store(), blender::ed::object::modifier_add(), blender::ed::object::modifier_move_down(), blender::ed::object::modifier_move_to_index(), modifier_replace_with_fluid(), blender::ed::object::modifiers_clear(), modifiers_disable_subsurf_temporary(), multires_flush_sculpt_updates(), blender::ed::object::multiresbake_check(), blender::ed::object::object_remove_parent_deform_modifiers(), pointcloud_evaluate_modifiers(), blender::ed::object::posemode_set_for_weight_paint(), psys_sim_data_init(), remove_particle_systems_from_object(), sculpt_modifiers_active(), sculpt_multires_modifier_get(), blender::ed::transform::transform_convert_clip_mirror_modifier_apply(), version_liboverride_rnacollections_insertion_object(), view3d_gpu_select_ex(), and volume_evaluate_modifiers().

◆ persistent_uid

int ModifierData::persistent_uid

Uniquely identifies the modifier within the object. This identifier is stable across Blender sessions. Modifiers on the original and corresponding evaluated object have matching identifiers. The identifier stays the same if the modifier is renamed or moved in the modifier stack.

A valid identifier is non-negative (>= 1). Modifiers that are currently not on an object may have invalid identifiers. It has to be initialized with BKE_modifiers_persistent_uid_init when it is added to an object.

Definition at line 182 of file DNA_modifier_types.h.

Referenced by BKE_modifier_copydata_ex(), BKE_modifier_get_evaluated(), BKE_modifier_get_original(), BKE_modifiers_persistent_uid_init(), blender::find_side_effect_nodes_for_viewer_path(), blender::bke::ComputeContextCache::for_modifier(), blender::ed::space_node::node_editor_is_for_geometry_nodes_modifier(), and blender::try_add_side_effect_node().

◆ prev

◆ runtime

◆ type

int ModifierData::type

ModifierType.

Definition at line 155 of file DNA_modifier_types.h.

Referenced by blender::ed::object::add_hook_object(), blender::ed::object::apply_grease_pencil_for_modifier(), blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), blender::ed::object::bake(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_lattice_modifiers_calc(), BKE_main_mesh_legacy_convert_auto_smooth(), BKE_modifier_calc_data_masks(), BKE_modifier_copy_ex(), BKE_modifier_copydata_ex(), BKE_modifier_copydata_generic(), BKE_modifier_couldbe_cage(), BKE_modifier_deform_verts(), BKE_modifier_deform_vertsEM(), BKE_modifier_depends_ontime(), BKE_modifier_free_ex(), BKE_modifier_free_temporary_data(), BKE_modifier_is_correctable_deformed(), BKE_modifier_is_enabled(), BKE_modifier_is_non_geometrical(), BKE_modifier_is_same_topology(), BKE_modifier_modify_mesh(), BKE_modifier_supports_cage(), BKE_modifier_supports_mapping(), BKE_modifier_unique_name(), BKE_modifiers_get_cage_index(), BKE_modifiers_is_deformed_by_armature(), BKE_modifiers_is_deformed_by_curve(), BKE_modifiers_is_deformed_by_lattice(), BKE_modifiers_is_deformed_by_meshdeform(), BKE_modifiers_uses_armature(), BKE_modifiers_uses_multires(), BKE_multires_create_mesh(), BKE_object_copy_modifier(), BKE_object_defgroup_validmap_get(), BKE_object_get_last_subsurf_modifier(), BKE_object_is_deform_modified(), BKE_particlesystem_id_loop(), BKE_sculpt_get_first_deform_matrices(), blo_do_versions_pre250(), buttons_texture_modifier_foreach(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), blender::io::AbstractHierarchyWriter::check_is_animated(), clear_strokes(), constructive_modifier_is_deform_modified(), blender::ed::object::convert_psys_to_mesh(), crazyspace_modifier_supports_deform(), crazyspace_modifier_supports_deform_matrices(), blender::ed::object::create_applied_mesh_for_modifier(), curve_calc_modifiers_post(), curve_get_tessellate_point(), curves_evaluate_modifiers(), do_curve_implicit_mesh_conversion(), ED_armature_pose_select_in_wpaint_mode(), blender::ed::object::edit_modifier_property_get(), blender::bke::editbmesh_calc_modifiers(), blender::bke::editbmesh_modifier_is_enabled(), blender::ed::outliner::TreeElementModifier::expand(), blender::io::alembic::ABCGenericMeshWriter::export_as_subdivision_surface(), findPrecedingParticlesystem(), blender::ed::object::geometry_node_tree_copy_assign_exec(), geometry_node_tree_get_from_context(), blender::ed::greasepencil::get_bone_deformed_vertex_group_names(), blender::io::usd::get_last_subdiv_modifier(), blender::nodes::get_modifier_data(), blender::io::SubdivModifierDisabler::get_subdiv_modifier(), grease_pencil_evaluate_modifiers(), blender::io::usd::has_varying_modifiers(), blender::ed::object::hook_mod_itemf(), influence_data_from_modifier(), blender::is_first_lineart(), blender::is_last_line_art(), blender::ed::object::is_smooth_by_angle_modifier(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), lineart_mod_is_disabled(), blender::bke::mesh_calc_modifiers(), MOD_previous_vcos_store(), blender::ed::object::modifier_add(), modifier_allocate_and_init(), blender::ed::object::modifier_apply_exec_ex(), blender::ed::object::modifier_apply_obdata(), blender::ed::object::modifier_apply_shape(), modifier_can_delete(), blender::ed::object::modifier_copy(), blender::ed::object::modifier_copy_to_object(), blender::ed::object::modifier_copy_to_selected_poll(), modifier_is_simulation(), blender::bke::modifier_modify_mesh_and_geometry_set(), modifier_ops_extra_draw(), modifier_panel_header(), modifier_panel_id(), modifier_replace_with_fluid(), modifier_unwrap_state(), modifiers_disable_subsurf_temporary(), blender::ed::object::object_hook_from_context(), blender::ed::object::object_modifier_check_move_after(), blender::ed::object::object_modifier_check_move_before(), blender::ed::object::object_modifier_remove(), blender::ed::object::object_remove_parent_deform_modifiers(), blender::ed::outliner::outliner_set_properties_tab(), pointcloud_evaluate_modifiers(), blender::ed::object::posemode_set_for_weight_paint(), psys_sim_data_init(), remove_particle_systems_from_object(), blender::ed::greasepencil::set_lineart_modifier_limits(), blender::ed::transform::transform_convert_clip_mirror_modifier_apply(), blender::ed::outliner::tree_element_get_icon(), blender::bke::NodeTreeMainUpdater::update_rooted(), view3d_gpu_select_ex(), and volume_evaluate_modifiers().

◆ ui_expand_flag


The documentation for this struct was generated from the following file: