Blender  V3.3
Classes
object_modifier.cc File Reference
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_curve_types.h"
#include "DNA_dynamicpaint_types.h"
#include "DNA_fluid_types.h"
#include "DNA_key_types.h"
#include "DNA_lattice_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_force_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
#include "BLI_bitmap.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_path_util.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_DerivedMesh.h"
#include "BKE_animsys.h"
#include "BKE_armature.h"
#include "BKE_context.h"
#include "BKE_curve.h"
#include "BKE_curves.h"
#include "BKE_curves.hh"
#include "BKE_displist.h"
#include "BKE_editmesh.h"
#include "BKE_effect.h"
#include "BKE_geometry_set.hh"
#include "BKE_global.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_key.h"
#include "BKE_lattice.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_mesh_mapping.h"
#include "BKE_mesh_runtime.h"
#include "BKE_modifier.h"
#include "BKE_multires.h"
#include "BKE_object.h"
#include "BKE_object_deform.h"
#include "BKE_ocean.h"
#include "BKE_paint.h"
#include "BKE_particle.h"
#include "BKE_pointcloud.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_softbody.h"
#include "BKE_volume.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "BLT_translation.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "RNA_prototypes.h"
#include "ED_armature.h"
#include "ED_mesh.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_sculpt.h"
#include "MOD_nodes.h"
#include "UI_interface.h"
#include "WM_api.h"
#include "WM_types.h"
#include "object_intern.h"

Go to the source code of this file.

Classes

struct  OceanBakeJob
 

Functions

Public Api
static void object_force_modifier_update_for_bind (Depsgraph *depsgraph, Object *ob)
 
static void object_force_modifier_bind_simple_options (Depsgraph *depsgraph, Object *object, ModifierData *md)
 
ModifierDataED_object_modifier_add (ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
 
static bool object_has_modifier (const Object *ob, const ModifierData *exclude, ModifierType type)
 
bool ED_object_iter_other (Main *bmain, Object *orig_ob, const bool include_orig, bool(*callback)(Object *ob, void *callback_data), void *callback_data)
 
static bool object_has_modifier_cb (Object *ob, void *data)
 
bool ED_object_multires_update_totlevels_cb (Object *ob, void *totlevel_v)
 
static bool object_modifier_safe_to_delete (Main *bmain, Object *ob, ModifierData *exclude, ModifierType type)
 
static bool object_modifier_remove (Main *bmain, Scene *scene, Object *ob, ModifierData *md, bool *r_sort_depsgraph)
 
bool ED_object_modifier_remove (ReportList *reports, Main *bmain, Scene *scene, Object *ob, ModifierData *md)
 
void ED_object_modifier_clear (Main *bmain, Scene *scene, Object *ob)
 
bool ED_object_modifier_move_up (ReportList *reports, Object *ob, ModifierData *md)
 
bool ED_object_modifier_move_down (ReportList *reports, Object *ob, ModifierData *md)
 
bool ED_object_modifier_move_to_index (ReportList *reports, Object *ob, ModifierData *md, const int index)
 
void ED_object_modifier_link (bContext *C, Object *ob_dst, Object *ob_src)
 
void ED_object_modifier_copy_to_object (bContext *C, Object *ob_dst, Object *ob_src, ModifierData *md)
 
bool ED_object_modifier_convert_psys_to_mesh (ReportList *UNUSED(reports), Main *bmain, Depsgraph *depsgraph, ViewLayer *view_layer, Object *ob, ModifierData *md)
 
static Meshmodifier_apply_create_mesh_for_modifier (Depsgraph *depsgraph, Object *object, ModifierData *md_eval, bool use_virtual_modifiers, bool build_shapekey_layers)
 
static bool modifier_apply_shape (Main *bmain, ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md_eval)
 
static bool modifier_apply_obdata (ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md_eval)
 
bool ED_object_modifier_apply (Main *bmain, ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md, int mode, bool keep_modifier)
 
bool ED_object_modifier_copy (ReportList *UNUSED(reports), Main *bmain, Scene *scene, Object *ob, ModifierData *md)
 
Add Modifier Operator
static int modifier_add_exec (bContext *C, wmOperator *op)
 
static const EnumPropertyItemmodifier_add_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
void OBJECT_OT_modifier_add (wmOperatorType *ot)
 
Generic Poll Function and Properties

Using modifier names and data context.

bool edit_modifier_poll_generic (bContext *C, StructRNA *rna_type, int obtype_flag, const bool is_editmode_allowed, const bool is_liboverride_allowed)
 
static bool edit_modifier_poll (bContext *C)
 
static bool edit_modifier_liboverride_allowed_poll (bContext *C)
 
void edit_modifier_properties (wmOperatorType *ot)
 
static void edit_modifier_report_property (wmOperatorType *ot)
 
Generic Invoke Functions

Using modifier names and data context.

bool edit_modifier_invoke_properties (bContext *C, wmOperator *op)
 
static bool edit_modifier_invoke_properties_with_hover (bContext *C, wmOperator *op, const wmEvent *event, int *r_retval)
 
ModifierDataedit_modifier_property_get (wmOperator *op, Object *ob, int type)
 
Remove Modifier Operator
static int modifier_remove_exec (bContext *C, wmOperator *op)
 
static int modifier_remove_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_remove (wmOperatorType *ot)
 
Move Up Modifier Operator
static int modifier_move_up_exec (bContext *C, wmOperator *op)
 
static int modifier_move_up_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_move_up (wmOperatorType *ot)
 
Move Down Modifier Operator
static int modifier_move_down_exec (bContext *C, wmOperator *op)
 
static int modifier_move_down_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_move_down (wmOperatorType *ot)
 
Move to Index Modifier Operator
static int modifier_move_to_index_exec (bContext *C, wmOperator *op)
 
static int modifier_move_to_index_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_move_to_index (wmOperatorType *ot)
 
Apply Modifier Operator
static bool modifier_apply_poll (bContext *C)
 
static int modifier_apply_exec_ex (bContext *C, wmOperator *op, int apply_as, bool keep_modifier)
 
static int modifier_apply_exec (bContext *C, wmOperator *op)
 
static int modifier_apply_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_apply (wmOperatorType *ot)
 
Apply Modifier As Shapekey Operator
static bool modifier_apply_as_shapekey_poll (bContext *C)
 
static int modifier_apply_as_shapekey_exec (bContext *C, wmOperator *op)
 
static int modifier_apply_as_shapekey_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static char * modifier_apply_as_shapekey_get_description (struct bContext *UNUSED(C), struct wmOperatorType *UNUSED(op), struct PointerRNA *values)
 
void OBJECT_OT_modifier_apply_as_shapekey (wmOperatorType *ot)
 
Convert Particle System Modifier to Mesh Operator
static int modifier_convert_exec (bContext *C, wmOperator *op)
 
static int modifier_convert_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_modifier_convert (wmOperatorType *ot)
 
Copy Modifier Operator
static int modifier_copy_exec (bContext *C, wmOperator *op)
 
static int modifier_copy_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_copy (wmOperatorType *ot)
 
Set Active Modifier Operator
static int modifier_set_active_exec (bContext *C, wmOperator *op)
 
static int modifier_set_active_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_modifier_set_active (wmOperatorType *ot)
 
Copy Modifier To Selected Operator
static int modifier_copy_to_selected_exec (bContext *C, wmOperator *op)
 
static int modifier_copy_to_selected_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static bool modifier_copy_to_selected_poll (bContext *C)
 
void OBJECT_OT_modifier_copy_to_selected (wmOperatorType *ot)
 
Multires Delete Higher Levels Operator
static bool multires_poll (bContext *C)
 
static int multires_higher_levels_delete_exec (bContext *C, wmOperator *op)
 
static int multires_higher_levels_delete_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_higher_levels_delete (wmOperatorType *ot)
 
Multires Reshape Operator
static int multires_reshape_exec (bContext *C, wmOperator *op)
 
static int multires_reshape_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_reshape (wmOperatorType *ot)
 
Multires Save External Operator
static int multires_external_save_exec (bContext *C, wmOperator *op)
 
static int multires_external_save_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_external_save (wmOperatorType *ot)
 
Multires Pack Operator
static int multires_external_pack_exec (bContext *C, wmOperator *UNUSED(op))
 
void OBJECT_OT_multires_external_pack (wmOperatorType *ot)
 
Multires Apply Base
static int multires_base_apply_exec (bContext *C, wmOperator *op)
 
static int multires_base_apply_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_base_apply (wmOperatorType *ot)
 
Multires Unsubdivide
static int multires_unsubdivide_exec (bContext *C, wmOperator *op)
 
static int multires_unsubdivide_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_unsubdivide (wmOperatorType *ot)
 
Multires Rebuild Subdivisions
static int multires_rebuild_subdiv_exec (bContext *C, wmOperator *op)
 
static int multires_rebuild_subdiv_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_rebuild_subdiv (wmOperatorType *ot)
 
Delta Mesh Bind Operator
static bool correctivesmooth_poll (bContext *C)
 
static int correctivesmooth_bind_exec (bContext *C, wmOperator *op)
 
static int correctivesmooth_bind_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_correctivesmooth_bind (wmOperatorType *ot)
 
Mesh Deform Bind Operator
static bool meshdeform_poll (bContext *C)
 
static int meshdeform_bind_exec (bContext *C, wmOperator *op)
 
static int meshdeform_bind_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_meshdeform_bind (wmOperatorType *ot)
 
Explode Refresh Operator
static bool explode_poll (bContext *C)
 
static int explode_refresh_exec (bContext *C, wmOperator *op)
 
static int explode_refresh_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_explode_refresh (wmOperatorType *ot)
 
Ocean Bake Operator
static bool ocean_bake_poll (bContext *C)
 
static void oceanbake_free (void *customdata)
 
static int oceanbake_breakjob (void *UNUSED(customdata))
 
static void oceanbake_update (void *customdata, float progress, int *cancel)
 
static void oceanbake_startjob (void *customdata, short *stop, short *do_update, float *progress)
 
static void oceanbake_endjob (void *customdata)
 
static int ocean_bake_exec (bContext *C, wmOperator *op)
 
static int ocean_bake_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_ocean_bake (wmOperatorType *ot)
 
Laplacian-Deform Bind Operator
static bool laplaciandeform_poll (bContext *C)
 
static int laplaciandeform_bind_exec (bContext *C, wmOperator *op)
 
static int laplaciandeform_bind_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_laplaciandeform_bind (wmOperatorType *ot)
 
Surface Deform Bind Operator
static bool surfacedeform_bind_poll (bContext *C)
 
static int surfacedeform_bind_exec (bContext *C, wmOperator *op)
 
static int surfacedeform_bind_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_surfacedeform_bind (wmOperatorType *ot)
 
Toggle Value or Attribute Operator
Note
This operator basically only exists to provide a better tooltip for the toggle button, since it is stored as an IDProperty. It also stops the button from being highlighted when "use_attribute" is on, which isn't expected.
static int geometry_nodes_input_attribute_toggle_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_geometry_nodes_input_attribute_toggle (wmOperatorType *ot)
 
Copy and Assign Geometry Node Group operator
static int geometry_node_tree_copy_assign_exec (bContext *C, wmOperator *UNUSED(op))
 
void OBJECT_OT_geometry_node_tree_copy_assign (wmOperatorType *ot)
 

Skin Modifier

enum  SkinLooseAction { SKIN_LOOSE_MARK , SKIN_LOOSE_CLEAR }
 
static void modifier_skin_customdata_delete (struct Object *ob)
 
static bool skin_poll (bContext *C)
 
static bool skin_edit_poll (bContext *C)
 
static void skin_root_clear (BMVert *bm_vert, GSet *visited, const int cd_vert_skin_offset)
 
static int skin_root_mark_exec (bContext *C, wmOperator *UNUSED(op))
 
void OBJECT_OT_skin_root_mark (wmOperatorType *ot)
 
static int skin_loose_mark_clear_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_skin_loose_mark_clear (wmOperatorType *ot)
 
static int skin_radii_equalize_exec (bContext *C, wmOperator *UNUSED(op))
 
void OBJECT_OT_skin_radii_equalize (wmOperatorType *ot)
 
static void skin_armature_bone_create (Object *skin_ob, MVert *mvert, MEdge *medge, bArmature *arm, BLI_bitmap *edges_visited, const MeshElemMap *emap, EditBone *parent_bone, int parent_v)
 
static Objectmodifier_skin_armature_create (Depsgraph *depsgraph, Main *bmain, Object *skin_ob)
 
static int skin_armature_create_exec (bContext *C, wmOperator *op)
 
static int skin_armature_create_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_skin_armature_create (wmOperatorType *ot)
 

Multires Subdivide Operator

static EnumPropertyItem prop_multires_subdivide_mode_type []
 
static int multires_subdivide_exec (bContext *C, wmOperator *op)
 
static int multires_subdivide_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void OBJECT_OT_multires_subdivide (wmOperatorType *ot)
 

Enumeration Type Documentation

◆ SkinLooseAction

Enumerator
SKIN_LOOSE_MARK 
SKIN_LOOSE_CLEAR 

Definition at line 2483 of file object_modifier.cc.

Function Documentation

◆ correctivesmooth_bind_exec()

static int correctivesmooth_bind_exec ( bContext C,
wmOperator op 
)
static

◆ correctivesmooth_bind_invoke()

static int correctivesmooth_bind_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ correctivesmooth_poll()

static bool correctivesmooth_poll ( bContext C)
static

Definition at line 2756 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_correctivesmooth_bind().

◆ ED_object_iter_other()

bool ED_object_iter_other ( Main bmain,
Object orig_ob,
const bool  include_orig,
bool(*)(Object *ob, void *callback_data)  callback,
void callback_data 
)

◆ ED_object_modifier_add()

ModifierData* ED_object_modifier_add ( struct ReportList reports,
struct Main bmain,
struct Scene scene,
struct Object ob,
const char *  name,
int  type 
)

Add a modifier to given object, including relevant extra processing needed by some physics types (particles, simulations...).

Parameters
sceneis only used to set current frame in some cases, and may be NULL.

Definition at line 144 of file object_modifier.cc.

References BKE_mesh_ensure_skin_customdata(), BKE_modifier_get_info(), BKE_modifier_new(), BKE_modifier_unique_name(), BKE_modifiers_findby_type(), BKE_object_modifier_set_active(), BKE_object_support_modifier_type_check(), BKE_partdeflect_new(), BKE_report(), BKE_reportf(), BKE_sculpt_mask_layers_ensure(), BLI_addtail(), BLI_insertlinkbefore(), BLI_strncpy_utf8(), Object::data, PartDeflect::deflect, DEG_id_tag_update(), DEG_relations_tag_update(), eModifierType_Collision, eModifierType_Multires, eModifierType_ParticleSystem, eModifierType_Skin, eModifierType_Softbody, eModifierType_Surface, eModifierTypeFlag_RequiresOriginalData, eModifierTypeFlag_Single, eModifierTypeType_OnlyDeform, ListBase::first, ModifierTypeInfo::flags, Object::id, ID_RECALC_GEOMETRY, Object::mode, Object::modifiers, multiresModifier_set_levels_from_disps(), ID::name, ModifierData::next, OB_MODE_SCULPT, OB_SB_EDGES, OB_SB_GOAL, object_add_particle_system(), Object::pd, RPT_WARNING, sbNew(), scene, Object::soft, Object::softflag, ModifierTypeInfo::type, type, and ModifierData::type.

Referenced by ED_object_check_force_modifiers(), ED_object_parent_set(), blender::ed::curves::ensure_surface_deformation_node_exists(), geometry_extract_apply(), SkinInfo::link_armature(), and modifier_add_exec().

◆ ED_object_modifier_apply()

bool ED_object_modifier_apply ( Main bmain,
ReportList reports,
Depsgraph depsgraph,
Scene scene,
Object ob,
ModifierData md,
int  mode,
bool  keep_modifier 
)

◆ ED_object_modifier_clear()

void ED_object_modifier_clear ( Main bmain,
Scene scene,
Object ob 
)

◆ ED_object_modifier_convert_psys_to_mesh()

bool ED_object_modifier_convert_psys_to_mesh ( ReportList UNUSEDreports,
Main bmain,
Depsgraph depsgraph,
ViewLayer view_layer,
Object ob,
ModifierData md 
)

◆ ED_object_modifier_copy()

bool ED_object_modifier_copy ( ReportList UNUSEDreports,
Main bmain,
Scene scene,
Object ob,
ModifierData md 
)

◆ ED_object_modifier_copy_to_object()

void ED_object_modifier_copy_to_object ( bContext C,
Object ob_dst,
Object ob_src,
ModifierData md 
)

◆ ED_object_modifier_link()

void ED_object_modifier_link ( bContext C,
Object ob_dst,
Object ob_src 
)

◆ ED_object_modifier_move_down()

bool ED_object_modifier_move_down ( ReportList reports,
Object ob,
ModifierData md 
)

◆ ED_object_modifier_move_to_index()

bool ED_object_modifier_move_to_index ( ReportList reports,
Object ob,
ModifierData md,
const int  index 
)

◆ ED_object_modifier_move_up()

bool ED_object_modifier_move_up ( ReportList reports,
Object ob,
ModifierData md 
)

◆ ED_object_modifier_remove()

bool ED_object_modifier_remove ( ReportList reports,
Main bmain,
Scene scene,
Object ob,
ModifierData md 
)

◆ ED_object_multires_update_totlevels_cb()

bool ED_object_multires_update_totlevels_cb ( struct Object ob,
void totlevel_v 
)

Use with ED_object_iter_other(). Sets the total number of levels for any multi-res modifiers on the object to the int pointed to by callback_data.

Definition at line 291 of file object_modifier.cc.

References DEG_id_tag_update(), eModifierType_Multires, Object::id, ID_RECALC_GEOMETRY, LISTBASE_FOREACH, Object::modifiers, and multires_set_tot_level().

Referenced by join_mesh_single(), multires_higher_levels_delete_exec(), and multires_subdivide_exec().

◆ edit_modifier_invoke_properties()

bool edit_modifier_invoke_properties ( bContext C,
wmOperator op 
)

◆ edit_modifier_invoke_properties_with_hover()

static bool edit_modifier_invoke_properties_with_hover ( bContext C,
wmOperator op,
const wmEvent event,
int *  r_retval 
)
static

If the "modifier" property is not set, fill the modifier property with the name of the modifier with a UI panel below the mouse cursor, unless a specific modifier is set with a context pointer. Used in order to apply modifier operators on hover over their panels.

Definition at line 1144 of file object_modifier.cc.

References C, CTX_data_pointer_get_type(), PointerRNA::data, ModifierData::name, OPERATOR_CANCELLED, OPERATOR_PASS_THROUGH, wmOperator::ptr, RNA_pointer_is_null(), RNA_string_set(), RNA_struct_is_a(), RNA_struct_property_is_set(), PointerRNA::type, and UI_region_panel_custom_data_under_cursor().

Referenced by modifier_apply_as_shapekey_invoke(), modifier_apply_invoke(), modifier_copy_invoke(), modifier_copy_to_selected_invoke(), modifier_move_down_invoke(), modifier_move_to_index_invoke(), modifier_move_up_invoke(), modifier_remove_invoke(), and modifier_set_active_invoke().

◆ edit_modifier_liboverride_allowed_poll()

static bool edit_modifier_liboverride_allowed_poll ( bContext C)
static

Definition at line 1096 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_modifier_copy(), and OBJECT_OT_modifier_set_active().

◆ edit_modifier_poll()

static bool edit_modifier_poll ( bContext C)
static

◆ edit_modifier_poll_generic()

bool edit_modifier_poll_generic ( bContext C,
StructRNA rna_type,
int  obtype_flag,
const bool  is_editmode_allowed,
const bool  is_liboverride_allowed 
)

◆ edit_modifier_properties()

void edit_modifier_properties ( wmOperatorType ot)

◆ edit_modifier_property_get()

ModifierData* edit_modifier_property_get ( wmOperator op,
Object ob,
int  type 
)

◆ edit_modifier_report_property()

static void edit_modifier_report_property ( wmOperatorType ot)
static

◆ explode_poll()

static bool explode_poll ( bContext C)
static

Definition at line 2910 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_explode_refresh().

◆ explode_refresh_exec()

static int explode_refresh_exec ( bContext C,
wmOperator op 
)
static

◆ explode_refresh_invoke()

static int explode_refresh_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ geometry_node_tree_copy_assign_exec()

static int geometry_node_tree_copy_assign_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ geometry_nodes_input_attribute_toggle_exec()

static int geometry_nodes_input_attribute_toggle_exec ( bContext C,
wmOperator op 
)
static

◆ laplaciandeform_bind_exec()

static int laplaciandeform_bind_exec ( bContext C,
wmOperator op 
)
static

◆ laplaciandeform_bind_invoke()

static int laplaciandeform_bind_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ laplaciandeform_poll()

static bool laplaciandeform_poll ( bContext C)
static

Definition at line 3165 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_laplaciandeform_bind().

◆ meshdeform_bind_exec()

static int meshdeform_bind_exec ( bContext C,
wmOperator op 
)
static

◆ meshdeform_bind_invoke()

static int meshdeform_bind_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ meshdeform_poll()

static bool meshdeform_poll ( bContext C)
static

Definition at line 2835 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_meshdeform_bind().

◆ modifier_add_exec()

static int modifier_add_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_add_itemf()

static const EnumPropertyItem* modifier_add_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)
static

◆ modifier_apply_as_shapekey_exec()

static int modifier_apply_as_shapekey_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_apply_as_shapekey_get_description()

static char* modifier_apply_as_shapekey_get_description ( struct bContext UNUSEDC,
struct wmOperatorType UNUSEDop,
struct PointerRNA values 
)
static

Definition at line 1572 of file object_modifier.cc.

References BLI_strdup(), RNA_boolean_get(), and TIP_.

Referenced by OBJECT_OT_modifier_apply_as_shapekey().

◆ modifier_apply_as_shapekey_invoke()

static int modifier_apply_as_shapekey_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_apply_as_shapekey_poll()

static bool modifier_apply_as_shapekey_poll ( bContext C)
static

Definition at line 1551 of file object_modifier.cc.

References C, and modifier_apply_poll().

Referenced by OBJECT_OT_modifier_apply_as_shapekey().

◆ modifier_apply_create_mesh_for_modifier()

static Mesh* modifier_apply_create_mesh_for_modifier ( Depsgraph depsgraph,
Object object,
ModifierData md_eval,
bool  use_virtual_modifiers,
bool  build_shapekey_layers 
)
static

◆ modifier_apply_exec()

static int modifier_apply_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_apply_exec_ex()

static int modifier_apply_exec_ex ( bContext C,
wmOperator op,
int  apply_as,
bool  keep_modifier 
)
static

◆ modifier_apply_invoke()

static int modifier_apply_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_apply_obdata()

static bool modifier_apply_obdata ( ReportList reports,
Depsgraph depsgraph,
Scene scene,
Object ob,
ModifierData md_eval 
)
static

Definition at line 711 of file object_modifier.cc.

References blender::bke::CurvesGeometry::attributes_for_write(), BKE_curve_nurbs_vert_coords_alloc(), BKE_curve_nurbs_vert_coords_apply(), BKE_lattice_vert_coords_alloc(), BKE_lattice_vert_coords_apply(), BKE_mesh_nomain_to_mesh(), BKE_modifier_get_info(), BKE_object_material_from_eval_data(), BKE_report(), BLI_assert_unreachable, CD_MASK_MESH, curve, curves, Object::data, ModifierTypeInfo::deformVerts, DEG_get_bmain(), DEG_get_evaluated_object(), DEG_id_tag_update(), depsgraph, ELEM, eModifierType_Multires, eModifierTypeType_Constructive, eModifierTypeType_Nonconstructive, eModifierTypeType_NonGeometrical, eModifierTypeType_OnlyDeform, find_multires_modifier_before(), ListBase::first, float(), Curves::geometry, GeometrySet::get_component_for_write(), GeometrySet::get_curves_for_write(), GeometrySet::has_curves(), Curves::id, Mesh::id, Object::id, ID_RECALC_GEOMETRY, ModifierTypeInfo::isDisabled, Mesh::key, lattice, LISTBASE_FOREACH, MEM_freeN, blender::bke::mesh_attributes_for_write(), modifier_apply_create_mesh_for_modifier(), ModifierTypeInfo::modifyGeometrySet, multires_customdata_delete(), multires_force_sculpt_rebuild(), multiresModifier_reshapeFromDeformModifier(), Curve::nurb, OB_CURVES, OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_SURF, PART_HAIR, Object::particlesystem, psys_apply_hair_lattice(), ReadOnly, blender::bke::MutableAttributeAccessor::remove_anonymous(), RPT_ERROR, RPT_INFO, scene, MultiresModifierData::totlvl, ModifierTypeInfo::type, ModifierData::type, Object::type, and blender::bke::CurvesGeometry::wrap().

Referenced by ED_object_modifier_apply().

◆ modifier_apply_poll()

static bool modifier_apply_poll ( bContext C)
static

◆ modifier_apply_shape()

static bool modifier_apply_shape ( Main bmain,
ReportList reports,
Depsgraph depsgraph,
Scene scene,
Object ob,
ModifierData md_eval 
)
static

◆ modifier_convert_exec()

static int modifier_convert_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_convert_invoke()

static int modifier_convert_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ modifier_copy_exec()

static int modifier_copy_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_copy_invoke()

static int modifier_copy_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_copy_to_selected_exec()

static int modifier_copy_to_selected_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_copy_to_selected_invoke()

static int modifier_copy_to_selected_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_copy_to_selected_poll()

static bool modifier_copy_to_selected_poll ( bContext C)
static

◆ modifier_move_down_exec()

static int modifier_move_down_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_move_down_invoke()

static int modifier_move_down_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_move_to_index_exec()

static int modifier_move_to_index_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_move_to_index_invoke()

static int modifier_move_to_index_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_move_up_exec()

static int modifier_move_up_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_move_up_invoke()

static int modifier_move_up_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_remove_exec()

static int modifier_remove_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_remove_invoke()

static int modifier_remove_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_set_active_exec()

static int modifier_set_active_exec ( bContext C,
wmOperator op 
)
static

◆ modifier_set_active_invoke()

static int modifier_set_active_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ modifier_skin_armature_create()

static Object* modifier_skin_armature_create ( Depsgraph depsgraph,
Main bmain,
Object skin_ob 
)
static

◆ modifier_skin_customdata_delete()

static void modifier_skin_customdata_delete ( struct Object ob)
static

◆ multires_base_apply_exec()

static int multires_base_apply_exec ( bContext C,
wmOperator op 
)
static

◆ multires_base_apply_invoke()

static int multires_base_apply_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ multires_external_pack_exec()

static int multires_external_pack_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ multires_external_save_exec()

static int multires_external_save_exec ( bContext C,
wmOperator op 
)
static

◆ multires_external_save_invoke()

static int multires_external_save_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ multires_higher_levels_delete_exec()

static int multires_higher_levels_delete_exec ( bContext C,
wmOperator op 
)
static

◆ multires_higher_levels_delete_invoke()

static int multires_higher_levels_delete_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ multires_poll()

static bool multires_poll ( bContext C)
static

◆ multires_rebuild_subdiv_exec()

static int multires_rebuild_subdiv_exec ( bContext C,
wmOperator op 
)
static

◆ multires_rebuild_subdiv_invoke()

static int multires_rebuild_subdiv_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ multires_reshape_exec()

static int multires_reshape_exec ( bContext C,
wmOperator op 
)
static

◆ multires_reshape_invoke()

static int multires_reshape_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ multires_subdivide_exec()

static int multires_subdivide_exec ( bContext C,
wmOperator op 
)
static

◆ multires_subdivide_invoke()

static int multires_subdivide_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ multires_unsubdivide_exec()

static int multires_unsubdivide_exec ( bContext C,
wmOperator op 
)
static

◆ multires_unsubdivide_invoke()

static int multires_unsubdivide_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ object_force_modifier_bind_simple_options()

static void object_force_modifier_bind_simple_options ( Depsgraph depsgraph,
Object object,
ModifierData md 
)
static

◆ object_force_modifier_update_for_bind()

static void object_force_modifier_update_for_bind ( Depsgraph depsgraph,
Object ob 
)
static

◆ object_has_modifier()

static bool object_has_modifier ( const Object ob,
const ModifierData exclude,
ModifierType  type 
)
static

◆ object_has_modifier_cb()

static bool object_has_modifier_cb ( Object ob,
void data 
)
static

Definition at line 284 of file object_modifier.cc.

References data, object_has_modifier(), and type.

Referenced by object_modifier_safe_to_delete().

◆ object_modifier_remove()

static bool object_modifier_remove ( Main bmain,
Scene scene,
Object ob,
ModifierData md,
bool r_sort_depsgraph 
)
static

◆ object_modifier_safe_to_delete()

static bool object_modifier_safe_to_delete ( Main bmain,
Object ob,
ModifierData exclude,
ModifierType  type 
)
static

◆ OBJECT_OT_correctivesmooth_bind()

void OBJECT_OT_correctivesmooth_bind ( wmOperatorType ot)

◆ OBJECT_OT_explode_refresh()

void OBJECT_OT_explode_refresh ( wmOperatorType ot)

◆ OBJECT_OT_geometry_node_tree_copy_assign()

void OBJECT_OT_geometry_node_tree_copy_assign ( wmOperatorType ot)

◆ OBJECT_OT_geometry_nodes_input_attribute_toggle()

void OBJECT_OT_geometry_nodes_input_attribute_toggle ( wmOperatorType ot)

◆ OBJECT_OT_laplaciandeform_bind()

void OBJECT_OT_laplaciandeform_bind ( wmOperatorType ot)

◆ OBJECT_OT_meshdeform_bind()

void OBJECT_OT_meshdeform_bind ( wmOperatorType ot)

◆ OBJECT_OT_modifier_add()

void OBJECT_OT_modifier_add ( wmOperatorType ot)

◆ OBJECT_OT_modifier_apply()

void OBJECT_OT_modifier_apply ( wmOperatorType ot)

◆ OBJECT_OT_modifier_apply_as_shapekey()

void OBJECT_OT_modifier_apply_as_shapekey ( wmOperatorType ot)

◆ OBJECT_OT_modifier_convert()

void OBJECT_OT_modifier_convert ( wmOperatorType ot)

◆ OBJECT_OT_modifier_copy()

void OBJECT_OT_modifier_copy ( wmOperatorType ot)

◆ OBJECT_OT_modifier_copy_to_selected()

void OBJECT_OT_modifier_copy_to_selected ( wmOperatorType ot)

◆ OBJECT_OT_modifier_move_down()

void OBJECT_OT_modifier_move_down ( wmOperatorType ot)

◆ OBJECT_OT_modifier_move_to_index()

void OBJECT_OT_modifier_move_to_index ( wmOperatorType ot)

◆ OBJECT_OT_modifier_move_up()

void OBJECT_OT_modifier_move_up ( wmOperatorType ot)

◆ OBJECT_OT_modifier_remove()

void OBJECT_OT_modifier_remove ( wmOperatorType ot)

◆ OBJECT_OT_modifier_set_active()

void OBJECT_OT_modifier_set_active ( wmOperatorType ot)

◆ OBJECT_OT_multires_base_apply()

void OBJECT_OT_multires_base_apply ( wmOperatorType ot)

◆ OBJECT_OT_multires_external_pack()

void OBJECT_OT_multires_external_pack ( wmOperatorType ot)

◆ OBJECT_OT_multires_external_save()

void OBJECT_OT_multires_external_save ( wmOperatorType ot)

◆ OBJECT_OT_multires_higher_levels_delete()

void OBJECT_OT_multires_higher_levels_delete ( wmOperatorType ot)

◆ OBJECT_OT_multires_rebuild_subdiv()

void OBJECT_OT_multires_rebuild_subdiv ( wmOperatorType ot)

◆ OBJECT_OT_multires_reshape()

void OBJECT_OT_multires_reshape ( wmOperatorType ot)

◆ OBJECT_OT_multires_subdivide()

void OBJECT_OT_multires_subdivide ( wmOperatorType ot)

◆ OBJECT_OT_multires_unsubdivide()

void OBJECT_OT_multires_unsubdivide ( wmOperatorType ot)

◆ OBJECT_OT_ocean_bake()

void OBJECT_OT_ocean_bake ( wmOperatorType ot)

◆ OBJECT_OT_skin_armature_create()

void OBJECT_OT_skin_armature_create ( wmOperatorType ot)

◆ OBJECT_OT_skin_loose_mark_clear()

void OBJECT_OT_skin_loose_mark_clear ( wmOperatorType ot)

◆ OBJECT_OT_skin_radii_equalize()

void OBJECT_OT_skin_radii_equalize ( wmOperatorType ot)

◆ OBJECT_OT_skin_root_mark()

void OBJECT_OT_skin_root_mark ( wmOperatorType ot)

◆ OBJECT_OT_surfacedeform_bind()

void OBJECT_OT_surfacedeform_bind ( wmOperatorType ot)

◆ ocean_bake_exec()

static int ocean_bake_exec ( bContext C,
wmOperator op 
)
static

◆ ocean_bake_invoke()

static int ocean_bake_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ ocean_bake_poll()

static bool ocean_bake_poll ( bContext C)
static

Definition at line 2962 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_ocean_bake().

◆ oceanbake_breakjob()

static int oceanbake_breakjob ( void UNUSEDcustomdata)
static

Definition at line 2985 of file object_modifier.cc.

References G.

Referenced by oceanbake_update().

◆ oceanbake_endjob()

static void oceanbake_endjob ( void customdata)
static

◆ oceanbake_free()

static void oceanbake_free ( void customdata)
static

Definition at line 2978 of file object_modifier.cc.

Referenced by ocean_bake_exec().

◆ oceanbake_startjob()

static void oceanbake_startjob ( void customdata,
short *  stop,
short *  do_update,
float progress 
)
static

◆ oceanbake_update()

static void oceanbake_update ( void customdata,
float  progress,
int *  cancel 
)
static

◆ skin_armature_bone_create()

static void skin_armature_bone_create ( Object skin_ob,
MVert mvert,
MEdge medge,
bArmature arm,
BLI_bitmap edges_visited,
const MeshElemMap emap,
EditBone parent_bone,
int  parent_v 
)
static

◆ skin_armature_create_exec()

static int skin_armature_create_exec ( bContext C,
wmOperator op 
)
static

◆ skin_armature_create_invoke()

static int skin_armature_create_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ skin_edit_poll()

static bool skin_edit_poll ( bContext C)
static

◆ skin_loose_mark_clear_exec()

static int skin_loose_mark_clear_exec ( bContext C,
wmOperator op 
)
static

◆ skin_poll()

static bool skin_poll ( bContext C)
static

Definition at line 2403 of file object_modifier.cc.

References C, edit_modifier_poll_generic(), and OB_MESH.

Referenced by OBJECT_OT_skin_armature_create().

◆ skin_radii_equalize_exec()

static int skin_radii_equalize_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ skin_root_clear()

static void skin_root_clear ( BMVert bm_vert,
GSet visited,
const int  cd_vert_skin_offset 
)
static

◆ skin_root_mark_exec()

static int skin_root_mark_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ surfacedeform_bind_exec()

static int surfacedeform_bind_exec ( bContext C,
wmOperator op 
)
static

◆ surfacedeform_bind_invoke()

static int surfacedeform_bind_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ surfacedeform_bind_poll()

static bool surfacedeform_bind_poll ( bContext C)
static

Definition at line 3242 of file object_modifier.cc.

References C, and edit_modifier_poll_generic().

Referenced by OBJECT_OT_surfacedeform_bind().

Variable Documentation

◆ prop_multires_subdivide_mode_type

EnumPropertyItem prop_multires_subdivide_mode_type[]
static
Initial value:
= {
"CATMULL_CLARK",
0,
"Catmull-Clark",
"Create a new level using Catmull-Clark subdivisions"},
"SIMPLE",
0,
"Simple",
"Create a new level using simple subdivisions"},
"LINEAR",
0,
"Linear",
"Create a new level using linear interpolation of the sculpted displacement"},
{0, nullptr, 0, nullptr, nullptr},
}
@ MULTIRES_SUBDIVIDE_LINEAR
Definition: BKE_multires.h:198
@ MULTIRES_SUBDIVIDE_CATMULL_CLARK
Definition: BKE_multires.h:196
@ MULTIRES_SUBDIVIDE_SIMPLE
Definition: BKE_multires.h:197

Definition at line 1951 of file object_modifier.cc.

Referenced by OBJECT_OT_multires_subdivide().