Blender V4.3
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 143 of file DNA_modifier_types.h.

Member Data Documentation

◆ _pad

char ModifierData::_pad[2]

Definition at line 159 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 148 of file DNA_modifier_types.h.

Referenced by blender::bke::ScopedModifierTimer::~ScopedModifierTimer().

◆ 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 158 of file DNA_modifier_types.h.

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

◆ mode

◆ name

char ModifierData::name[64]

MAX_NAME.

Definition at line 172 of file DNA_modifier_types.h.

Referenced by blender::add_attribute_search_button(), blender::add_attribute_search_or_value_buttons(), blender::ed::object::add_hook_object(), blender::nodes::inverse_eval::backpropagate_socket_values(), 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(), ED_object_particle_edit_mode_enter_ex(), blender::ed::object::edit_modifier_invoke_properties(), blender::ed::object::edit_modifier_invoke_properties_with_hover(), blender::find_side_effect_nodes_for_nested_node(), blender::find_side_effect_nodes_for_viewer_path(), blender::find_socket_log_contexts(), blender::nodes::gizmos::foreach_active_gizmo_exposed_to_modifier(), blender::nodes::gizmos::foreach_active_gizmo_in_open_node_editor(), blender::bke::bake::get_modifier_directory_name(), blender::get_rand_matrix(), blender::get_root_tree_log(), 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::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_to_object(), blender::ed::object::modifier_copy_to_selected_exec(), modifier_panel_header(), blender::ed::object::modifier_remove(), modifier_reorder(), blender::modify_stroke_random(), blender::modifyGeometry(), 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(), blender::ed::outliner::TreeElementModifier::TreeElementModifier(), blender::try_add_side_effect_node(), and version_liboverride_rnacollections_insertion_object().

◆ next

struct ModifierData* ModifierData::next

Definition at line 144 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_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(), blender::ed::greasepencil::get_bone_deformed_vertex_group_names(), grease_pencil_evaluate_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(), transform_convert_clip_mirror_modifier_apply(), version_liboverride_rnacollections_insertion_object(), view3d_opengl_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 170 of file DNA_modifier_types.h.

Referenced by BKE_modifier_copydata_ex(), BKE_modifier_get_evaluated(), BKE_modifier_get_original(), and BKE_modifiers_persistent_uid_init().

◆ prev

◆ runtime

◆ type

int ModifierData::type

Definition at line 146 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(), find_multires_modifier_before(), 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::get_modifier_data(), blender::io::SubdivModifierDisabler::get_subdiv_modifier(), grease_pencil_evaluate_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::io::hydra::VolumeModifierData::is_volume_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(), multires_flush_sculpt_updates(), 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(), sculpt_modifiers_active(), sculpt_multires_modifier_get(), blender::ed::greasepencil::set_lineart_modifier_limits(), transform_convert_clip_mirror_modifier_apply(), blender::ed::outliner::tree_element_get_icon(), blender::bke::NodeTreeMainUpdater::update_rooted(), view3d_opengl_select_ex(), and volume_evaluate_modifiers().

◆ ui_expand_flag


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