Blender V4.3
blender::ed::object Namespace Reference

Namespaces

namespace  bake_simulation
 

Classes

struct  BakeAPIRender
 
struct  CollectionAddInfo
 
struct  CollectionExportStats
 
struct  ElemData_Armature
 
struct  ElemData_MetaBall
 
struct  MoveToCollectionData
 
struct  MultiresBakeJob
 
struct  MultiresBakerJobData
 
struct  OceanBakeJob
 
struct  ParentingContext
 
struct  QuadriFlowJob
 
struct  VoxelSizeEditCustomData
 
struct  XFormAxisData
 
struct  XFormAxisItem
 
struct  XFormObjectData
 
struct  XFormObjectData_Armature
 
struct  XFormObjectData_Container
 
struct  XFormObjectData_Curve
 
struct  XFormObjectData_Extra
 
struct  XFormObjectData_GPencil
 
struct  XFormObjectData_GreasePencil
 
struct  XFormObjectData_Lattice
 
struct  XFormObjectData_Mesh
 
struct  XFormObjectData_MetaBall
 
struct  XFormObjectSkipChild
 
struct  XFormObjectSkipChild_Container
 

Enumerations

enum  { XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM = 1 , XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM_INDIRECT = 3 , XFORM_OB_SKIP_CHILD_PARENT_APPLY = 2 }
 
enum  eParentType {
  PAR_OBJECT , PAR_ARMATURE , PAR_ARMATURE_NAME , PAR_ARMATURE_ENVELOPE ,
  PAR_ARMATURE_AUTO , PAR_BONE , PAR_BONE_RELATIVE , PAR_CURVE ,
  PAR_FOLLOW , PAR_PATH_CONST , PAR_LATTICE , PAR_VERTEX ,
  PAR_VERTEX_TRI
}
 
enum  eObjectSelect_Mode { BA_DESELECT = 0 , BA_SELECT = 1 , BA_INVERT = 2 }
 
enum  eObClearParentTypes { CLEAR_PARENT_ALL = 0 , CLEAR_PARENT_KEEP_TRANSFORM , CLEAR_PARENT_INVERSE }
 
enum  { EM_FREEDATA = (1 << 0) , EM_NO_CONTEXT = (1 << 1) }
 
enum  eObjectPathCalcRange { OBJECT_PATH_CALC_RANGE_CURRENT_FRAME , OBJECT_PATH_CALC_RANGE_CHANGED , OBJECT_PATH_CALC_RANGE_FULL }
 
enum  { MODIFIER_APPLY_DATA = 1 , MODIFIER_APPLY_SHAPE }
 
enum  ClearFlag { CLEAR_TANGENT_NORMAL = 1 , CLEAR_DISPLACEMENT = 2 }
 
enum  eObject_Hook_Add_Mode { OBJECT_ADDHOOK_NEWOB = 1 , OBJECT_ADDHOOK_SELOB , OBJECT_ADDHOOK_SELOB_BONE }
 

Functions

void operatortypes_object ()
 
void operatormacros_object ()
 
void keymap_object (wmKeyConfig *keyconf)
 
GpencilModifierDatagpencil_modifier_add (ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
 
bool gpencil_modifier_remove (ReportList *reports, Main *bmain, Object *ob, GpencilModifierData *md)
 
void gpencil_modifier_clear (Main *bmain, Object *ob)
 
bool gpencil_modifier_move_down (ReportList *reports, Object *ob, GpencilModifierData *md)
 
bool gpencil_modifier_move_up (ReportList *reports, Object *ob, GpencilModifierData *md)
 
bool gpencil_modifier_move_to_index (ReportList *reports, Object *ob, GpencilModifierData *md, int index)
 
bool gpencil_modifier_apply (Main *bmain, ReportList *reports, Depsgraph *depsgraph, Object *ob, GpencilModifierData *md, int mode)
 
bool gpencil_modifier_copy (ReportList *reports, Object *ob, GpencilModifierData *md)
 
void gpencil_modifier_copy_to_object (Object *ob_dst, GpencilModifierData *md)
 
void ui_template_modifier_asset_menu_items (uiLayout &layout, StringRef catalog_path)
 
static bool all_loading_finished ()
 
static asset::AssetItemTree build_catalog_tree (const bContext &C)
 
static asset::AssetItemTreeget_static_item_tree ()
 
static void catalog_assets_draw (const bContext *C, Menu *menu)
 
static bool unassigned_local_poll (const Main &bmain)
 
static void unassigned_assets_draw (const bContext *C, Menu *menu)
 
static void root_catalogs_draw (const bContext *C, Menu *menu)
 
static bNodeTreeget_asset_or_local_node_group (const bContext &C, PointerRNA &ptr, ReportList *reports)
 
static bNodeTreeget_node_group (const bContext &C, PointerRNA &ptr, ReportList *reports)
 
static int modifier_add_asset_exec (bContext *C, wmOperator *op)
 
static int modifier_add_asset_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static std::string modifier_add_asset_get_description (bContext *C, wmOperatorType *, PointerRNA *ptr)
 
static void OBJECT_OT_modifier_add_node_group (wmOperatorType *ot)
 
static MenuType modifier_add_unassigned_assets_menu_type ()
 
static MenuType modifier_add_catalog_assets_menu_type ()
 
static MenuType modifier_add_root_catalogs_menu_type ()
 
void object_modifier_add_asset_register ()
 
static Imagebake_object_image_get (Object *ob, int mat_nr)
 
static Image ** bake_object_image_get_array (Object *ob)
 
static bool multiresbake_check (bContext *C, wmOperator *op)
 
static DerivedMeshmultiresbake_create_loresdm (Scene *scene, Object *ob, int *lvl)
 
static DerivedMeshmultiresbake_create_hiresdm (Scene *scene, Object *ob, int *lvl)
 
static void clear_single_image (Image *image, ClearFlag flag)
 
static void clear_images_poly (Image **ob_image_array, int ob_image_array_len, ClearFlag flag)
 
static int multiresbake_image_exec_locked (bContext *C, wmOperator *op)
 
static void init_multiresbake_job (bContext *C, MultiresBakeJob *bkj)
 
static void multiresbake_startjob (void *bkv, wmJobWorkerStatus *worker_status)
 
static void multiresbake_freejob (void *bkv)
 
static int multiresbake_image_exec (bContext *C, wmOperator *op)
 
static int objects_bake_render_modal (bContext *C, wmOperator *, const wmEvent *event)
 
static bool is_multires_bake (Scene *scene)
 
static int objects_bake_render_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int bake_image_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_bake_image (wmOperatorType *ot)
 
static void bake_set_props (wmOperator *op, Scene *scene)
 
static void bake_progress_update (void *bjv, float progress)
 
static int bake_modal (bContext *C, wmOperator *, const wmEvent *event)
 
static bool bake_break (void *)
 
static void bake_update_image (ScrArea *area, Image *image)
 
static void bias_tangent_normal_pixels (float *rect, int channels, int width, int height, int stride)
 
static bool write_internal_bake_pixels (Image *image, const int image_tile_number, BakePixel pixel_array[], float *buffer, const int width, const int height, const int margin, const char margin_type, const bool is_clear, const bool is_noncolor, const bool is_tangent_normal, Mesh const *mesh_eval, char const *uv_layer, const float uv_offset[2])
 
static void bake_targets_refresh (BakeTargets *targets)
 
static bool write_external_bake_pixels (const char *filepath, BakePixel pixel_array[], float *buffer, const int width, const int height, const int margin, const int margin_type, ImageFormatData const *im_format, const bool is_noncolor, const bool is_tangent_normal, Mesh const *mesh_eval, char const *uv_layer, const float uv_offset[2])
 
static bool is_noncolor_pass (eScenePassType pass_type)
 
static bool bake_object_check (const Scene *scene, ViewLayer *view_layer, Object *ob, const eBakeTarget target, ReportList *reports)
 
static bool bake_pass_filter_check (eScenePassType pass_type, const int pass_filter, ReportList *reports)
 
static bool bake_objects_check (Main *bmain, const Scene *scene, ViewLayer *view_layer, Object *ob, Span< PointerRNA > selected_objects, ReportList *reports, const bool is_selected_to_active, const eBakeTarget target)
 
static void bake_targets_clear (Main *bmain, const bool is_tangent)
 
static Meshbake_mesh_new_from_object (Depsgraph *depsgraph, Object *object, const bool preserve_origindex)
 
static bool bake_targets_init_image_textures (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, ReportList *reports)
 
static bool bake_targets_init_internal (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, ReportList *reports)
 
static bool bake_targets_output_internal (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, BakePixel *pixel_array, ReportList *reports, Mesh *mesh_eval)
 
static bool bake_targets_init_external (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, ReportList *reports)
 
static bool bake_targets_output_external (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Object *ob_eval, Mesh *mesh_eval, BakePixel *pixel_array, ReportList *reports)
 
static bool bake_targets_init_vertex_colors (Main *bmain, BakeTargets *targets, Object *ob, ReportList *reports)
 
static int find_original_loop (const OffsetIndices< int > orig_faces, const Span< int > orig_corner_verts, const int *vert_origindex, const int *poly_origindex, const int poly_eval, const int vert_eval)
 
static void bake_targets_populate_pixels_color_attributes (BakeTargets *targets, Object *ob, Mesh *mesh_eval, BakePixel *pixel_array)
 
static void bake_result_add_to_rgba (float rgba[4], const float *result, const int channels_num)
 
static void convert_float_color_to_byte_color (const MPropCol *float_colors, const int num, const bool is_noncolor, MLoopCol *byte_colors)
 
static bool bake_targets_output_vertex_colors (BakeTargets *targets, Object *ob)
 
static bool bake_targets_init (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Object *ob_eval, ReportList *reports)
 
static void bake_targets_populate_pixels (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Mesh *mesh_eval, BakePixel *pixel_array)
 
static bool bake_targets_output (const BakeAPIRender *bkr, BakeTargets *targets, Object *ob, Object *ob_eval, Mesh *mesh_eval, BakePixel *pixel_array, ReportList *reports)
 
static void bake_targets_free (BakeTargets *targets)
 
static int bake (const BakeAPIRender *bkr, Object *ob_low, const Span< PointerRNA > selected_objects, ReportList *reports)
 
static void bake_init_api_data (wmOperator *op, bContext *C, BakeAPIRender *bkr)
 
static int bake_exec (bContext *C, wmOperator *op)
 
static void bake_startjob (void *bkv, wmJobWorkerStatus *worker_status)
 
static void bake_job_complete (void *bkv)
 
static void bake_job_canceled (void *bkv)
 
static void bake_freejob (void *bkv)
 
static int bake_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void OBJECT_OT_bake (wmOperatorType *ot)
 
static const EnumPropertyItemcollection_object_active_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
static Collectioncollection_object_active_find_index (Main *bmain, Scene *scene, Object *ob, const int collection_object_index)
 
static int objects_add_active_exec (bContext *C, wmOperator *op)
 
void COLLECTION_OT_objects_add_active (wmOperatorType *ot)
 
static int objects_remove_active_exec (bContext *C, wmOperator *op)
 
void COLLECTION_OT_objects_remove_active (wmOperatorType *ot)
 
static int collection_objects_remove_all_exec (bContext *C, wmOperator *)
 
void COLLECTION_OT_objects_remove_all (wmOperatorType *ot)
 
static int collection_objects_remove_exec (bContext *C, wmOperator *op)
 
void COLLECTION_OT_objects_remove (wmOperatorType *ot)
 
static int collection_create_exec (bContext *C, wmOperator *op)
 
void COLLECTION_OT_create (wmOperatorType *ot)
 
static bool collection_exporter_common_check (const Collection *collection)
 
static bool collection_exporter_poll (bContext *C)
 
static bool collection_exporter_remove_poll (bContext *C)
 
static bool collection_export_all_poll (bContext *C)
 
static int collection_exporter_add_exec (bContext *C, wmOperator *op)
 
static void COLLECTION_OT_exporter_add (wmOperatorType *ot)
 
static int collection_exporter_remove_exec (bContext *C, wmOperator *op)
 
static int collection_exporter_remove_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static void COLLECTION_OT_exporter_remove (wmOperatorType *ot)
 
static int collection_exporter_export (bContext *C, wmOperator *op, CollectionExport *data, Collection *collection, const bool report_success)
 
static int collection_exporter_export_exec (bContext *C, wmOperator *op)
 
static void COLLECTION_OT_exporter_export (wmOperatorType *ot)
 
static int collection_export (bContext *C, wmOperator *op, Collection *collection, CollectionExportStats &stats)
 
static int collection_io_export_all_exec (bContext *C, wmOperator *op)
 
static void COLLECTION_OT_export_all (wmOperatorType *ot)
 
static int collection_export_recursive (bContext *C, wmOperator *op, LayerCollection *layer_collection, CollectionExportStats &stats)
 
static int wm_collection_export_all_exec (bContext *C, wmOperator *op)
 
static void WM_OT_collection_export_all (wmOperatorType *ot)
 
static void collection_exporter_menu_draw (const bContext *, Menu *menu)
 
void collection_exporter_register ()
 
static int collection_add_exec (bContext *C, wmOperator *)
 
void OBJECT_OT_collection_add (wmOperatorType *ot)
 
static int collection_link_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_collection_link (wmOperatorType *ot)
 
static int collection_remove_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_collection_remove (wmOperatorType *ot)
 
static int collection_unlink_exec (bContext *C, wmOperator *op)
 
static bool collection_unlink_poll (bContext *C)
 
void OBJECT_OT_collection_unlink (wmOperatorType *ot)
 
static int select_grouped_exec (bContext *C, wmOperator *)
 
void OBJECT_OT_collection_objects_select (wmOperatorType *ot)
 
static void dt_add_vcol_layers (const CustomData *cdata, eCustomDataMask mask, EnumPropertyItem **r_item, int *r_totitem)
 
static const EnumPropertyItemdt_layers_select_src_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *, bool *r_free)
 
static const EnumPropertyItemdt_layers_select_dst_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *, bool *r_free)
 
static const EnumPropertyItemdt_layers_select_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
 
static const EnumPropertyItemdt_mix_mode_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *, bool *r_free)
 
static bool data_transfer_check (bContext *, wmOperator *op)
 
static void data_transfer_exec_preprocess_objects (bContext *C, wmOperator *op, Object *ob_src, Vector< PointerRNA > *ctx_objects, const bool reverse_transfer)
 
static bool data_transfer_exec_is_object_valid (wmOperator *op, Object *ob_src, Object *ob_dst, const bool reverse_transfer)
 
static int data_transfer_exec (bContext *C, wmOperator *op)
 
static bool data_transfer_poll (bContext *C)
 
static bool data_transfer_poll_property (const bContext *, wmOperator *op, const PropertyRNA *prop)
 
static std::string data_transfer_get_description (bContext *, wmOperatorType *, PointerRNA *ptr)
 
void OBJECT_OT_data_transfer (wmOperatorType *ot)
 
static bool datalayout_transfer_poll (bContext *C)
 
static int datalayout_transfer_exec (bContext *C, wmOperator *op)
 
static int datalayout_transfer_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_datalayout_transfer (wmOperatorType *ot)
 
static int return_editmesh_indexar (BMEditMesh *em, int *r_indexar_num, int **r_indexar, float r_cent[3])
 
static bool return_editmesh_vgroup (Object *obedit, BMEditMesh *em, char *r_name, float r_cent[3])
 
static void select_editbmesh_hook (Object *ob, HookModifierData *hmd)
 
static int return_editlattice_indexar (Lattice *editlatt, int **r_indexar, int *r_indexar_num, float r_cent[3])
 
static void select_editlattice_hook (Object *obedit, HookModifierData *hmd)
 
static int return_editcurve_indexar (Object *obedit, int **r_indexar, int *r_indexar_num, float r_cent[3])
 
static bool object_hook_index_array (Main *bmain, Scene *scene, Object *obedit, int **r_indexar, int *r_indexar_num, char *r_name, float r_cent[3])
 
static void select_editcurve_hook (Object *obedit, HookModifierData *hmd)
 
static void object_hook_from_context (bContext *C, PointerRNA *ptr, const int num, Object **r_ob, HookModifierData **r_hmd)
 
static void object_hook_select (Object *ob, HookModifierData *hmd)
 
static bool hook_op_edit_poll (bContext *C)
 
static Objectadd_hook_object_new (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, Object *obedit)
 
static int add_hook_object (const bContext *C, Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, Object *obedit, Object *ob, int mode, ReportList *reports)
 
static int object_add_hook_selob_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hook_add_selob (wmOperatorType *ot)
 
static int object_add_hook_newob_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hook_add_newob (wmOperatorType *ot)
 
static int object_hook_remove_exec (bContext *C, wmOperator *op)
 
static const EnumPropertyItemhook_mod_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
void OBJECT_OT_hook_remove (wmOperatorType *ot)
 
static int object_hook_reset_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hook_reset (wmOperatorType *ot)
 
static int object_hook_recenter_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hook_recenter (wmOperatorType *ot)
 
static int object_hook_assign_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hook_assign (wmOperatorType *ot)
 
static int object_hook_select_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hook_select (wmOperatorType *ot)
 
void OBJECT_OT_volume_add (wmOperatorType *ot)
 
void OBJECT_OT_volume_import (wmOperatorType *ot)
 
void TRANSFORM_OT_vertex_warp (wmOperatorType *ot)
 
void TRANSFORM_OT_vertex_random (wmOperatorType *ot)
 
Vector< PointerRNAmodifier_get_edit_objects (const bContext &C, const wmOperator &op)
 
void modifier_register_use_selected_objects_prop (wmOperatorType *ot)
 
static bool object_mode_poll (bContext *C)
 
static bool object_rand_transverts (TransVertStore *tvs, const float offset, const float uniform, const float normal_factor, const uint seed)
 
static int object_rand_verts_exec (bContext *C, wmOperator *op)
 
static Objectobject_volume_add (bContext *C, wmOperator *op, const char *name)
 
static int object_volume_add_exec (bContext *C, wmOperator *op)
 
static int volume_import_exec (bContext *C, wmOperator *op)
 
static int volume_import_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static void object_warp_calc_view_matrix (float r_mat_view[4][4], float r_center_view[3], Object *obedit, const float viewmat[4][4], const float center[3], const float offset_angle)
 
static void object_warp_transverts_minmax_x (TransVertStore *tvs, const float mat_view[4][4], const float center_view[3], float *r_min, float *r_max)
 
static void object_warp_transverts (TransVertStore *tvs, const float mat_view[4][4], const float center_view[3], const float angle_, const float min, const float max)
 
static int object_warp_verts_exec (bContext *C, wmOperator *op)
 
Internal Utilities
Objectcontext_object (const bContext *C)
 
Objectcontext_active_object (const bContext *C)
 
blender::Vector< Object * > objects_in_mode_or_selected (bContext *C, bool(*filter_fn)(const Object *ob, void *user_data), void *filter_user_data)
 
Hide Operator
void collection_hide_menu_draw (const bContext *C, uiLayout *layout)
 
static bool object_hide_poll (bContext *C)
 
static int object_hide_view_clear_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hide_view_clear (wmOperatorType *ot)
 
static int object_hide_view_set_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_hide_view_set (wmOperatorType *ot)
 
static int object_hide_collection_exec (bContext *C, wmOperator *op)
 
static int object_hide_collection_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_hide_collection (wmOperatorType *ot)
 
Shape Key Lock Checks
bool shape_key_report_if_locked (const Object *obedit, ReportList *reports)
 
bool shape_key_report_if_active_locked (Object *ob, ReportList *reports)
 
bool shape_key_report_if_any_locked (Object *ob, ReportList *reports)
 
static bool object_is_any_shape_key_locked (Object *ob)
 
Active Element Center
bool calc_active_center_for_editmode (Object *obedit, bool select_only, float r_center[3])
 
bool calc_active_center_for_posemode (Object *ob, bool select_only, float r_center[3])
 
bool calc_active_center (Object *ob, bool select_only, float r_center[3])
 
Object Data Transform Container

Use to implement 'Affect Only Origins' feature.

XFormObjectData_Containerdata_xform_container_create ()
 
void data_xform_container_destroy (XFormObjectData_Container *xds)
 
void data_xform_container_update_all (XFormObjectData_Container *xds, Main *bmain, Depsgraph *depsgraph)
 
void data_xform_container_item_ensure (XFormObjectData_Container *xds, Object *ob)
 
static void trans_obdata_in_obmode_free_elem (void *xf_p)
 
Object Child Skip

Don't transform unselected children, this is done using the parent inverse matrix.

Note
The complex logic here is caused by mixed selection within a single selection chain, otherwise we only need XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM for single objects.
XFormObjectSkipChild_Containerxform_skip_child_container_create ()
 
void xform_skip_child_container_item_ensure_from_array (XFormObjectSkipChild_Container *xcs, const Scene *scene, ViewLayer *view_layer, Object **objects, uint objects_len)
 
void object_xform_skip_child_container_destroy (XFormObjectSkipChild_Container *xcs)
 
void object_xform_skip_child_container_update_all (XFormObjectSkipChild_Container *xcs, Main *bmain, Depsgraph *depsgraph)
 
void object_xform_skip_child_container_item_ensure (XFormObjectSkipChild_Container *xcs, Object *ob, Object *ob_parent_recurse, int mode)
 
Transform Object Array

Low level object transform function, transforming objects by matrix. Simple alternative to full transform logic.

void object_xform_array_m4 (Object **objects, uint objects_len, const float matrix[4][4])
 
static bool object_parent_in_set (GSet *objects_set, Object *ob)
 
Public Object Selection API
void base_select (Base *base, eObjectSelect_Mode mode)
 
void base_activate (bContext *C, Base *base)
 
void base_activate_with_mode_exit_if_needed (bContext *C, Base *base)
 
void base_active_refresh (Main *bmain, Scene *scene, ViewLayer *view_layer)
 
bool base_deselect_all_ex (const Scene *scene, ViewLayer *view_layer, View3D *v3d, int action, bool *r_any_visible)
 
bool base_deselect_all (const Scene *scene, ViewLayer *view_layer, View3D *v3d, int action)
 
Delete Object Operator
void base_free_and_unlink (Main *bmain, Scene *scene, Object *ob)
 
void base_free_and_unlink_no_indirect_check (Main *bmain, Scene *scene, Object *ob)
 
static int object_delete_exec (bContext *C, wmOperator *op)
 
static int object_delete_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void OBJECT_OT_delete (wmOperatorType *ot)
 
Duplicate Object Operator
Baseadd_duplicate (Main *bmain, Scene *scene, ViewLayer *view_layer, Base *base, eDupli_ID_Flags dupflag)
 
static void object_add_sync_base_collection (Main *bmain, Scene *scene, ViewLayer *view_layer, Base *base_src, Object *object_new)
 
static void object_add_sync_local_view (Base *base_src, Base *base_new)
 
static void object_add_sync_rigid_body (Main *bmain, Object *object_src, Object *object_new)
 
static void object_add_duplicate_internal (Main *bmain, Object *ob, const eDupli_ID_Flags dupflag, const eLibIDDuplicateFlags duplicate_options, Object **r_ob_new)
 
static Baseobject_add_duplicate_internal (Main *bmain, Scene *scene, ViewLayer *view_layer, Object *ob, const eDupli_ID_Flags dupflag, const eLibIDDuplicateFlags duplicate_options, Object **r_ob_new)
 
static int duplicate_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_duplicate (wmOperatorType *ot)
 
Drop Named Material on Object Operator
std::string drop_named_material_tooltip (bContext *C, const char *name, const int mval[2])
 
void OBJECT_OT_drop_named_material (wmOperatorType *ot)
 
static int drop_named_material_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Drop Geometry Nodes on Object Operator
std::string drop_geometry_nodes_tooltip (bContext *C, PointerRNA *properties, const int mval[2])
 
void OBJECT_OT_drop_geometry_nodes (wmOperatorType *ot)
 
static bool check_geometry_node_group_sockets (wmOperator *op, const bNodeTree *tree)
 
static int drop_geometry_nodes_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Toggle Edit-Mode Operator
bool editmode_exit_ex (Main *bmain, Scene *scene, Object *obedit, int flag)
 
bool editmode_exit (bContext *C, int flag)
 
bool editmode_free_ex (Main *bmain, Object *obedit)
 
bool editmode_exit_multi_ex (Main *bmain, Scene *scene, ViewLayer *view_layer, int flag)
 
bool editmode_exit_multi (bContext *C, int flag)
 
bool editmode_enter_ex (Main *bmain, Scene *scene, Object *ob, int flag)
 
bool editmode_enter (bContext *C, int flag)
 
bool editmode_load (Main *bmain, Object *obedit)
 
static bool mesh_needs_keyindex (Main *bmain, const Mesh *mesh)
 
static bool editmode_load_free_ex (Main *bmain, Object *obedit, const bool load_data, const bool free_data)
 
static int editmode_toggle_exec (bContext *C, wmOperator *op)
 
static bool editmode_toggle_poll (bContext *C)
 
void OBJECT_OT_editmode_toggle (wmOperatorType *ot)
 
Public Add Object API
void location_from_view (bContext *C, float loc[3])
 
void rotation_from_quat (float rot[3], const float quat[4], char align_axis)
 
void rotation_from_view (bContext *C, float rot[3], char align_axis)
 
void init_transform_on_add (Object *object, const float loc[3], const float rot[3])
 
float new_primitive_matrix (bContext *C, Object *obedit, const float loc[3], const float rot[3], const float scale[3], float primmat[4][4])
 
Add Object Operator
void add_unit_props_size (wmOperatorType *ot)
 
void add_unit_props_radius_ex (wmOperatorType *ot, float default_value)
 
void add_unit_props_radius (wmOperatorType *ot)
 
void add_generic_props (wmOperatorType *ot, bool do_editmode)
 
void add_mesh_props (wmOperatorType *ot)
 
void add_generic_get_opts (bContext *C, wmOperator *op, char view_align_axis, float r_loc[3], float r_rot[3], float r_scale[3], bool *r_enter_editmode, unsigned short *r_local_view_bits, bool *r_is_view_aligned)
 
Objectadd_type_with_obdata (bContext *C, int type, const char *name, const float loc[3], const float rot[3], bool enter_editmode, ushort local_view_bits, ID *obdata)
 
Objectadd_type (bContext *C, int type, const char *name, const float loc[3], const float rot[3], bool enter_editmode, unsigned short local_view_bits) ATTR_NONNULL(1) ATTR_RETURNS_NONNULL
 
static void view_align_update (Main *, Scene *, PointerRNA *ptr)
 
static int object_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_add (wmOperatorType *ot)
 
Clear Motion Paths Operator
void motion_paths_clear (bContext *C, bool only_selected)
 
static void object_clear_mpath (Object *ob)
 
static int object_clear_paths_exec (bContext *C, wmOperator *op)
 
static std::string object_clear_paths_get_description (bContext *, wmOperatorType *, PointerRNA *ptr)
 
void OBJECT_OT_paths_clear (wmOperatorType *ot)
 
Calculate Motion Paths Operator
void motion_paths_recalc (bContext *C, Scene *scene, eObjectPathCalcRange range, ListBase *ld_objects)
 
void motion_paths_recalc_selected (bContext *C, Scene *scene, eObjectPathCalcRange range)
 
void motion_paths_recalc_visible (bContext *C, Scene *scene, eObjectPathCalcRange range)
 
static eAnimvizCalcRange object_path_convert_range (eObjectPathCalcRange range)
 
static bool has_object_motion_paths (Object *ob)
 
static bool has_pose_motion_paths (Object *ob)
 
static int object_calculate_paths_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int object_calculate_paths_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_paths_calculate (wmOperatorType *ot)
 
Constraint Data Accessors
ListBaseconstraint_active_list (Object *ob)
 
ListBasepose_constraint_list (const bContext *C)
 
ListBaseconstraint_list_from_constraint (Object *ob, bConstraint *con, bPoseChannel **r_pchan)
 
bConstraintconstraint_active_get (Object *ob)
 
Constraint Sanity Testing
void object_test_constraints (Main *bmain, Object *ob)
 
static void test_constraint (Main *bmain, Object *owner, bPoseChannel *pchan, bConstraint *con, int type)
 
static int constraint_type_get (Object *owner, bPoseChannel *pchan)
 
static void test_constraints (Main *bmain, Object *ob, bPoseChannel *pchan)
 
static void object_test_constraint (Main *bmain, Object *ob, bConstraint *con)
 
Constraint Management Utilities
void constraint_active_set (Object *ob, bConstraint *con)
 
void constraint_update (Main *bmain, Object *ob)
 
void constraint_dependency_update (Main *bmain, Object *ob)
 
void constraint_tag_update (Main *bmain, Object *ob, bConstraint *con)
 
void constraint_dependency_tag_update (Main *bmain, Object *ob, bConstraint *con)
 
bool constraint_move_to_index (Object *ob, bConstraint *con, int index)
 
void constraint_link (Main *bmain, Object *ob_dst, ListBase *dst, ListBase *src)
 
void constraint_copy_for_object (Main *bmain, Object *ob_dst, bConstraint *con)
 
void constraint_copy_for_pose (Main *bmain, Object *ob_dst, bPoseChannel *pchan, bConstraint *con)
 
static void object_pose_tag_update (Main *bmain, Object *ob)
 
High Level Mode Operations
bool mode_compat_test (const Object *ob, eObjectMode mode)
 
bool mode_compat_set (bContext *C, Object *ob, eObjectMode mode, ReportList *reports)
 
static const char * object_mode_op_string (eObjectMode mode)
 
Generic Mode Enter/Exit

Supports exiting a mode without it being in the current context. This could be done for entering modes too if it's needed.

bool mode_set_ex (bContext *C, eObjectMode mode, bool use_undo, ReportList *reports)
 
bool mode_set (bContext *C, eObjectMode mode)
 
void mode_generic_exit (Main *bmain, Depsgraph *depsgraph, Scene *scene, Object *ob)
 
bool mode_generic_has_data (Depsgraph *depsgraph, const Object *ob)
 
void posemode_set_for_weight_paint (bContext *C, Main *bmain, Object *ob, bool is_mode_set)
 
static bool ed_object_mode_generic_exit_ex (Main *bmain, Depsgraph *depsgraph, Scene *scene, Object *ob, bool only_test)
 
static void ed_object_posemode_set_for_weight_paint_ex (bContext *C, Main *bmain, Object *ob_arm, const bool is_mode_set)
 
Object Index Lookup/Creation
int object_in_mode_to_index (const Scene *scene, ViewLayer *view_layer, eObjectMode mode, const Object *ob)
 
Objectobject_in_mode_from_index (const Scene *scene, ViewLayer *view_layer, eObjectMode mode, int index)
 
Public Api
ModifierDatamodifier_add (ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
 
bool modifier_remove (ReportList *reports, Main *bmain, Scene *scene, Object *ob, ModifierData *md)
 
void modifiers_clear (Main *bmain, Scene *scene, Object *ob)
 
bool modifier_move_down (ReportList *reports, eReportType error_type, Object *ob, ModifierData *md)
 
bool modifier_move_up (ReportList *reports, eReportType error_type, Object *ob, ModifierData *md)
 
bool modifier_move_to_index (ReportList *reports, eReportType error_type, Object *ob, ModifierData *md, int index, bool allow_partial)
 
bool convert_psys_to_mesh (ReportList *reports, Main *bmain, Depsgraph *depsgraph, Scene *scene, ViewLayer *view_layer, Object *ob, ModifierData *md)
 
bool modifier_apply (Main *bmain, ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md, int mode, bool keep_modifier, bool do_all_keyframes)
 
bool modifier_copy (ReportList *reports, Main *bmain, Scene *scene, Object *ob, ModifierData *md)
 
void modifier_link (bContext *C, Object *ob_dst, Object *ob_src)
 
bool modifier_copy_to_object (Main *bmain, const Scene *scene, const Object *ob_src, const ModifierData *md, Object *ob_dst, ReportList *reports)
 
bool iter_other (Main *bmain, Object *orig_ob, bool include_orig, bool(*callback)(Object *ob, void *callback_data), void *callback_data)
 
bool multires_update_totlevels (Object *ob, void *totlevel_v)
 
ShaderFxDatashaderfx_add (ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
 
bool shaderfx_remove (ReportList *reports, Main *bmain, Object *ob, ShaderFxData *fx)
 
void shaderfx_clear (Main *bmain, Object *ob)
 
int shaderfx_move_down (ReportList *reports, Object *ob, ShaderFxData *fx)
 
int shaderfx_move_up (ReportList *reports, Object *ob, ShaderFxData *fx)
 
bool shaderfx_move_to_index (ReportList *reports, Object *ob, ShaderFxData *fx, int index)
 
void shaderfx_link (Object *dst, Object *src)
 
void shaderfx_copy (Object *dst, ShaderFxData *fx)
 
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)
 
static bool object_has_modifier (const Object *ob, const ModifierData *exclude, ModifierType type)
 
static bool object_has_modifier_cb (Object *ob, void *data)
 
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)
 
static bool object_modifier_check_move_before (ReportList *reports, eReportType error_type, ModifierData *md, ModifierData *md_prev)
 
static bool object_modifier_check_move_after (ReportList *reports, eReportType error_type, ModifierData *md, ModifierData *md_next)
 
static void add_shapekey_layers (Mesh &mesh_dest, const Mesh &mesh_src)
 
static Meshcreate_applied_mesh_for_modifier (Depsgraph *depsgraph, Scene *scene, Object *ob_eval, ModifierData *md_eval, const bool use_virtual_modifiers, const bool build_shapekey_layers, ReportList *reports)
 
static bool modifier_apply_shape (Main *bmain, ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md_eval)
 
static bool meta_data_matches (const std::optional< bke::AttributeMetaData > meta_data, const AttrDomainMask domains, const eCustomDataMask types)
 
static void remove_invalid_attribute_strings (Mesh &mesh)
 
static void apply_eval_grease_pencil_data (const GreasePencil &src_grease_pencil, const int eval_frame, const IndexMask &orig_layers, GreasePencil &orig_grease_pencil)
 
static bool apply_grease_pencil_for_modifier (Depsgraph *depsgraph, Object *ob, GreasePencil &grease_pencil_orig, ModifierData *md_eval)
 
static bool apply_grease_pencil_for_modifier_all_keyframes (Depsgraph *depsgraph, Scene *scene, Object *ob, GreasePencil &grease_pencil_orig, ModifierData *md)
 
static bool modifier_apply_obdata (ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md_eval, const bool do_all_keyframes)
 
static bool UNUSED_FUNCTION object_has_shaderfx (const Object *ob, const ShaderFxData *exclude, ShaderFxType type)
 
static bool object_shaderfx_remove (Main *bmain, Object *ob, ShaderFxData *fx, bool *)
 
Force Field Toggle Operator
void check_force_modifiers (Main *bmain, Scene *scene, Object *object)
 
static int forcefield_toggle_exec (bContext *C, wmOperator *)
 
void OBJECT_OT_forcefield_toggle (wmOperatorType *ot)
 
Jump To Object Utilities
Basefind_first_by_data_id (const Scene *scene, ViewLayer *view_layer, ID *id)
 
bool jump_to_object (bContext *C, Object *ob, bool reveal_hidden)
 
bool jump_to_bone (bContext *C, Object *ob, const char *bone_name, bool reveal_hidden)
 
static int get_base_select_priority (Base *base)
 
Public Object Data Storage API

Used for interactively transforming object data.

Store object data transformation in an opaque struct.

XFormObjectDatadata_xform_create_ex (ID *id, bool is_edit_mode)
 
XFormObjectDatadata_xform_create (ID *id)
 
XFormObjectDatadata_xform_create_from_edit_mode (ID *id)
 
void data_xform_destroy (XFormObjectData *xod_base)
 
void data_xform_by_mat4 (XFormObjectData *xod, const float mat[4][4])
 
void data_xform_restore (XFormObjectData *xod)
 
void data_xform_tag_update (XFormObjectData *xod)
 
Public Utility Functions
bool vgroup_sync_from_pose (Object *ob)
 
void vgroup_data_clamp_range (ID *id, int total)
 
bool vgroup_array_copy (Object *ob, Object *ob_from)
 
bool vgroup_parray_alloc (ID *id, MDeformVert ***dvert_arr, int *dvert_tot, bool use_vert_sel)
 
void vgroup_parray_mirror_sync (Object *ob, MDeformVert **dvert_array, int dvert_tot, const bool *vgroup_validmap, int vgroup_tot)
 
void vgroup_parray_mirror_assign (Object *ob, MDeformVert **dvert_array, int dvert_tot)
 
void vgroup_parray_remove_zero (MDeformVert **dvert_array, int dvert_tot, const bool *vgroup_validmap, int vgroup_tot, float epsilon, bool keep_single)
 
void vgroup_parray_to_weight_array (const MDeformVert **dvert_array, int dvert_tot, float *dvert_weights, int def_nr)
 
void vgroup_parray_from_weight_array (MDeformVert **dvert_array, int dvert_tot, const float *dvert_weights, int def_nr, bool remove_zero)
 
void vgroup_vert_active_mirror (Object *ob, int def_nr)
 
static void mesh_defvert_mirror_update_internal (Object *ob, MDeformVert *dvert_dst, MDeformVert *dvert_src, const int def_nr)
 
static void ED_mesh_defvert_mirror_update_em (Object *ob, BMVert *eve, int def_nr, int vidx, const int cd_dvert_offset)
 
static void ED_mesh_defvert_mirror_update_ob (Object *ob, int def_nr, int vidx)
 
static void vgroup_remove_weight (Object *ob, const int def_nr)
 
static bool vgroup_normalize_active_vertex (Object *ob, eVGroupSelect subset_type)
 
static void vgroup_copy_active_to_sel (Object *ob, eVGroupSelect subset_type)
 
High Level Vertex Group Add/Remove

Wrap lower level BKE functions.

Note
that operations on many vertices should use vgroup_parray_alloc.
void vgroup_select_by_name (Object *ob, const char *name)
 
void vgroup_vert_add (Object *ob, bDeformGroup *dg, int vertnum, float weight, int assignmode)
 
void vgroup_vert_remove (Object *ob, bDeformGroup *dg, int vertnum)
 
float vgroup_vert_weight (Object *ob, bDeformGroup *dg, int vertnum)
 
static void vgroup_nr_vert_add (Object *ob, const int def_nr, const int vertnum, const float weight, const int assignmode)
 
static float get_vert_def_nr (Object *ob, const int def_nr, const int vertnum)
 
Local Helpers
static void object_add_drop_xy_props (wmOperatorType *ot)
 
static bool object_add_drop_xy_is_set (const wmOperator *op)
 
static bool object_add_drop_xy_get (bContext *C, wmOperator *op, int(*r_mval)[2])
 
static int object_add_drop_xy_generic_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Add Probe Operator
static const char * get_lightprobe_defname (int type)
 
static int lightprobe_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_lightprobe_add (wmOperatorType *ot)
 
Add Effector Operator
static const char * get_effector_defname (ePFieldType type)
 
static int effector_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_effector_add (wmOperatorType *ot)
 
Add Camera Operator
static int object_camera_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_camera_add (wmOperatorType *ot)
 
Add Metaball Operator
static int object_metaball_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_metaball_add (wmOperatorType *ot)
 
Add Text Operator
static int object_add_text_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_text_add (wmOperatorType *ot)
 
Add Armature Operator
static int object_armature_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_armature_add (wmOperatorType *ot)
 
Add Empty Operator
static int object_empty_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_empty_add (wmOperatorType *ot)
 
static int object_image_add_exec (bContext *C, wmOperator *op)
 
static int object_image_add_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static bool object_image_add_poll (bContext *C)
 
void OBJECT_OT_empty_image_add (wmOperatorType *ot)
 
Add Light Operator
static const char * get_light_defname (int type)
 
static int object_light_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_light_add (wmOperatorType *ot)
 
Add Collection Instance Operator
static std::optional< CollectionAddInfocollection_add_info_get_from_op (bContext *C, wmOperator *op)
 
static int collection_instance_add_exec (bContext *C, wmOperator *op)
 
static int object_instance_add_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void OBJECT_OT_collection_instance_add (wmOperatorType *ot)
 
Collection Drop Operator

Internal operator for collection dropping.

Warning
This is tied closely together to the drop-box callbacks, so it shouldn't be used on its own.

The drop-box callback imports the collection, links it into the view-layer, selects all imported objects (which may include peripheral objects like parents or boolean-objects of an object in the collection) and activates one. Only the callback has enough info to do this reliably. Based on the instancing operator option, this operator then does one of two things:

  • Instancing enabled: Unlink the collection again, and instead add a collection instance empty at the drop position.
  • Instancing disabled: Transform the objects to the drop position, keeping all relative transforms of the objects to each other as is.
static int collection_drop_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_collection_external_asset_drop (wmOperatorType *ot)
 
Add Data Instance Operator

Use for dropping ID's from the outliner.

static int object_data_instance_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_data_instance_add (wmOperatorType *ot)
 
Add Speaker Operator
static int object_speaker_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_speaker_add (wmOperatorType *ot)
 
Add Curves Operator
static int object_curves_random_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_curves_random_add (wmOperatorType *ot)
 
static int object_curves_empty_hair_add_exec (bContext *C, wmOperator *op)
 
static bool object_curves_empty_hair_add_poll (bContext *C)
 
void OBJECT_OT_curves_empty_hair_add (wmOperatorType *ot)
 
Add Point Cloud Operator
static bool object_pointcloud_add_poll (bContext *C)
 
static int object_pointcloud_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_pointcloud_add (wmOperatorType *ot)
 
Copy Object Utilities
static void copy_object_set_idnew (bContext *C)
 
Make Instanced Objects Real Operator
static uint dupliobject_hash (const void *ptr)
 
static uint dupliobject_instancer_hash (const void *ptr)
 
static bool dupliobject_cmp (const void *a_, const void *b_)
 
static bool dupliobject_instancer_cmp (const void *a_, const void *b_)
 
static void make_object_duplilist_real (bContext *C, Depsgraph *depsgraph, Scene *scene, Base *base, const bool use_base_parent, const bool use_hierarchy)
 
static int object_duplicates_make_real_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_duplicates_make_real (wmOperatorType *ot)
 
Add Named Object Operator

Use for drag & drop.

static int object_add_named_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_add_named (wmOperatorType *ot)
 
Transform Object to Mouse Operator
static int object_transform_to_mouse_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_transform_to_mouse (wmOperatorType *ot)
 
Join Object Operator
static bool object_join_poll (bContext *C)
 
static int object_join_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_join (wmOperatorType *ot)
 
Join as Shape Key Operator
static bool join_shapes_poll (bContext *C)
 
static int join_shapes_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_join_shapes (wmOperatorType *ot)
 
Add Constraint Utilities
static void set_constraint_nth_target (bConstraint *con, Object *target, const char subtarget[], int index)
 
Stretch-To/Limit-Distance Constraint (Reset Original Length Operator)

For Stretch-To & Limit-Distance constraints.

static int stretchto_reset_exec (bContext *C, wmOperator *op)
 
static int stretchto_reset_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_stretchto_reset (wmOperatorType *ot)
 
Distance Constraint (Reset Operator)

For Limit-Distance constraint.

static int limitdistance_reset_exec (bContext *C, wmOperator *op)
 
static int limitdistance_reset_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_limitdistance_reset (wmOperatorType *ot)
 
Child-Of Constraint (Set Inverse Operator)
static void force_evaluation_if_constraint_disabled (bContext *C, Object *ob, bConstraint *con)
 
static int childof_set_inverse_exec (bContext *C, wmOperator *op)
 
static int childof_set_inverse_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_childof_set_inverse (wmOperatorType *ot)
 
static int childof_clear_inverse_exec (bContext *C, wmOperator *op)
 
static int childof_clear_inverse_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_childof_clear_inverse (wmOperatorType *ot)
 
Follow Path Constraint (Auto Animate Path Operator)
static int followpath_path_animate_exec (bContext *C, wmOperator *op)
 
static int followpath_path_animate_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_followpath_path_animate (wmOperatorType *ot)
 
Object Solver Constraint (Set Inverse Operator)
static int objectsolver_set_inverse_exec (bContext *C, wmOperator *op)
 
static int objectsolver_set_inverse_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_objectsolver_set_inverse (wmOperatorType *ot)
 
Object Solver Constraint (Clear Inverse Operator)
static int objectsolver_clear_inverse_exec (bContext *C, wmOperator *op)
 
static int objectsolver_clear_inverse_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void CONSTRAINT_OT_objectsolver_clear_inverse (wmOperatorType *ot)
 
Delete Constraint Operator
static int constraint_delete_exec (bContext *C, wmOperator *op)
 
static int constraint_delete_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void CONSTRAINT_OT_delete (wmOperatorType *ot)
 
Apply Constraint Operator
static int constraint_apply_exec (bContext *C, wmOperator *op)
 
static int constraint_apply_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void CONSTRAINT_OT_apply (wmOperatorType *ot)
 
Copy Constraint Operator
static int constraint_copy_exec (bContext *C, wmOperator *op)
 
static int constraint_copy_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void CONSTRAINT_OT_copy (wmOperatorType *ot)
 
Copy Constraint To Selected Operator
static int constraint_copy_to_selected_exec (bContext *C, wmOperator *op)
 
static int constraint_copy_to_selected_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static bool constraint_copy_to_selected_poll (bContext *C)
 
void CONSTRAINT_OT_copy_to_selected (wmOperatorType *ot)
 
Move Down Constraint Operator
static int constraint_move_down_exec (bContext *C, wmOperator *op)
 
static int constraint_move_down_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void CONSTRAINT_OT_move_down (wmOperatorType *ot)
 
Move Up Constraint Operator
static int constraint_move_up_exec (bContext *C, wmOperator *op)
 
static int constraint_move_up_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void CONSTRAINT_OT_move_up (wmOperatorType *ot)
 
Move Constraint To Index Operator
static int constraint_move_to_index_exec (bContext *C, wmOperator *op)
 
static int constraint_move_to_index_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void CONSTRAINT_OT_move_to_index (wmOperatorType *ot)
 
Clear Pose Constraints Operator
static int pose_constraints_clear_exec (bContext *C, wmOperator *)
 
void POSE_OT_constraints_clear (wmOperatorType *ot)
 
static int object_constraints_clear_exec (bContext *C, wmOperator *)
 
Clear Object Constraints Operator
void OBJECT_OT_constraints_clear (wmOperatorType *ot)
 
Copy Pose Constraints Operator
static int pose_constraint_copy_exec (bContext *C, wmOperator *op)
 
void POSE_OT_constraints_copy (wmOperatorType *ot)
 
Copy Object Constraints Operator
static int object_constraint_copy_exec (bContext *C, wmOperator *)
 
void OBJECT_OT_constraints_copy (wmOperatorType *ot)
 
Add Constraints Operator
static bool get_new_constraint_target (bContext *C, int con_type, Object **tar_ob, bPoseChannel **tar_pchan, bool add)
 
static int constraint_add_exec (bContext *C, wmOperator *op, Object *ob, ListBase *list, int type, const bool setTarget)
 
static int object_constraint_add_exec (bContext *C, wmOperator *op)
 
static int pose_constraint_add_exec (bContext *C, wmOperator *op)
 
static const EnumPropertyItemobject_constraint_add_itemf (bContext *, PointerRNA *, PropertyRNA *, bool *r_free)
 
void OBJECT_OT_constraint_add (wmOperatorType *ot)
 
Add Constraints With Targets Operator
void OBJECT_OT_constraint_add_with_targets (wmOperatorType *ot)
 
void POSE_OT_constraint_add (wmOperatorType *ot)
 
void POSE_OT_constraint_add_with_targets (wmOperatorType *ot)
 
Add IK to Bone Operator
Note
Only for pose-channels.
static int pose_ik_add_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int pose_ik_add_exec (bContext *C, wmOperator *op)
 
void POSE_OT_ik_add (wmOperatorType *ot)
 
Clear IK from Bone Operator

Remove IK constraints from selected bones.

static int pose_ik_clear_exec (bContext *C, wmOperator *)
 
void POSE_OT_ik_clear (wmOperatorType *ot)
 
Internal Transform Get/Apply

Some object data types don't have utility functions to access their transformation data. Define these locally.

static ElemData_Armaturearmature_coords_and_quats_get_recurse (const ListBase *bone_base, ElemData_Armature *elem_array)
 
static void armature_coords_and_quats_get (const bArmature *arm, ElemData_Armature *elem_array)
 
static const ElemData_Armaturearmature_coords_and_quats_apply_with_mat4_recurse (ListBase *bone_base, const ElemData_Armature *elem_array, const float mat[4][4])
 
static void armature_coords_and_quats_apply_with_mat4 (bArmature *arm, const ElemData_Armature *elem_array, const float mat[4][4])
 
static void armature_coords_and_quats_apply (bArmature *arm, const ElemData_Armature *elem_array)
 
static void edit_armature_coords_and_quats_get (const bArmature *arm, ElemData_Armature *elem_array)
 
static void edit_armature_coords_and_quats_apply_with_mat4 (bArmature *arm, const ElemData_Armature *elem_array, const float mat[4][4])
 
static void edit_armature_coords_and_quats_apply (bArmature *arm, const ElemData_Armature *elem_array)
 
static void metaball_coords_and_quats_get (const MetaBall *mb, ElemData_MetaBall *elem_array)
 
static void metaball_coords_and_quats_apply_with_mat4 (MetaBall *mb, const ElemData_MetaBall *elem_array, const float mat[4][4])
 
static void metaball_coords_and_quats_apply (MetaBall *mb, const ElemData_MetaBall *elem_array)
 
Toggle Pose-Mode Operator
static int posemode_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_posemode_toggle (wmOperatorType *ot)
 
Update Motion Paths Operator
static bool object_update_paths_poll (bContext *C)
 
static int object_update_paths_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_paths_update (wmOperatorType *ot)
 
Update All Motion Paths Operator
static bool object_update_all_paths_poll (bContext *)
 
static int object_update_all_paths_exec (bContext *C, wmOperator *)
 
void OBJECT_OT_paths_update_visible (wmOperatorType *ot)
 
Object Shade Smooth/Flat Operator
static bool is_smooth_by_angle_modifier (const ModifierData &md)
 
static int shade_smooth_exec (bContext *C, wmOperator *op)
 
static bool shade_poll (bContext *C)
 
void OBJECT_OT_shade_flat (wmOperatorType *ot)
 
void OBJECT_OT_shade_smooth (wmOperatorType *ot)
 
void OBJECT_OT_shade_smooth_by_angle (wmOperatorType *ot)
 
Object Shade Auto Smooth Operator
static int shade_auto_smooth_exec (bContext *C, wmOperator *op)
 
static void shade_auto_smooth_ui (bContext *, wmOperator *op)
 
void OBJECT_OT_shade_auto_smooth (wmOperatorType *ot)
 
Object Mode Set Operator
static const EnumPropertyItemobject_mode_set_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
static bool object_mode_set_poll (bContext *C)
 
static int object_mode_set_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_mode_set (wmOperatorType *ot)
 
void OBJECT_OT_mode_set_with_submode (wmOperatorType *ot)
 
Clear Location Operator
void OBJECT_OT_location_clear (wmOperatorType *ot)
 
static int object_location_clear_exec (bContext *C, wmOperator *op)
 
Clear Rotation Operator
void OBJECT_OT_rotation_clear (wmOperatorType *ot)
 
static int object_rotation_clear_exec (bContext *C, wmOperator *op)
 
Clear Scale Operator
void OBJECT_OT_scale_clear (wmOperatorType *ot)
 
static int object_scale_clear_exec (bContext *C, wmOperator *op)
 
Clear Origin Operator
void OBJECT_OT_origin_clear (wmOperatorType *ot)
 
static int object_origin_clear_exec (bContext *C, wmOperator *)
 
Apply Transformation Operator
void OBJECT_OT_visual_transform_apply (wmOperatorType *ot)
 
void OBJECT_OT_transform_apply (wmOperatorType *ot)
 
static void ignore_parent_tx (Main *bmain, Depsgraph *depsgraph, Scene *scene, Object *ob)
 
static void append_sorted_object_parent_hierarchy (Object *root_object, Object *object, Object **sorted_objects, int *object_index)
 
static Array< Object * > sorted_selected_editable_objects (bContext *C)
 
static bool apply_objects_internal_can_multiuser (bContext *C)
 
static bool apply_objects_internal_need_single_user (bContext *C)
 
static void transform_positions (MutableSpan< float3 > positions, const float4x4 &matrix)
 
static int apply_objects_internal (bContext *C, ReportList *reports, bool apply_loc, bool apply_rot, bool apply_scale, bool do_props, bool do_single_user)
 
static int visual_transform_apply_exec (bContext *C, wmOperator *)
 
static int object_transform_apply_exec (bContext *C, wmOperator *op)
 
static int object_transform_apply_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Apply Parent Inverse Operator
void OBJECT_OT_parent_inverse_apply (wmOperatorType *ot)
 
static int object_parent_inverse_apply_exec (bContext *C, wmOperator *)
 
Transform Axis Target

Note this is an experimental operator to point lights/cameras at objects. We may re-work how this behaves based on user feedback.

  • campbell.
void OBJECT_OT_transform_axis_target (wmOperatorType *ot)
 
static void object_transform_axis_target_calc_depth_init (XFormAxisData *xfd, const int mval[2])
 
static bool object_is_target_compat (const Object *ob)
 
static void object_transform_axis_target_free_data (wmOperator *op)
 
static void object_apply_rotation (Object *ob, const float rmat[3][3])
 
static void object_apply_location (Object *ob, const float loc[3])
 
static bool object_orient_to_location (Object *ob, const float rot_orig[3][3], const float axis[3], const float location[3], const bool z_flip)
 
static void object_transform_axis_target_cancel (bContext *C, wmOperator *op)
 
static int object_transform_axis_target_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static int object_transform_axis_target_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
Make Parent Without Inverse Operator
void OBJECT_OT_parent_no_inverse_set (wmOperatorType *ot)
 
static int parent_noinv_set_exec (bContext *C, wmOperator *op)
 
Make Vertex Parent Operator
void OBJECT_OT_vertex_parent_set (wmOperatorType *ot)
 
static bool vertex_parent_set_poll (bContext *C)
 
static int vertex_parent_set_exec (bContext *C, wmOperator *op)
 
Make Library Override Operator
void OBJECT_OT_make_override_library (wmOperatorType *ot)
 
static bool make_override_library_object_overridable_check (Main *bmain, Object *object)
 
static int make_override_library_exec (bContext *C, wmOperator *op)
 
static int make_override_library_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static bool make_override_library_poll (bContext *C)
 
Reset Library Override Operator
void OBJECT_OT_reset_override_library (wmOperatorType *ot)
 
static bool reset_clear_override_library_poll (bContext *C)
 
static int reset_override_library_exec (bContext *C, wmOperator *)
 
Clear Library Override Operator
void OBJECT_OT_clear_override_library (wmOperatorType *ot)
 
static int clear_override_library_exec (bContext *C, wmOperator *)
 
Unlink Object Operator
void OBJECT_OT_unlink_data (wmOperatorType *ot)
 
static int object_unlink_data_exec (bContext *C, wmOperator *op)
 
Transfer Mode

Enters the same mode of the current active object in another object, leaving the mode of the current object.

void OBJECT_OT_transfer_mode (wmOperatorType *ot)
 
static bool object_transfer_mode_poll (bContext *C)
 
static void object_transfer_mode_reposition_view_pivot (ARegion *region, Scene *scene, const int mval[2])
 
static void object_overlay_mode_transfer_animation_start (bContext *C, Object *ob_dst)
 
static bool object_transfer_mode_to_base (bContext *C, wmOperator *op, Scene *scene, Object *, Object *ob_dst, const eObjectMode mode_dst)
 
static int object_transfer_mode_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
(De)select All
void OBJECT_OT_select_all (wmOperatorType *ot)
 
static int object_select_all_exec (bContext *C, wmOperator *op)
 
Select Random
void OBJECT_OT_select_random (wmOperatorType *ot)
 
static int object_select_random_exec (bContext *C, wmOperator *op)
 
Select by Type
void OBJECT_OT_select_by_type (wmOperatorType *ot)
 
static int object_select_by_type_exec (bContext *C, wmOperator *op)
 
Select Mirror
void OBJECT_OT_select_mirror (wmOperatorType *ot)
 
static int object_select_mirror_exec (bContext *C, wmOperator *op)
 
Select More/Less
void OBJECT_OT_select_more (wmOperatorType *ot)
 
void OBJECT_OT_select_less (wmOperatorType *ot)
 
static bool object_select_more_less (bContext *C, const bool select)
 
static int object_select_more_exec (bContext *C, wmOperator *)
 
static int object_select_less_exec (bContext *C, wmOperator *)
 
Select In The Same Collection
void OBJECT_OT_select_same_collection (wmOperatorType *ot)
 
static int object_select_same_collection_exec (bContext *C, wmOperator *op)
 
Create New Light Linking Receiver/Blocker Collection Operators
void OBJECT_OT_light_linking_receiver_collection_new (wmOperatorType *ot)
 
void OBJECT_OT_light_linking_blocker_collection_new (wmOperatorType *ot)
 
template<LightLinkingType link_type>
static int light_linking_collection_new_exec (bContext *C, wmOperator *)
 
Select Light Linking Receivers/Blockers Operator
void OBJECT_OT_light_linking_receivers_select (wmOperatorType *ot)
 
void OBJECT_OT_light_linking_blockers_select (wmOperatorType *ot)
 
template<LightLinkingType link_type>
static int light_linking_select_exec (bContext *C, wmOperator *)
 
Link Receivers/Blockers to Emitter Operator
void OBJECT_OT_light_linking_receivers_link (wmOperatorType *ot)
 
void OBJECT_OT_light_linking_blockers_link (wmOperatorType *ot)
 
template<LightLinkingType link_type>
static int light_linking_link_exec (bContext *C, wmOperator *op)
 
Unlink from the Light Linking Collection Operator
void OBJECT_OT_light_linking_unlink_from_collection (wmOperatorType *ot)
 
static int light_linking_unlink_from_collection_exec (bContext *C, wmOperator *op)
 
Generic Poll Function and Properties

Using modifier names and data context.

bool edit_modifier_poll_generic (bContext *C, StructRNA *rna_type, int obtype_flag, bool is_editmode_allowed, bool is_liboverride_allowed)
 
void edit_modifier_properties (wmOperatorType *ot)
 
static bool edit_modifier_poll (bContext *C)
 
static bool edit_modifier_liboverride_allowed_poll (bContext *C)
 
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)
 
ModifierDataedit_modifier_property_get (wmOperator *op, Object *ob, int type)
 
static bool edit_modifier_invoke_properties_with_hover (bContext *C, wmOperator *op, const wmEvent *event, int *r_retval)
 
Add Modifier Operator
void OBJECT_OT_modifier_add (wmOperatorType *ot)
 
static int modifier_add_exec (bContext *C, wmOperator *op)
 
static int modifier_add_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static const EnumPropertyItemmodifier_add_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
Remove Modifier Operator
void OBJECT_OT_modifier_remove (wmOperatorType *ot)
 
void OBJECT_OT_modifiers_clear (wmOperatorType *ot)
 
static int modifier_remove_exec (bContext *C, wmOperator *op)
 
static int modifier_remove_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static int modifiers_clear_exec (bContext *C, wmOperator *)
 
static bool modifiers_clear_poll (bContext *C)
 
Move Up Modifier Operator
void OBJECT_OT_modifier_move_up (wmOperatorType *ot)
 
static int modifier_move_up_exec (bContext *C, wmOperator *op)
 
static int modifier_move_up_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Move Down Modifier Operator
void OBJECT_OT_modifier_move_down (wmOperatorType *ot)
 
static int modifier_move_down_exec (bContext *C, wmOperator *op)
 
static int modifier_move_down_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Move to Index Modifier Operator
void OBJECT_OT_modifier_move_to_index (wmOperatorType *ot)
 
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)
 
Apply Modifier Operator
void OBJECT_OT_modifier_apply (wmOperatorType *ot)
 
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)
 
Apply Modifier As Shape-Key Operator
void OBJECT_OT_modifier_apply_as_shapekey (wmOperatorType *ot)
 
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 std::string modifier_apply_as_shapekey_get_description (bContext *, wmOperatorType *, PointerRNA *ptr)
 
Convert Particle System Modifier to Mesh Operator
void OBJECT_OT_modifier_convert (wmOperatorType *ot)
 
static int modifier_convert_exec (bContext *C, wmOperator *op)
 
static int modifier_convert_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Copy Modifier Operator
void OBJECT_OT_modifier_copy (wmOperatorType *ot)
 
static int modifier_copy_exec (bContext *C, wmOperator *op)
 
static int modifier_copy_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Copy Modifier To Selected Operator
void OBJECT_OT_modifier_copy_to_selected (wmOperatorType *ot)
 
void OBJECT_OT_modifiers_copy_to_selected (wmOperatorType *ot)
 
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)
 
static int object_modifiers_copy_exec (bContext *C, wmOperator *op)
 
static bool modifiers_copy_to_selected_poll (bContext *C)
 
Set Active Modifier Operator
void OBJECT_OT_modifier_set_active (wmOperatorType *ot)
 
static int modifier_set_active_exec (bContext *C, wmOperator *op)
 
static int modifier_set_active_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Multires Reshape Operator
void OBJECT_OT_multires_reshape (wmOperatorType *ot)
 
static int multires_reshape_exec (bContext *C, wmOperator *op)
 
static int multires_reshape_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Multires Delete Higher Levels Operator
void OBJECT_OT_multires_higher_levels_delete (wmOperatorType *ot)
 
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 *)
 
Multires Apply Base
void OBJECT_OT_multires_base_apply (wmOperatorType *ot)
 
static int multires_base_apply_exec (bContext *C, wmOperator *op)
 
static int multires_base_apply_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Multires Unsubdivide
void OBJECT_OT_multires_unsubdivide (wmOperatorType *ot)
 
static int multires_unsubdivide_exec (bContext *C, wmOperator *op)
 
static int multires_unsubdivide_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Multires Rebuild Subdivisions
void OBJECT_OT_multires_rebuild_subdiv (wmOperatorType *ot)
 
static int multires_rebuild_subdiv_exec (bContext *C, wmOperator *op)
 
static int multires_rebuild_subdiv_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Multires Save External Operator
void OBJECT_OT_multires_external_save (wmOperatorType *ot)
 
static int multires_external_save_exec (bContext *C, wmOperator *op)
 
static int multires_external_save_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
Multires Pack Operator
void OBJECT_OT_multires_external_pack (wmOperatorType *ot)
 
static int multires_external_pack_exec (bContext *C, wmOperator *)
 
Delta Mesh Bind Operator
void OBJECT_OT_correctivesmooth_bind (wmOperatorType *ot)
 
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 *)
 
Mesh Deform Bind Operator
void OBJECT_OT_meshdeform_bind (wmOperatorType *ot)
 
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 *)
 
Explode Refresh Operator
void OBJECT_OT_explode_refresh (wmOperatorType *ot)
 
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 *)
 
Ocean Bake Operator
void OBJECT_OT_ocean_bake (wmOperatorType *ot)
 
static bool ocean_bake_poll (bContext *C)
 
static void oceanbake_free (void *customdata)
 
static int oceanbake_breakjob (void *)
 
static void oceanbake_update (void *customdata, float progress, int *cancel)
 
static void oceanbake_startjob (void *customdata, wmJobWorkerStatus *worker_status)
 
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 *)
 
Laplacian-Deform Bind Operator
void OBJECT_OT_laplaciandeform_bind (wmOperatorType *ot)
 
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 *)
 
Surface Deform Bind Operator
void OBJECT_OT_surfacedeform_bind (wmOperatorType *ot)
 
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 *)
 
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.
void OBJECT_OT_geometry_nodes_input_attribute_toggle (wmOperatorType *ot)
 
static int geometry_nodes_input_attribute_toggle_exec (bContext *C, wmOperator *op)
 
Copy and Assign Geometry Node Group operator
void OBJECT_OT_geometry_node_tree_copy_assign (wmOperatorType *ot)
 
static int geometry_node_tree_copy_assign_exec (bContext *C, wmOperator *)
 
Add Effect Operator
void OBJECT_OT_shaderfx_add (wmOperatorType *ot)
 
static int shaderfx_add_exec (bContext *C, wmOperator *op)
 
static const EnumPropertyItemshaderfx_add_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
Copy Shader Operator
void OBJECT_OT_shaderfx_copy (wmOperatorType *ot)
 
static int shaderfx_copy_exec (bContext *C, wmOperator *op)
 
static int shaderfx_copy_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Remove ShaderFX Operator
void OBJECT_OT_shaderfx_remove (wmOperatorType *ot)
 
static int shaderfx_remove_exec (bContext *C, wmOperator *op)
 
static int shaderfx_remove_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Move up ShaderFX Operator
void OBJECT_OT_shaderfx_move_up (wmOperatorType *ot)
 
static int shaderfx_move_up_exec (bContext *C, wmOperator *op)
 
static int shaderfx_move_up_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Move Down ShaderFX Operator
void OBJECT_OT_shaderfx_move_down (wmOperatorType *ot)
 
static int shaderfx_move_down_exec (bContext *C, wmOperator *op)
 
static int shaderfx_move_down_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Move ShaderFX to Index Operator
void OBJECT_OT_shaderfx_move_to_index (wmOperatorType *ot)
 
static int shaderfx_move_to_index_exec (bContext *C, wmOperator *op)
 
static int shaderfx_move_to_index_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Vertex Group Add Operator
void OBJECT_OT_vertex_group_add (wmOperatorType *ot)
 
static int vertex_group_add_exec (bContext *C, wmOperator *)
 
Vertex Group Remove Operator
void OBJECT_OT_vertex_group_remove (wmOperatorType *ot)
 
static void grease_pencil_clear_from_vgroup (Scene &scene, Object &ob, bDeformGroup *dg, const bool use_selection, const bool all_drawings=false)
 
static void grease_pencil_clear_from_all_vgroup (Scene &scene, Object &ob, const bool use_selection, const bool all_drawings=false, const bool only_unlocked=false)
 
static int vertex_group_remove_exec (bContext *C, wmOperator *op)
 
Vertex Group Assign Operator
void OBJECT_OT_vertex_group_assign (wmOperatorType *ot)
 
static int vertex_group_assign_exec (bContext *C, wmOperator *)
 
Vertex Group Assign New Operator
void OBJECT_OT_vertex_group_assign_new (wmOperatorType *ot)
 
static int vertex_group_assign_new_exec (bContext *C, wmOperator *op)
 
Vertex Group Remove From Operator
void OBJECT_OT_vertex_group_remove_from (wmOperatorType *ot)
 
static int vertex_group_remove_from_exec (bContext *C, wmOperator *op)
 
Vertex Group Select Operator
void OBJECT_OT_vertex_group_select (wmOperatorType *ot)
 
static int vertex_group_select_exec (bContext *C, wmOperator *)
 
Vertex Group Deselect Operator
void OBJECT_OT_vertex_group_deselect (wmOperatorType *ot)
 
static int vertex_group_deselect_exec (bContext *C, wmOperator *)
 
Vertex Group Copy to Selected Operator
void OBJECT_OT_vertex_group_copy_to_selected (wmOperatorType *ot)
 
static int vertex_group_copy_to_selected_exec (bContext *C, wmOperator *op)
 
Vertex Group Copy Operator
void OBJECT_OT_vertex_group_copy (wmOperatorType *ot)
 
static int vertex_group_copy_exec (bContext *C, wmOperator *)
 
Vertex Group Normalize Operator
void OBJECT_OT_vertex_group_normalize (wmOperatorType *ot)
 
static int vertex_group_normalize_exec (bContext *C, wmOperator *)
 
Vertex Group Normalize All Operator
void OBJECT_OT_vertex_group_normalize_all (wmOperatorType *ot)
 
static eVGroupSelect normalize_vertex_group_target (Object *ob)
 
static int vertex_group_normalize_all_exec (bContext *C, wmOperator *op)
 
Vertex Group Levels Operator
void OBJECT_OT_vertex_group_levels (wmOperatorType *ot)
 
static int vertex_group_levels_exec (bContext *C, wmOperator *op)
 
Vertex Group Lock Operator
void OBJECT_OT_vertex_group_lock (wmOperatorType *ot)
 
static int vertex_group_lock_exec (bContext *C, wmOperator *op)
 
static std::string vertex_group_lock_get_description (bContext *, wmOperatorType *, PointerRNA *ptr)
 
Vertex Group Invert Operator
void OBJECT_OT_vertex_group_invert (wmOperatorType *ot)
 
void OBJECT_OT_vertex_group_smooth (wmOperatorType *ot)
 
static int vertex_group_invert_exec (bContext *C, wmOperator *op)
 
static int vertex_group_smooth_exec (bContext *C, wmOperator *op)
 
Vertex Group Clean Operator
void OBJECT_OT_vertex_group_clean (wmOperatorType *ot)
 
static int vertex_group_clean_exec (bContext *C, wmOperator *op)
 
Vertex Group Quantize Operator
void OBJECT_OT_vertex_group_quantize (wmOperatorType *ot)
 
static int vertex_group_quantize_exec (bContext *C, wmOperator *op)
 
Vertex Group Limit Total Operator
void OBJECT_OT_vertex_group_limit_total (wmOperatorType *ot)
 
static int vertex_group_limit_total_exec (bContext *C, wmOperator *op)
 
Vertex Group Mirror Operator
void OBJECT_OT_vertex_group_mirror (wmOperatorType *ot)
 
static int vertex_group_mirror_exec (bContext *C, wmOperator *op)
 
Vertex Group Set Active Operator
void OBJECT_OT_vertex_group_set_active (wmOperatorType *ot)
 
static int set_active_group_exec (bContext *C, wmOperator *op)
 
static const EnumPropertyItemvgroup_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
Vertex Group Move Operator
void OBJECT_OT_vertex_group_move (wmOperatorType *ot)
 
static int vgroup_move_exec (bContext *C, wmOperator *op)
 
Vertex Group Weight Paste Operator
void OBJECT_OT_vertex_weight_paste (wmOperatorType *ot)
 
static void vgroup_copy_active_to_sel_single (Object *ob, const int def_nr)
 
static bool check_vertex_group_accessible (wmOperator *op, Object *ob, int def_nr)
 
static int vertex_weight_paste_exec (bContext *C, wmOperator *op)
 
Vertex Group Weight Delete Operator
void OBJECT_OT_vertex_weight_delete (wmOperatorType *ot)
 
static int vertex_weight_delete_exec (bContext *C, wmOperator *op)
 
Vertex Group Set Active by Weight Operator
void OBJECT_OT_vertex_weight_set_active (wmOperatorType *ot)
 
static int vertex_weight_set_active_exec (bContext *C, wmOperator *op)
 
Vertex Group Normalize Active Vertex Operator
void OBJECT_OT_vertex_weight_normalize_active_vertex (wmOperatorType *ot)
 
static int vertex_weight_normalize_active_vertex_exec (bContext *C, wmOperator *)
 
Vertex Group Copy Weights from Active Operator
void OBJECT_OT_vertex_weight_copy (wmOperatorType *ot)
 
static int vertex_weight_copy_exec (bContext *C, wmOperator *)
 
Shape Key Add Operator
void OBJECT_OT_shape_key_add (wmOperatorType *ot)
 
static int shape_key_add_exec (bContext *C, wmOperator *op)
 
Shape Key Remove Operator
void OBJECT_OT_shape_key_remove (wmOperatorType *ot)
 
static int shape_key_remove_exec (bContext *C, wmOperator *op)
 
static bool shape_key_remove_poll_property (const bContext *, wmOperator *op, const PropertyRNA *prop)
 
static std::string shape_key_remove_get_description (bContext *, wmOperatorType *, PointerRNA *ptr)
 
Shape Key Clear Operator
void OBJECT_OT_shape_key_clear (wmOperatorType *ot)
 
void OBJECT_OT_shape_key_retime (wmOperatorType *ot)
 
static int shape_key_clear_exec (bContext *C, wmOperator *)
 
static int shape_key_retime_exec (bContext *C, wmOperator *)
 
Shape Key Mirror Operator
void OBJECT_OT_shape_key_mirror (wmOperatorType *ot)
 
static int shape_key_mirror_exec (bContext *C, wmOperator *op)
 
Voxel Remesh Operator
void OBJECT_OT_voxel_remesh (wmOperatorType *ot)
 
static bool object_remesh_poll (bContext *C)
 
static int voxel_remesh_exec (bContext *C, wmOperator *op)
 
Voxel Size Operator
void OBJECT_OT_voxel_size_edit (wmOperatorType *ot)
 
static void voxel_size_parallel_lines_draw (uint pos3d, const float initial_co[3], const float end_co[3], const float length_co[3], const float spacing)
 
static void voxel_size_edit_draw (const bContext *C, ARegion *, void *arg)
 
static void voxel_size_edit_cancel (bContext *C, wmOperator *op)
 
static void voxel_size_edit_update_header (wmOperator *op, bContext *C)
 
static int voxel_size_edit_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static int voxel_size_edit_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static bool voxel_size_edit_poll (bContext *C)
 
Select Operator Utils
static bool objects_selectable_poll (bContext *C)
 
Generic Poll Callback Helpers
static bool edit_shaderfx_poll_generic (bContext *C, StructRNA *rna_type, int obtype_flag, const bool is_liboverride_allowed)
 
static bool edit_shaderfx_poll (bContext *C)
 
Generic Functions for Operators Using Names and Data Context
static void edit_shaderfx_properties (wmOperatorType *ot)
 
static void edit_shaderfx_report_property (wmOperatorType *ot)
 
static bool edit_shaderfx_invoke_properties (bContext *C, wmOperator *op, const wmEvent *event, int *r_retval)
 
static ShaderFxDataedit_shaderfx_property_get (wmOperator *op, Object *ob, int type)
 
Add Shape Key Function
static void ED_object_shape_key_add (bContext *C, Object *ob, const bool from_mix)
 
Remove Shape Key Function
static bool object_shapekey_remove (Main *bmain, Object *ob)
 
static bool object_shape_key_mirror (bContext *C, Object *ob, int *r_totmirr, int *r_totfail, bool use_topology)
 
Shared Poll Functions
static bool shape_key_poll (bContext *C)
 
static bool shape_key_exists_poll (bContext *C)
 
static bool shape_key_mode_poll (bContext *C)
 
static bool shape_key_mode_exists_poll (bContext *C)
 
static bool shape_key_move_poll (bContext *C)
 
Clear Transformation Utilities
static void object_clear_loc (Object *ob, const bool clear_delta)
 
static void object_clear_rot (Object *ob, const bool clear_delta)
 
static void object_clear_scale (Object *ob, const bool clear_delta)
 
static int object_clear_transform_generic_exec (bContext *C, wmOperator *op, void(*clear_func)(Object *, const bool), const char default_ksName[])
 
Shared Operator Poll Functions
static bool vertex_group_supported_poll_ex (bContext *C, const Object *ob)
 
static bool vertex_group_supported_poll (bContext *C)
 
static bool vertex_group_poll_ex (bContext *C, Object *ob)
 
static bool vertex_group_poll (bContext *C)
 
static bool UNUSED_FUNCTION vertex_group_poll_edit (bContext *C)
 
static bool vertex_group_vert_poll_ex (bContext *C, const bool needs_select, const short ob_type_flag)
 
static bool vertex_group_mesh_vert_poll (bContext *C)
 
static bool vertex_group_vert_select_poll (bContext *C)
 
static bool vertex_group_vert_select_unlocked_poll (bContext *C)
 
static bool vertex_group_vert_select_mesh_poll (bContext *C)
 
Local Utility Functions
static bool object_array_for_wpaint_filter (const Object *ob, void *user_data)
 
static Vector< Object * > object_array_for_wpaint (bContext *C)
 
static bool vertex_group_use_vert_sel (Object *ob)
 
static Latticevgroup_edit_lattice (Object *ob)
 

Variables

static const EnumPropertyItem DT_layer_items []
 
static CLG_LogRef LOG = {"ed.object.edit"}
 
static CLG_LogRef LOG = {"ed.object"}
 

Local Enum Declarations

enum  { ALIGN_WORLD = 0 , ALIGN_VIEW , ALIGN_CURSOR }
 
static const EnumPropertyItem field_type_items []
 
static EnumPropertyItem lightprobe_type_items []
 
static const EnumPropertyItem align_options []
 

Skin Modifier

enum  SkinLooseAction { SKIN_LOOSE_MARK , SKIN_LOOSE_CLEAR }
 
void OBJECT_OT_skin_root_mark (wmOperatorType *ot)
 
void OBJECT_OT_skin_loose_mark_clear (wmOperatorType *ot)
 
void OBJECT_OT_skin_radii_equalize (wmOperatorType *ot)
 
void OBJECT_OT_skin_armature_create (wmOperatorType *ot)
 
static void modifier_skin_customdata_delete (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 *)
 
static int skin_loose_mark_clear_exec (bContext *C, wmOperator *op)
 
static int skin_radii_equalize_exec (bContext *C, wmOperator *)
 
static void skin_armature_bone_create (Object *skin_ob, const Span< float3 > positions, const int2 *edges, bArmature *arm, BLI_bitmap *edges_visited, const GroupedSpan< int > 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 *)
 

Dash Modifier

enum class  DashSegmentMoveDirection { Up = -1 , Down = 1 }
 
void OBJECT_OT_grease_pencil_dash_modifier_segment_add (wmOperatorType *ot)
 
void OBJECT_OT_grease_pencil_dash_modifier_segment_remove (wmOperatorType *ot)
 
void OBJECT_OT_grease_pencil_dash_modifier_segment_move (wmOperatorType *ot)
 
static bool dash_modifier_segment_poll (bContext *C)
 
static int dash_modifier_segment_add_exec (bContext *C, wmOperator *op)
 
static int dash_modifier_segment_add_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static void dash_modifier_segment_free (GreasePencilDashModifierSegment *)
 
static int dash_modifier_segment_remove_exec (bContext *C, wmOperator *op)
 
static int dash_modifier_segment_remove_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int dash_modifier_segment_move_exec (bContext *C, wmOperator *op)
 
static int dash_modifier_segment_move_invoke (bContext *C, wmOperator *op, const wmEvent *)
 

Time Modifier

enum class  TimeSegmentMoveDirection { Up = -1 , Down = 1 }
 
void OBJECT_OT_grease_pencil_time_modifier_segment_add (wmOperatorType *ot)
 
void OBJECT_OT_grease_pencil_time_modifier_segment_remove (wmOperatorType *ot)
 
void OBJECT_OT_grease_pencil_time_modifier_segment_move (wmOperatorType *ot)
 
static bool time_modifier_segment_poll (bContext *C)
 
static int time_modifier_segment_add_exec (bContext *C, wmOperator *op)
 
static int time_modifier_segment_add_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static void time_modifier_segment_free (GreasePencilTimeModifierSegment *)
 
static int time_modifier_segment_remove_exec (bContext *C, wmOperator *op)
 
static int time_modifier_segment_remove_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int time_modifier_segment_move_exec (bContext *C, wmOperator *op)
 
static int time_modifier_segment_move_invoke (bContext *C, wmOperator *op, const wmEvent *)
 

Clear Track Operator

enum  { CLEAR_TRACK = 1 , CLEAR_TRACK_KEEP_TRANSFORM = 2 }
 
static const EnumPropertyItem prop_clear_track_types []
 
void OBJECT_OT_track_clear (wmOperatorType *ot)
 
static int object_track_clear_exec (bContext *C, wmOperator *op)
 

Make Track Operator

enum  { CREATE_TRACK_DAMPTRACK = 1 , CREATE_TRACK_TRACKTO = 2 , CREATE_TRACK_LOCKTRACK = 3 }
 
static const EnumPropertyItem prop_make_track_types []
 
void OBJECT_OT_track_set (wmOperatorType *ot)
 
static int track_set_exec (bContext *C, wmOperator *op)
 

Link to Scene Operator

enum  {
  MAKE_LINKS_OBDATA = 1 , MAKE_LINKS_MATERIALS = 2 , MAKE_LINKS_ANIMDATA = 3 , MAKE_LINKS_GROUP = 4 ,
  MAKE_LINKS_DUPLICOLLECTION = 5 , MAKE_LINKS_MODIFIERS = 6 , MAKE_LINKS_FONTS = 7 , MAKE_LINKS_SHADERFX = 8
}
 
void OBJECT_OT_make_links_scene (wmOperatorType *ot)
 
void OBJECT_OT_make_links_data (wmOperatorType *ot)
 
static int make_links_scene_exec (bContext *C, wmOperator *op)
 
static bool allow_make_links_data (const int type, Object *ob_src, Object *ob_dst)
 
static int make_links_data_exec (bContext *C, wmOperator *op)
 

Make Local Operator

enum  { MAKE_LOCAL_SELECT_OB = 1 , MAKE_LOCAL_SELECT_OBDATA = 2 , MAKE_LOCAL_SELECT_OBDATA_MATERIAL = 3 , MAKE_LOCAL_ALL = 4 }
 
void OBJECT_OT_make_local (wmOperatorType *ot)
 
static int tag_localizable_looper (LibraryIDLinkCallbackData *cb_data)
 
static void tag_localizable_objects (bContext *C, const int mode)
 
static bool make_local_all__instance_indirect_unused (Main *bmain, const Scene *scene, ViewLayer *view_layer, Collection *collection)
 
static void make_local_animdata_tag_strips (ListBase *strips)
 
static void make_local_animdata_tag (AnimData *adt)
 
static void make_local_material_tag (Material *ma)
 
static int make_local_exec (bContext *C, wmOperator *op)
 

Make Single User Operator

enum  { MAKE_SINGLE_USER_ALL = 1 , MAKE_SINGLE_USER_SELECTED = 2 }
 
void object_single_user_make (Main *bmain, Scene *scene, Object *ob)
 
void single_obdata_user_make (Main *bmain, Scene *scene, Object *ob)
 
void OBJECT_OT_make_single_user (wmOperatorType *ot)
 
static bool single_data_needs_duplication (ID *id)
 
static void libblock_relink_collection (Main *bmain, Collection *collection, const bool do_collection)
 
static Collectionsingle_object_users_collection (Main *bmain, Scene *scene, Collection *collection, const int flag, const bool copy_collections, const bool is_master_collection)
 
static void single_object_users (Main *bmain, Scene *scene, View3D *v3d, const int flag, const bool copy_collections)
 
static void single_obdata_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static void single_object_action_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static void single_objectdata_action_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static void single_mat_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static int make_single_user_exec (bContext *C, wmOperator *op)
 
static int make_single_user_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 

Quadriflow Remesh Operator

enum  { QUADRIFLOW_REMESH_RATIO = 1 , QUADRIFLOW_REMESH_EDGE_LENGTH , QUADRIFLOW_REMESH_FACES }
 
enum  eSymmetryAxes { SYMMETRY_AXES_X = (1 << 0) , SYMMETRY_AXES_Y = (1 << 1) , SYMMETRY_AXES_Z = (1 << 2) }
 
static const EnumPropertyItem mode_type_items []
 
void OBJECT_OT_quadriflow_remesh (wmOperatorType *ot)
 
static bool mesh_is_manifold_consistent (Mesh *mesh)
 
static void quadriflow_free_job (void *customdata)
 
static int quadriflow_break_job (void *customdata)
 
static void quadriflow_update_job (void *customdata, float progress, int *cancel)
 
static Meshremesh_symmetry_bisect (Mesh *mesh, eSymmetryAxes symmetry_axes)
 
static Meshremesh_symmetry_mirror (Object *ob, Mesh *mesh, eSymmetryAxes symmetry_axes)
 
static void quadriflow_start_job (void *customdata, wmJobWorkerStatus *worker_status)
 
static void quadriflow_end_job (void *customdata)
 
static int quadriflow_remesh_exec (bContext *C, wmOperator *op)
 
static bool quadriflow_check (bContext *C, wmOperator *op)
 
static bool quadriflow_poll_property (const bContext *C, wmOperator *op, const PropertyRNA *prop)
 
static int quadriflow_remesh_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 

Selection by Links

enum  {
  OBJECT_SELECT_LINKED_IPO = 1 , OBJECT_SELECT_LINKED_OBDATA , OBJECT_SELECT_LINKED_MATERIAL , OBJECT_SELECT_LINKED_DUPGROUP ,
  OBJECT_SELECT_LINKED_PARTICLE , OBJECT_SELECT_LINKED_LIBRARY , OBJECT_SELECT_LINKED_LIBRARY_OBDATA
}
 
static const EnumPropertyItem prop_select_linked_types []
 
void select_linked_by_id (bContext *C, ID *id)
 
void OBJECT_OT_select_linked (wmOperatorType *ot)
 
static bool object_select_all_by_obdata (bContext *C, void *obdata)
 
static bool object_select_all_by_material (bContext *C, Material *mat)
 
static bool object_select_all_by_instance_collection (bContext *C, Object *ob)
 
static bool object_select_all_by_particle (bContext *C, Object *ob)
 
static bool object_select_all_by_library (bContext *C, Library *lib)
 
static bool object_select_all_by_library_obdata (bContext *C, Library *lib)
 
static int object_select_linked_exec (bContext *C, wmOperator *op)
 

Selected Grouped

enum  {
  OBJECT_GRPSEL_CHILDREN_RECURSIVE = 0 , OBJECT_GRPSEL_CHILDREN = 1 , OBJECT_GRPSEL_PARENT = 2 , OBJECT_GRPSEL_SIBLINGS = 3 ,
  OBJECT_GRPSEL_TYPE = 4 , OBJECT_GRPSEL_COLLECTION = 5 , OBJECT_GRPSEL_HOOK = 7 , OBJECT_GRPSEL_PASS = 8 ,
  OBJECT_GRPSEL_COLOR = 9 , OBJECT_GRPSEL_KEYINGSET = 10 , OBJECT_GRPSEL_LIGHT_TYPE = 11
}
 
static const EnumPropertyItem prop_select_grouped_types []
 
void OBJECT_OT_select_grouped (wmOperatorType *ot)
 
static bool select_grouped_children (bContext *C, Object *ob, const bool recursive)
 
static bool select_grouped_parent (bContext *C)
 
static bool select_grouped_collection (bContext *C, Object *ob)
 
static bool select_grouped_object_hooks (bContext *C, Object *ob)
 
static bool select_grouped_siblings (bContext *C, Object *ob)
 
static bool select_grouped_lighttype (bContext *C, Object *ob)
 
static bool select_grouped_type (bContext *C, Object *ob)
 
static bool select_grouped_index_object (bContext *C, Object *ob)
 
static bool select_grouped_color (bContext *C, Object *ob)
 
static bool select_grouped_keyingset (bContext *C, Object *, ReportList *reports)
 
static int object_select_grouped_exec (bContext *C, wmOperator *op)
 

Shape Key Move (Re-Order) Operator

enum  { KB_MOVE_TOP = -2 , KB_MOVE_UP = -1 , KB_MOVE_DOWN = 1 , KB_MOVE_BOTTOM = 2 }
 
void OBJECT_OT_shape_key_move (wmOperatorType *ot)
 
static int shape_key_move_exec (bContext *C, wmOperator *op)
 

Shape Key Lock (Unlock) Operator

enum  { SHAPE_KEY_LOCK , SHAPE_KEY_UNLOCK }
 
void OBJECT_OT_shape_key_lock (wmOperatorType *ot)
 
static int shape_key_lock_exec (bContext *C, wmOperator *op)
 
static std::string shape_key_lock_get_description (bContext *, wmOperatorType *, PointerRNA *ptr)
 

Set Object Center Operator

enum  {
  GEOMETRY_TO_ORIGIN = 0 , ORIGIN_TO_GEOMETRY , ORIGIN_TO_CURSOR , ORIGIN_TO_CENTER_OF_MASS_SURFACE ,
  ORIGIN_TO_CENTER_OF_MASS_VOLUME
}
 
void OBJECT_OT_origin_set (wmOperatorType *ot)
 
static float3 arithmetic_mean (const Span< float3 > values)
 
static void translate_positions (MutableSpan< float3 > positions, const float3 &translation)
 
static int object_origin_set_exec (bContext *C, wmOperator *op)
 

Operator Function Implementations

enum  { VGROUP_TOGGLE , VGROUP_LOCK , VGROUP_UNLOCK , VGROUP_INVERT }
 
enum  { VGROUP_MASK_ALL , VGROUP_MASK_SELECTED , VGROUP_MASK_UNSELECTED , VGROUP_MASK_INVERT_UNSELECTED }
 
static const EnumPropertyItem vgroup_lock_actions []
 
static const EnumPropertyItem vgroup_lock_mask []
 
void vgroup_mirror (Object *ob, bool mirror_weights, bool flip_vgroups, bool all_vgroups, bool use_topology, int *r_totmirr, int *r_totfail)
 
static void vgroup_select_verts (const ToolSettings &tool_settings, Object *ob, Scene &scene, int select)
 
static void vgroup_duplicate (Object *ob)
 
static bool vgroup_normalize (Object *ob)
 
static void vgroup_levels_subset (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int, const float offset, const float gain)
 
static bool vgroup_normalize_all (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int subset_count, const bool lock_active, ReportList *reports)
 
static bool * vgroup_selected_get (Object *ob)
 
static void vgroup_lock_all (Object *ob, int action, int mask)
 
static void vgroup_invert_subset (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int, const bool auto_assign, const bool auto_remove)
 
static void vgroup_smooth_subset (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int subset_count, const float fac, const int repeat, const float fac_expand)
 
static int inv_cmp_mdef_vert_weights (const void *a1, const void *a2)
 
static int vgroup_limit_total_subset (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int subset_count, const int max_weights)
 
static void vgroup_clean_subset (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int, const float epsilon, const bool keep_single)
 
static void vgroup_quantize_subset (Object *ob, const bool *vgroup_validmap, const int vgroup_tot, const int, const int steps)
 
static void dvert_mirror_op (MDeformVert *dvert, MDeformVert *dvert_mirr, const char sel, const char sel_mirr, const int *flip_map, const int flip_map_len, const bool mirror_weights, const bool flip_vgroups, const bool all_vgroups, const int act_vgroup)
 
static void vgroup_delete_active (Object *ob)
 
static void vgroup_assign_verts (Object *ob, Scene &scene, const float weight)
 

Vertex Group Sort Operator

enum  { SORT_TYPE_NAME = 0 , SORT_TYPE_BONEHIERARCHY = 1 }
 
void OBJECT_OT_vertex_group_sort (wmOperatorType *ot)
 
static char * vgroup_init_remap (Object *ob)
 
static int vgroup_do_remap (Object *ob, const char *name_array, wmOperator *op)
 
static int vgroup_sort_name (const void *def_a_ptr, const void *def_b_ptr)
 
static void vgroup_sort_bone_hierarchy (Object *ob, ListBase *bonebase)
 
static int vertex_group_sort_exec (bContext *C, wmOperator *op)
 

Add Grease Pencil Operator

static EnumPropertyItem rna_enum_gpencil_add_stroke_depth_order_items []
 
static int object_grease_pencil_add_exec (bContext *C, wmOperator *op)
 
void OBJECT_OT_grease_pencil_add (wmOperatorType *ot)
 

Data Convert Operator

static const EnumPropertyItem convert_target_items []
 
static const EnumPropertyItemconvert_target_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
static void object_data_convert_curve_to_mesh (Main *bmain, Depsgraph *depsgraph, Object *ob)
 
static bool object_convert_poll (bContext *C)
 
static Baseduplibase_for_convert (Main *bmain, Depsgraph *depsgraph, Scene *scene, ViewLayer *view_layer, Base *base, Object *ob)
 
static int object_convert_exec (bContext *C, wmOperator *op)
 
static void object_convert_ui (bContext *, wmOperator *op)
 
void OBJECT_OT_convert (wmOperatorType *ot)
 

Generic Functions for Operators Using Constraint Names and Data Context

static const EnumPropertyItem constraint_owner_items []
 
static bool edit_constraint_poll_generic (bContext *C, StructRNA *rna_type, const bool is_liboverride_allowed)
 
static bool edit_constraint_poll (bContext *C)
 
static bool edit_constraint_liboverride_allowed_poll (bContext *C)
 
static void edit_constraint_properties (wmOperatorType *ot)
 
static void edit_constraint_report_property (wmOperatorType *ot)
 
static bool edit_constraint_invoke_properties (bContext *C, wmOperator *op, const wmEvent *event, int *r_retval)
 
static bConstraintedit_constraint_property_get (bContext *C, wmOperator *op, Object *ob, int type)
 

Object Link/Move to Collection Operator

static MoveToCollectionDatamaster_collection_menu = nullptr
 
static void move_to_collection_menus_items (uiLayout *layout, MoveToCollectionData *menu)
 
static ListBase selected_objects_get (bContext *C)
 
static bool move_to_collection_poll (bContext *C)
 
static int move_to_collection_exec (bContext *C, wmOperator *op)
 
static int move_to_collection_menus_create (wmOperator *op, MoveToCollectionData *menu)
 
static void move_to_collection_menus_free_recursive (MoveToCollectionData *menu)
 
static void move_to_collection_menus_free (MoveToCollectionData **menu)
 
static void move_to_collection_menu_create (bContext *C, uiLayout *layout, void *menu_v)
 
static int move_to_collection_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
void OBJECT_OT_move_to_collection (wmOperatorType *ot)
 
void OBJECT_OT_link_to_collection (wmOperatorType *ot)
 

Multires Subdivide Operator

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

Clear Parent Operator

const EnumPropertyItem prop_clear_parent_types []
 
void parent_clear (Object *ob, int type)
 
void OBJECT_OT_parent_clear (wmOperatorType *ot)
 
static void object_remove_parent_deform_modifiers (Object *ob, const Object *par)
 
static int parent_clear_exec (bContext *C, wmOperator *op)
 

Make Parent Operator

const EnumPropertyItem prop_make_parent_types []
 
bool parent_set (ReportList *reports, const bContext *C, Scene *scene, Object *const ob, Object *const par, int partype, bool xmirror, bool keep_transform, const int vert_par[3])
 
void parent_set (Object *ob, Object *parent, int type, const char *substr)
 
void OBJECT_OT_parent_set (wmOperatorType *ot)
 
static void parent_set_vert_find (KDTree_3d *tree, Object *child, int vert_par[3], bool is_tri)
 
static bool parent_set_nonvertex_parent (bContext *C, ParentingContext *parenting_context)
 
static bool parent_set_vertex_parent_with_kdtree (bContext *C, ParentingContext *parenting_context, KDTree_3d *tree)
 
static bool parent_set_vertex_parent (bContext *C, ParentingContext *parenting_context)
 
static int parent_set_exec (bContext *C, wmOperator *op)
 
static int parent_set_invoke_menu (bContext *C, wmOperatorType *ot)
 
static int parent_set_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static bool parent_set_poll_property (const bContext *, wmOperator *op, const PropertyRNA *prop)
 

Shared Weight Transfer Operator Properties

static const EnumPropertyItem WT_vertex_group_select_item []
 
const EnumPropertyItemvgroup_selection_itemf_helper (const bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free, unsigned int selection_mask)
 
static const EnumPropertyItemrna_vertex_group_with_single_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
 
static const EnumPropertyItemrna_vertex_group_select_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
 
static void vgroup_operator_subset_select_props (wmOperatorType *ot, bool use_active)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Object Skip-Child Container helper API.

Enumerator
XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM 

The parent is transformed, this is held in place.

XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM_INDIRECT 

The same as XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM, however this objects parent isn't transformed directly.

XFORM_OB_SKIP_CHILD_PARENT_APPLY 

Use the parent invert matrix to apply transformation, this is needed, because breaks in the selection chain prevents this from being transformed. This is used to add the transform which would have been added if there weren't breaks in the parent/child chain.

Definition at line 112 of file ED_object.hh.

◆ anonymous enum

anonymous enum
Enumerator
EM_FREEDATA 
EM_NO_CONTEXT 

Definition at line 252 of file ED_object.hh.

◆ anonymous enum

anonymous enum
Enumerator
MODIFIER_APPLY_DATA 
MODIFIER_APPLY_SHAPE 

Definition at line 453 of file ED_object.hh.

◆ anonymous enum

anonymous enum
Enumerator
ALIGN_WORLD 
ALIGN_VIEW 
ALIGN_CURSOR 

Definition at line 193 of file object_add.cc.

◆ anonymous enum

anonymous enum
Enumerator
CLEAR_TRACK 
CLEAR_TRACK_KEEP_TRANSFORM 

Definition at line 1137 of file object_relations.cc.

◆ anonymous enum

anonymous enum
Enumerator
CREATE_TRACK_DAMPTRACK 
CREATE_TRACK_TRACKTO 
CREATE_TRACK_LOCKTRACK 

Definition at line 1218 of file object_relations.cc.

◆ anonymous enum

anonymous enum
Enumerator
MAKE_LINKS_OBDATA 
MAKE_LINKS_MATERIALS 
MAKE_LINKS_ANIMDATA 
MAKE_LINKS_GROUP 
MAKE_LINKS_DUPLICOLLECTION 
MAKE_LINKS_MODIFIERS 
MAKE_LINKS_FONTS 
MAKE_LINKS_SHADERFX 

Definition at line 1404 of file object_relations.cc.

◆ anonymous enum

anonymous enum
Enumerator
MAKE_LOCAL_SELECT_OB 
MAKE_LOCAL_SELECT_OBDATA 
MAKE_LOCAL_SELECT_OBDATA_MATERIAL 
MAKE_LOCAL_ALL 

Definition at line 2063 of file object_relations.cc.

◆ anonymous enum

anonymous enum
Enumerator
MAKE_SINGLE_USER_ALL 
MAKE_SINGLE_USER_SELECTED 

Definition at line 2812 of file object_relations.cc.

◆ anonymous enum

anonymous enum
Enumerator
QUADRIFLOW_REMESH_RATIO 
QUADRIFLOW_REMESH_EDGE_LENGTH 
QUADRIFLOW_REMESH_FACES 

Definition at line 636 of file object_remesh.cc.

◆ anonymous enum

anonymous enum
Enumerator
OBJECT_SELECT_LINKED_IPO 
OBJECT_SELECT_LINKED_OBDATA 
OBJECT_SELECT_LINKED_MATERIAL 
OBJECT_SELECT_LINKED_DUPGROUP 
OBJECT_SELECT_LINKED_PARTICLE 
OBJECT_SELECT_LINKED_LIBRARY 
OBJECT_SELECT_LINKED_LIBRARY_OBDATA 

Definition at line 434 of file object_select.cc.

◆ anonymous enum

anonymous enum
Enumerator
OBJECT_GRPSEL_CHILDREN_RECURSIVE 
OBJECT_GRPSEL_CHILDREN 
OBJECT_GRPSEL_PARENT 
OBJECT_GRPSEL_SIBLINGS 
OBJECT_GRPSEL_TYPE 
OBJECT_GRPSEL_COLLECTION 
OBJECT_GRPSEL_HOOK 
OBJECT_GRPSEL_PASS 
OBJECT_GRPSEL_COLOR 
OBJECT_GRPSEL_KEYINGSET 
OBJECT_GRPSEL_LIGHT_TYPE 

Definition at line 717 of file object_select.cc.

◆ anonymous enum

anonymous enum
Enumerator
KB_MOVE_TOP 
KB_MOVE_UP 
KB_MOVE_DOWN 
KB_MOVE_BOTTOM 

Definition at line 603 of file object_shapekey.cc.

◆ anonymous enum

anonymous enum
Enumerator
SHAPE_KEY_LOCK 
SHAPE_KEY_UNLOCK 

Definition at line 675 of file object_shapekey.cc.

◆ anonymous enum

anonymous enum
Enumerator
GEOMETRY_TO_ORIGIN 
ORIGIN_TO_GEOMETRY 
ORIGIN_TO_CURSOR 
ORIGIN_TO_CENTER_OF_MASS_SURFACE 
ORIGIN_TO_CENTER_OF_MASS_VOLUME 

Definition at line 1297 of file object_transform.cc.

◆ anonymous enum

anonymous enum
Enumerator
VGROUP_TOGGLE 
VGROUP_LOCK 
VGROUP_UNLOCK 
VGROUP_INVERT 

Definition at line 1346 of file object_vgroup.cc.

◆ anonymous enum

anonymous enum
Enumerator
VGROUP_MASK_ALL 
VGROUP_MASK_SELECTED 
VGROUP_MASK_UNSELECTED 
VGROUP_MASK_INVERT_UNSELECTED 

Definition at line 1365 of file object_vgroup.cc.

◆ anonymous enum

anonymous enum
Enumerator
SORT_TYPE_NAME 
SORT_TYPE_BONEHIERARCHY 

Definition at line 3829 of file object_vgroup.cc.

◆ ClearFlag

Enumerator
CLEAR_TANGENT_NORMAL 
CLEAR_DISPLACEMENT 

Definition at line 265 of file object_bake.cc.

◆ DashSegmentMoveDirection

Enumerator
Up 
Down 

Definition at line 3979 of file object_modifier.cc.

◆ eObClearParentTypes

Enumerator
CLEAR_PARENT_ALL 
CLEAR_PARENT_KEEP_TRANSFORM 
CLEAR_PARENT_INVERSE 

Definition at line 178 of file ED_object.hh.

◆ eObject_Hook_Add_Mode

Enumerator
OBJECT_ADDHOOK_NEWOB 
OBJECT_ADDHOOK_SELOB 
OBJECT_ADDHOOK_SELOB_BONE 

Definition at line 25 of file object_intern.hh.

◆ eObjectPathCalcRange

Enumerator
OBJECT_PATH_CALC_RANGE_CURRENT_FRAME 
OBJECT_PATH_CALC_RANGE_CHANGED 
OBJECT_PATH_CALC_RANGE_FULL 

Definition at line 349 of file ED_object.hh.

◆ eObjectSelect_Mode

Enumerator
BA_DESELECT 
BA_SELECT 
BA_INVERT 

Definition at line 172 of file ED_object.hh.

◆ eParentType

Enumerator
PAR_OBJECT 
PAR_ARMATURE 
PAR_ARMATURE_NAME 
PAR_ARMATURE_ENVELOPE 
PAR_ARMATURE_AUTO 
PAR_BONE 
PAR_BONE_RELATIVE 
PAR_CURVE 
PAR_FOLLOW 
PAR_PATH_CONST 
PAR_LATTICE 
PAR_VERTEX 
PAR_VERTEX_TRI 

Definition at line 156 of file ED_object.hh.

◆ eSymmetryAxes

Enumerator
SYMMETRY_AXES_X 
SYMMETRY_AXES_Y 
SYMMETRY_AXES_Z 

Definition at line 642 of file object_remesh.cc.

◆ SkinLooseAction

Enumerator
SKIN_LOOSE_MARK 
SKIN_LOOSE_CLEAR 

Definition at line 2894 of file object_modifier.cc.

◆ TimeSegmentMoveDirection

Enumerator
Up 
Down 

Definition at line 4213 of file object_modifier.cc.

Function Documentation

◆ add_duplicate()

Base * blender::ed::object::add_duplicate ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
Base * base,
eDupli_ID_Flags dupflag )

Single object duplicate, if dupflag == 0, fully linked, else it uses the flags given. Leaves selection of base/object unaltered.

Note
don't call this within a loop since clear_* functions loop over the entire database.
caller must do DAG_relations_tag_update(bmain); this is not done automatic since we may duplicate many objects in a batch.

Definition at line 3861 of file object_add.cc.

References add_duplicate(), BKE_libblock_relink_to_newid(), BKE_main_id_newptr_and_tag_clear(), BKE_object_is_in_editmode(), Object::data, DEG_id_tag_update_ex(), Object::id, ID_RECALC_EDITORS, ID_REMAP_FORCE_OBDATA_IN_EDITMODE, LIB_ID_DUPLICATE_IS_ROOT_ID, LIB_ID_DUPLICATE_IS_SUBPROCESS, Base::object, and object_add_duplicate_internal().

Referenced by add_duplicate(), mesh_separate_arrays(), mesh_separate_tagged(), separate_armature_exec(), and separate_exec().

◆ add_generic_get_opts()

void blender::ed::object::add_generic_get_opts ( bContext * C,
wmOperator * op,
char view_align_axis,
float r_loc[3],
float r_rot[3],
float r_scale[3],
bool * r_enter_editmode,
unsigned short * r_local_view_bits,
bool * r_is_view_aligned )

◆ add_generic_props()

void blender::ed::object::add_generic_props ( wmOperatorType * ot,
bool do_editmode )

Definition at line 415 of file object_add.cc.

References align_options, ALIGN_WORLD, DEG2RADF, OBJECT_ADD_SIZE_MAXF, ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_enum(), RNA_def_float_rotation(), RNA_def_float_vector_xyz(), RNA_def_property_flag(), RNA_def_property_update_runtime(), wmOperatorType::srna, and view_align_update().

Referenced by CURVE_OT_primitive_bezier_circle_add(), CURVE_OT_primitive_bezier_curve_add(), CURVE_OT_primitive_nurbs_circle_add(), CURVE_OT_primitive_nurbs_curve_add(), CURVE_OT_primitive_nurbs_path_add(), MESH_OT_primitive_circle_add(), MESH_OT_primitive_cone_add(), MESH_OT_primitive_cube_add(), MESH_OT_primitive_cube_add_gizmo(), MESH_OT_primitive_cylinder_add(), MESH_OT_primitive_grid_add(), MESH_OT_primitive_ico_sphere_add(), MESH_OT_primitive_monkey_add(), MESH_OT_primitive_plane_add(), MESH_OT_primitive_uv_sphere_add(), OBJECT_OT_add(), OBJECT_OT_armature_add(), OBJECT_OT_camera_add(), OBJECT_OT_collection_external_asset_drop(), OBJECT_OT_collection_instance_add(), OBJECT_OT_curves_empty_hair_add(), OBJECT_OT_curves_random_add(), OBJECT_OT_data_instance_add(), OBJECT_OT_effector_add(), OBJECT_OT_empty_add(), OBJECT_OT_empty_image_add(), OBJECT_OT_grease_pencil_add(), OBJECT_OT_light_add(), OBJECT_OT_lightprobe_add(), OBJECT_OT_metaball_add(), OBJECT_OT_pointcloud_add(), OBJECT_OT_speaker_add(), OBJECT_OT_text_add(), OBJECT_OT_volume_add(), OBJECT_OT_volume_import(), SURFACE_OT_primitive_nurbs_surface_circle_add(), SURFACE_OT_primitive_nurbs_surface_curve_add(), SURFACE_OT_primitive_nurbs_surface_cylinder_add(), SURFACE_OT_primitive_nurbs_surface_sphere_add(), SURFACE_OT_primitive_nurbs_surface_surface_add(), and SURFACE_OT_primitive_nurbs_surface_torus_add().

◆ add_hook_object()

static int blender::ed::object::add_hook_object ( const bContext * C,
Main * bmain,
Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
Object * obedit,
Object * ob,
int mode,
ReportList * reports )
static

◆ add_hook_object_new()

static Object * blender::ed::object::add_hook_object_new ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
Object * obedit )
static

◆ add_mesh_props()

◆ add_shapekey_layers()

◆ add_type()

◆ add_type_with_obdata()

Object * blender::ed::object::add_type_with_obdata ( bContext * C,
int type,
const char * name,
const float loc[3],
const float rot[3],
bool enter_editmode,
ushort local_view_bits,
ID * obdata )

◆ add_unit_props_radius()

◆ add_unit_props_radius_ex()

void blender::ed::object::add_unit_props_radius_ex ( wmOperatorType * ot,
float default_value )

◆ add_unit_props_size()

◆ all_loading_finished()

static bool blender::ed::object::all_loading_finished ( )
static

◆ allow_make_links_data()

◆ append_sorted_object_parent_hierarchy()

static void blender::ed::object::append_sorted_object_parent_hierarchy ( Object * root_object,
Object * object,
Object ** sorted_objects,
int * object_index )
static

◆ apply_eval_grease_pencil_data()

static void blender::ed::object::apply_eval_grease_pencil_data ( const GreasePencil & src_grease_pencil,
const int eval_frame,
const IndexMask & orig_layers,
GreasePencil & orig_grease_pencil )
static

Definition at line 990 of file object_modifier.cc.

References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index_as(), blender::bke::greasepencil::Layer::as_node(), blender::bke::CurvesGeometry::attributes_for_write(), BLI_assert, CD_PROP_STRING, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::bke::AttributeIter::data_type, blender::index_mask::IndexMask::foreach_index(), blender::bke::AttributeIter::get(), GP_DRAWING, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of_try(), blender::array_utils::indices_are_range(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bke::greasepencil::Layer::local_transform(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), GreasePencil::material_array, GreasePencil::material_array_num, blender::geometry::merge_layers(), blender::bke::AttributeIter::name, GreasePencilLayer::opacity, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::bke::greasepencil::Layer::set_local_transform(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::greasepencil::Drawing::tag_topology_changed(), blender::GSpan::type(), and wrap().

Referenced by apply_grease_pencil_for_modifier(), and apply_grease_pencil_for_modifier_all_keyframes().

◆ apply_grease_pencil_for_modifier()

◆ apply_grease_pencil_for_modifier_all_keyframes()

◆ apply_objects_internal()

static int blender::ed::object::apply_objects_internal ( bContext * C,
ReportList * reports,
bool apply_loc,
bool apply_rot,
bool apply_scale,
bool do_props,
bool do_single_user )
static

Definition at line 666 of file object_transform.cc.

References add_v3_v3v3(), apply_objects_internal(), apply_objects_internal_can_multiuser(), apply_objects_internal_need_single_user(), Light::area_shape, Light::area_size, Light::area_sizey, Light::area_sizez, BKE_armature_copy_bone_transforms(), BKE_armature_transform(), BKE_curve_transform_ex(), BKE_gpencil_transform(), BKE_idtype_idcode_to_name(), BKE_lattice_transform(), BKE_main_id_newptr_and_tag_clear(), BKE_mball_transform(), BKE_mesh_transform(), BKE_object_apply_mat4(), BKE_object_calc_parent(), BKE_object_movieclip_get(), BKE_object_rot_to_mat3(), BKE_object_scale_to_mat3(), BKE_object_to_mat3(), BKE_object_transform_copy(), BKE_object_where_is_calc(), BKE_pose_where_is(), BKE_reportf(), BKE_tracking_reconstruction_scale(), compare_ff_relative(), copy_m4_m3(), copy_m4_m4(), copy_v3_fl(), copy_v3_v3(), copy_v4_v4(), CTX_data_active_object(), CTX_DATA_BEGIN, CTX_DATA_END, CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), CU_3D, Object::data, DEG_get_evaluated_object(), DEG_id_tag_update(), DEG_relations_tag_update(), depsgraph, GreasePencilFrame::drawing_index, ELEM, fabsf, ListBase::first, Curve::flag, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::foreach_item(), Curve::fsize, Curves::geometry, GP_DRAWING, GS, TextBox::h, bGPdata::id, Light::id, Object::id, ID_GD_LEGACY, ID_IS_EDITABLE, ID_IS_OVERRIDE_LIBRARY, ID_REAL_USERS, ID_RECALC_GEOMETRY, ID_RECALC_PARAMETERS, ID_RECALC_TRANSFORM, id_us_min(), id_us_plus(), ignore_parent_tx(), blender::math::invert(), invert_m3_m3(), invert_m4_m4(), Curve::key, LA_AREA, LA_AREA_DISK, LA_AREA_ELLIPSE, LA_AREA_RECT, LA_AREA_SQUARE, bGPdata::layers, LISTBASE_FOREACH, Object::loc, mat3_to_scale(), mat4_to_scale(), max_fff(), mul_m3_m3m3(), mul_m3_v3(), mul_m4_m4_post(), multiresModifier_scale_disp(), ID::name, NC_WINDOW, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_EMPTY, OB_FONT, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, OB_LAMP, OB_LATTICE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, OPERATOR_CANCELLED, Object::parentinv, ptr, Object::quat, blender::bke::greasepencil::Drawing::radii_for_write(), Object::rot, Object::rotAngle, Object::rotAxis, RPT_ERROR, Object::scale, single_obdata_user_make(), sorted_selected_editable_objects(), blender::bke::greasepencil::Drawing::strokes_for_write(), Curve::tb, Curve::totbox, transform_positions(), GreasePencilDrawingBase::type, Light::type, unit_axis_angle(), unit_m3(), unit_qt(), TextBox::w, WM_event_add_notifier(), wrap(), TextBox::x, TextBox::y, and zero_v3().

Referenced by apply_objects_internal(), and object_transform_apply_exec().

◆ apply_objects_internal_can_multiuser()

static bool blender::ed::object::apply_objects_internal_can_multiuser ( bContext * C)
static

Check if we need and can handle the special multiuser case.

Definition at line 612 of file object_transform.cc.

References CTX_data_active_object(), CTX_DATA_BEGIN, CTX_DATA_END, Object::data, ELEM, and ID_REAL_USERS.

Referenced by apply_objects_internal(), apply_objects_internal_need_single_user(), and object_transform_apply_invoke().

◆ apply_objects_internal_need_single_user()

static bool blender::ed::object::apply_objects_internal_need_single_user ( bContext * C)
static

Check if the current selection need to be made into single user.

It assumes that all selected objects share the same object data.

Definition at line 647 of file object_transform.cc.

References apply_objects_internal_can_multiuser(), BLI_assert, CTX_data_active_object(), CTX_DATA_COUNT, Object::data, and ID_REAL_USERS.

Referenced by apply_objects_internal(), and object_transform_apply_invoke().

◆ arithmetic_mean()

static float3 blender::ed::object::arithmetic_mean ( const Span< float3 > values)
static

Definition at line 1305 of file object_transform.cc.

References arithmetic_mean().

Referenced by arithmetic_mean(), and object_origin_set_exec().

◆ armature_coords_and_quats_apply()

static void blender::ed::object::armature_coords_and_quats_apply ( bArmature * arm,
const ElemData_Armature * elem_array )
static

Definition at line 144 of file object_data_transform.cc.

References armature_coords_and_quats_apply_with_mat4(), and unit_m4().

Referenced by data_xform_restore().

◆ armature_coords_and_quats_apply_with_mat4()

static void blender::ed::object::armature_coords_and_quats_apply_with_mat4 ( bArmature * arm,
const ElemData_Armature * elem_array,
const float mat[4][4] )
static

◆ armature_coords_and_quats_apply_with_mat4_recurse()

static const ElemData_Armature * blender::ed::object::armature_coords_and_quats_apply_with_mat4_recurse ( ListBase * bone_base,
const ElemData_Armature * elem_array,
const float mat[4][4] )
static

◆ armature_coords_and_quats_get()

static void blender::ed::object::armature_coords_and_quats_get ( const bArmature * arm,
ElemData_Armature * elem_array )
static

◆ armature_coords_and_quats_get_recurse()

static ElemData_Armature * blender::ed::object::armature_coords_and_quats_get_recurse ( const ListBase * bone_base,
ElemData_Armature * elem_array )
static

◆ bake()

static int blender::ed::object::bake ( const BakeAPIRender * bkr,
Object * ob_low,
const Span< PointerRNA > selected_objects,
ReportList * reports )
static

Definition at line 1394 of file object_bake_api.cc.

References bake_mesh_new_from_object(), bake_targets_free(), bake_targets_init(), bake_targets_output(), bake_targets_populate_pixels(), bake_targets_refresh(), BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BASE_ENABLED_RENDER, Object::base_flag, BKE_id_free(), BKE_mesh_new_from_object(), BKE_modifier_free(), BKE_modifiers_findby_type(), BKE_object_eval_reset(), BKE_object_handle_data_update(), BKE_report(), BKE_reportf(), BKE_scene_graph_update_tagged(), BLI_assert, BLI_findstring(), BLI_remlink(), blender::ed::object::BakeAPIRender::cage_extrusion, CD_PROP_FLOAT2, BakeTargets::channels_num, copy_m4_m4(), Mesh::corners_num, blender::ed::object::BakeAPIRender::custom_cage, CustomData_get_named_layer(), DAG_EVAL_RENDER, Object::data, PointerRNA::data, DEG_get_evaluated_object(), DEG_graph_build_from_view_layer(), DEG_graph_free(), DEG_graph_new(), depsgraph, eModifierType_EdgeSplit, eModifierType_Multires, Mesh::faces_num, ListBase::first, MultiresModifierData::flags, Mesh::id, Object::id, invert_m4_m4(), blender::ed::object::BakeAPIRender::is_cage, BakeHighPolyData::is_flip_object, is_negative_m4(), blender::ed::object::BakeAPIRender::is_selected_to_active, blender::ed::object::BakeAPIRender::main, blender::ed::object::BakeAPIRender::max_ray_distance, MEM_callocN, MEM_freeN(), MEM_mallocN, BakeHighPolyData::mesh, ModifierData::mode, Object::modifiers, ID::name, ModifierData::next, blender::ed::object::BakeAPIRender::normal_space, blender::ed::object::BakeAPIRender::normal_swizzle, BakeHighPolyData::ob, BakeHighPolyData::ob_eval, OB_HIDE_RENDER, OB_MESH, Main::objects, offsetof, OPERATOR_CANCELLED, OPERATOR_FINISHED, blender::ed::object::BakeAPIRender::pass_filter, blender::ed::object::BakeAPIRender::pass_type, BakeTargets::pixels_num, ptr, R_BAKE_POSX, R_BAKE_POSY, R_BAKE_POSZ, R_BAKE_SPACE_OBJECT, R_BAKE_SPACE_TANGENT, R_BAKE_SPACE_WORLD, R_BAKE_TARGET_VERTEX_COLORS, RE_bake_engine(), RE_bake_engine_set_engine_parameters(), RE_bake_has_engine(), RE_bake_normal_world_to_object(), RE_bake_normal_world_to_tangent(), RE_bake_normal_world_to_world(), RE_bake_pixels_populate_from_objects(), blender::ed::object::BakeAPIRender::render, BakeTargets::result, RPT_ERROR, SCE_PASS_NORMAL, blender::ed::object::BakeAPIRender::scene, SUBSURF_UV_SMOOTH_NONE, blender::ed::object::BakeAPIRender::target, ModifierData::type, Object::type, blender::ed::object::BakeAPIRender::uv_layer, MultiresModifierData::uv_smooth, blender::ed::object::BakeAPIRender::view_layer, and Object::visibility_flag.

Referenced by bake_exec(), and bake_startjob().

◆ bake_break()

static bool blender::ed::object::bake_break ( void * )
static

for exec() when there is no render job NOTE: this won't check for the escape key being pressed, but doing so isn't thread-safe.

Definition at line 159 of file object_bake_api.cc.

References G.

Referenced by bake_exec(), and bake_invoke().

◆ bake_exec()

◆ bake_freejob()

static void blender::ed::object::bake_freejob ( void * bkv)
static

Definition at line 1987 of file object_bake_api.cc.

References G.

Referenced by bake_invoke().

◆ bake_image_exec()

static int blender::ed::object::bake_image_exec ( bContext * C,
wmOperator * op )
static

◆ bake_init_api_data()

static void blender::ed::object::bake_init_api_data ( wmOperator * op,
bContext * C,
BakeAPIRender * bkr )
static

Definition at line 1796 of file object_bake_api.cc.

References blender::ed::object::BakeAPIRender::area, BKE_screen_find_big_area(), blender::ed::object::BakeAPIRender::cage_extrusion, CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), CTX_data_selected_objects(), CTX_data_view_layer(), CTX_wm_screen(), blender::ed::object::BakeAPIRender::custom_cage, blender::ed::object::BakeAPIRender::height, blender::ed::object::BakeAPIRender::identifier, blender::ed::object::BakeAPIRender::is_automatic_name, blender::ed::object::BakeAPIRender::is_cage, blender::ed::object::BakeAPIRender::is_clear, blender::ed::object::BakeAPIRender::is_selected_to_active, blender::ed::object::BakeAPIRender::is_split_materials, blender::ed::object::BakeAPIRender::main, blender::ed::object::BakeAPIRender::margin, blender::ed::object::BakeAPIRender::margin_type, blender::ed::object::BakeAPIRender::max_ray_distance, blender::ed::object::BakeAPIRender::normal_space, blender::ed::object::BakeAPIRender::normal_swizzle, blender::ed::object::BakeAPIRender::ob, OPERATOR_CANCELLED, blender::ed::object::BakeAPIRender::pass_filter, blender::ed::object::BakeAPIRender::pass_type, wmOperator::ptr, R_BAKE_EXTEND, R_BAKE_SAVE_EXTERNAL, R_BAKE_SAVE_INTERNAL, R_BAKE_SPACE_TANGENT, R_BAKE_TARGET_IMAGE_TEXTURES, RE_NewSceneRender(), blender::ed::object::BakeAPIRender::render, blender::ed::object::BakeAPIRender::reports, wmOperator::reports, blender::ed::object::BakeAPIRender::result, RNA_boolean_get(), RNA_enum_get(), RNA_float_get(), RNA_int_get(), RNA_property_enum_identifier(), RNA_string_get(), RNA_struct_find_property(), blender::ed::object::BakeAPIRender::save_mode, SCE_PASS_NORMAL, SCE_PASS_UV, blender::ed::object::BakeAPIRender::scene, blender::ed::object::BakeAPIRender::selected_objects, SPACE_IMAGE, blender::ed::object::BakeAPIRender::target, blender::ed::object::BakeAPIRender::uv_layer, blender::ed::object::BakeAPIRender::view_layer, and blender::ed::object::BakeAPIRender::width.

Referenced by bake_exec(), and bake_invoke().

◆ bake_invoke()

◆ bake_job_canceled()

static void blender::ed::object::bake_job_canceled ( void * bkv)
static

◆ bake_job_complete()

static void blender::ed::object::bake_job_complete ( void * bkv)
static

◆ bake_mesh_new_from_object()

static Mesh * blender::ed::object::bake_mesh_new_from_object ( Depsgraph * depsgraph,
Object * object,
const bool preserve_origindex )
static

Definition at line 711 of file object_bake_api.cc.

References BKE_mesh_new_from_object(), blender::bke::Corner, depsgraph, and ED_mesh_split_faces().

Referenced by bake().

◆ bake_modal()

static int blender::ed::object::bake_modal ( bContext * C,
wmOperator * ,
const wmEvent * event )
static

◆ bake_object_check()

◆ bake_object_image_get()

static Image * blender::ed::object::bake_object_image_get ( Object * ob,
int mat_nr )
static

Definition at line 48 of file object_bake.cc.

References ED_object_get_active_image(), and image().

Referenced by bake_object_image_get_array(), and multiresbake_check().

◆ bake_object_image_get_array()

static Image ** blender::ed::object::bake_object_image_get_array ( Object * ob)
static

◆ bake_objects_check()

static bool blender::ed::object::bake_objects_check ( Main * bmain,
const Scene * scene,
ViewLayer * view_layer,
Object * ob,
Span< PointerRNA > selected_objects,
ReportList * reports,
const bool is_selected_to_active,
const eBakeTarget target )
static

◆ bake_pass_filter_check()

◆ bake_progress_update()

static void blender::ed::object::bake_progress_update ( void * bjv,
float progress )
static

◆ bake_result_add_to_rgba()

static void blender::ed::object::bake_result_add_to_rgba ( float rgba[4],
const float * result,
const int channels_num )
static

Definition at line 1148 of file object_bake_api.cc.

References add_v3_v3(), and add_v4_v4().

Referenced by bake_targets_output_vertex_colors().

◆ bake_set_props()

◆ bake_startjob()

◆ bake_targets_clear()

static void blender::ed::object::bake_targets_clear ( Main * bmain,
const bool is_tangent )
static

Definition at line 701 of file object_bake_api.cc.

References ID_TAG_DOIT, Main::images, LISTBASE_FOREACH, and RE_bake_ibuf_clear().

Referenced by bake_exec(), and bake_startjob().

◆ bake_targets_free()

static void blender::ed::object::bake_targets_free ( BakeTargets * targets)
static

◆ bake_targets_init()

◆ bake_targets_init_external()

◆ bake_targets_init_image_textures()

◆ bake_targets_init_internal()

◆ bake_targets_init_vertex_colors()

◆ bake_targets_output()

◆ bake_targets_output_external()

◆ bake_targets_output_internal()

◆ bake_targets_output_vertex_colors()

◆ bake_targets_populate_pixels()

static void blender::ed::object::bake_targets_populate_pixels ( const BakeAPIRender * bkr,
BakeTargets * targets,
Object * ob,
Mesh * mesh_eval,
BakePixel * pixel_array )
static

◆ bake_targets_populate_pixels_color_attributes()

static void blender::ed::object::bake_targets_populate_pixels_color_attributes ( BakeTargets * targets,
Object * ob,
Mesh * mesh_eval,
BakePixel * pixel_array )
static

◆ bake_targets_refresh()

static void blender::ed::object::bake_targets_refresh ( BakeTargets * targets)
static

◆ bake_update_image()

static void blender::ed::object::bake_update_image ( ScrArea * area,
Image * image )
static

Definition at line 167 of file object_bake_api.cc.

References image(), SpaceImage::image, and SPACE_IMAGE.

Referenced by bake_targets_output_internal().

◆ base_activate()

◆ base_activate_with_mode_exit_if_needed()

◆ base_active_refresh()

void blender::ed::object::base_active_refresh ( Main * bmain,
Scene * scene,
ViewLayer * view_layer )

Call when the active base has changed.

Definition at line 98 of file object_select.cc.

References DEG_id_tag_update(), ListBase::first, ID_RECALC_SELECT, NC_SCENE, ND_OB_ACTIVE, Main::wm, WM_main_add_notifier(), and WM_msg_publish_rna_prop.

Referenced by base_activate().

◆ base_deselect_all()

bool blender::ed::object::base_deselect_all ( const Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
int action )

◆ base_deselect_all_ex()

bool blender::ed::object::base_deselect_all_ex ( const Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
int action,
bool * r_any_visible )

◆ base_free_and_unlink()

◆ base_free_and_unlink_no_indirect_check()

void blender::ed::object::base_free_and_unlink_no_indirect_check ( Main * bmain,
Scene * scene,
Object * ob )

Remove base from a specific scene. ob must not be indirectly used.

Definition at line 2174 of file object_add.cc.

References BKE_library_ID_is_indirectly_used(), BKE_scene_collections_object_remove(), BLI_assert, DEG_id_tag_update_ex(), Object::id, and ID_RECALC_BASE_FLAGS.

Referenced by object_delete_exec().

◆ base_select()

void blender::ed::object::base_select ( Base * base,
eObjectSelect_Mode mode )

Simple API for object selection, rather than just using the flag this takes into account the 'restrict selection in 3d view' flag. deselect works always, the restriction just prevents selection

Note
Caller must send a NC_SCENE | ND_OB_SELECT notifier (or a NC_SCENE | ND_OB_VISIBLE in case of visibility toggling).

Definition at line 74 of file object_select.cc.

References BA_DESELECT, BA_INVERT, BA_SELECT, BASE_SELECTABLE, BASE_SELECTED, BKE_scene_object_base_flag_sync_from_base(), and Base::flag.

Referenced by base_deselect_all_ex(), bone_select_menu_exec(), clear_trans_object_base_flags(), do_lasso_select_objects(), do_object_box_select(), blender::ed::outliner::do_outliner_item_editmode_toggle(), blender::ed::outliner::do_outliner_item_posemode_toggle(), blender::ed::outliner::do_outliner_object_select_recursive(), duplibase_for_convert(), duplicate_exec(), ED_armature_pose_select_in_wpaint_mode(), ed_object_select_pick(), get_new_constraint_target(), jump_to_object(), localview_remove_from_exec(), make_local_all__instance_indirect_unused(), make_object_duplilist_real(), mesh_separate_arrays(), mesh_separate_tagged(), mouse_nla_tracks(), object_add_named_exec(), object_circle_select(), object_deselect_all_except(), object_deselect_all_visible(), object_hide_view_set_exec(), object_select_all_by_instance_collection(), object_select_all_by_library(), object_select_all_by_library_obdata(), object_select_all_by_material(), object_select_all_by_obdata(), object_select_all_by_particle(), object_select_by_type_exec(), blender::ed::outliner::object_select_fn(), object_select_menu_exec(), object_select_mirror_exec(), object_select_more_less(), object_select_random_exec(), object_select_same_collection_exec(), blender::ed::outliner::outliner_select_sync_to_object(), blender::ed::outliner::scene_drop_invoke(), select_grouped_children(), select_grouped_collection(), select_grouped_color(), select_grouped_exec(), select_grouped_index_object(), select_grouped_keyingset(), select_grouped_lighttype(), select_grouped_object_hooks(), select_grouped_parent(), select_grouped_siblings(), select_grouped_type(), and blender::ed::outliner::tree_element_object_activate().

◆ bias_tangent_normal_pixels()

static void blender::ed::object::bias_tangent_normal_pixels ( float * rect,
int channels,
int width,
int height,
int stride )
static

Definition at line 188 of file object_bake_api.cc.

References BLI_assert, channels(), and fabsf.

Referenced by write_external_bake_pixels(), and write_internal_bake_pixels().

◆ build_catalog_tree()

◆ calc_active_center()

bool blender::ed::object::calc_active_center ( Object * ob,
bool select_only,
float r_center[3] )

◆ calc_active_center_for_editmode()

◆ calc_active_center_for_posemode()

bool blender::ed::object::calc_active_center_for_posemode ( Object * ob,
bool select_only,
float r_center[3] )

◆ catalog_assets_draw()

◆ check_force_modifiers()

◆ check_geometry_node_group_sockets()

static bool blender::ed::object::check_geometry_node_group_sockets ( wmOperator * op,
const bNodeTree * tree )
static

◆ check_vertex_group_accessible()

static bool blender::ed::object::check_vertex_group_accessible ( wmOperator * op,
Object * ob,
int def_nr )
static

◆ childof_clear_inverse_exec()

◆ childof_clear_inverse_invoke()

static int blender::ed::object::childof_clear_inverse_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ childof_set_inverse_exec()

◆ childof_set_inverse_invoke()

static int blender::ed::object::childof_set_inverse_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ clear_images_poly()

static void blender::ed::object::clear_images_poly ( Image ** ob_image_array,
int ob_image_array_len,
ClearFlag flag )
static

Definition at line 304 of file object_bake.cc.

References clear_single_image(), flag, Image::id, and ID::tag.

Referenced by multiresbake_image_exec_locked(), and multiresbake_startjob().

◆ clear_override_library_exec()

◆ clear_single_image()

◆ collection_add_exec()

◆ collection_add_info_get_from_op()

◆ collection_create_exec()

◆ collection_drop_exec()

◆ collection_export()

◆ collection_export_all_poll()

static bool blender::ed::object::collection_export_all_poll ( bContext * C)
static

Definition at line 466 of file object_collection.cc.

References CTX_data_view_layer().

Referenced by WM_OT_collection_export_all().

◆ collection_export_recursive()

◆ collection_exporter_add_exec()

◆ collection_exporter_common_check()

static bool blender::ed::object::collection_exporter_common_check ( const Collection * collection)
static

◆ collection_exporter_export()

◆ collection_exporter_export_exec()

static int blender::ed::object::collection_exporter_export_exec ( bContext * C,
wmOperator * op )
static

◆ collection_exporter_menu_draw()

static void blender::ed::object::collection_exporter_menu_draw ( const bContext * ,
Menu * menu )
static

◆ collection_exporter_poll()

static bool blender::ed::object::collection_exporter_poll ( bContext * C)
static

◆ collection_exporter_register()

◆ collection_exporter_remove_exec()

◆ collection_exporter_remove_invoke()

static int blender::ed::object::collection_exporter_remove_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

Definition at line 561 of file object_collection.cc.

References ALERT_ICON_NONE, IFACE_, and WM_operator_confirm_ex().

Referenced by COLLECTION_OT_exporter_remove().

◆ collection_exporter_remove_poll()

static bool blender::ed::object::collection_exporter_remove_poll ( bContext * C)
static

◆ collection_hide_menu_draw()

◆ collection_instance_add_exec()

◆ collection_io_export_all_exec()

static int blender::ed::object::collection_io_export_all_exec ( bContext * C,
wmOperator * op )
static

◆ collection_link_exec()

◆ collection_object_active_find_index()

static Collection * blender::ed::object::collection_object_active_find_index ( Main * bmain,
Scene * scene,
Object * ob,
const int collection_object_index )
static

◆ collection_object_active_itemf()

◆ collection_objects_remove_all_exec()

static int blender::ed::object::collection_objects_remove_all_exec ( bContext * C,
wmOperator *  )
static

◆ collection_objects_remove_exec()

◆ COLLECTION_OT_create()

◆ COLLECTION_OT_export_all()

◆ COLLECTION_OT_exporter_add()

◆ COLLECTION_OT_exporter_export()

◆ COLLECTION_OT_exporter_remove()

◆ COLLECTION_OT_objects_add_active()

◆ COLLECTION_OT_objects_remove()

◆ COLLECTION_OT_objects_remove_active()

◆ COLLECTION_OT_objects_remove_all()

◆ collection_remove_exec()

◆ collection_unlink_exec()

◆ collection_unlink_poll()

static bool blender::ed::object::collection_unlink_poll ( bContext * C)
static

◆ constraint_active_get()

bConstraint * blender::ed::object::constraint_active_get ( Object * ob)

Single constraint.

Definition at line 147 of file object_constraint.cc.

References BKE_constraints_active_get(), and constraint_active_list().

◆ constraint_active_list()

ListBase * blender::ed::object::constraint_active_list ( Object * ob)

If object is in pose-mode, return active bone constraints, else object constraints. No constraints are returned for a bone on an inactive bone-layer.

Definition at line 77 of file object_constraint.cc.

References BKE_pose_channel_active_if_bonecoll_visible(), bPoseChannel::constraints, Object::constraints, Object::mode, and OB_MODE_POSE.

Referenced by constraint_active_get(), BCAnimationSampler::find_depending_animated(), pose_constraint_add_exec(), and pose_ik_add_exec().

◆ constraint_active_set()

void blender::ed::object::constraint_active_set ( Object * ob,
bConstraint * con )

◆ constraint_add_exec()

◆ constraint_apply_exec()

◆ constraint_apply_invoke()

static int blender::ed::object::constraint_apply_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ constraint_copy_exec()

◆ constraint_copy_for_object()

◆ constraint_copy_for_pose()

◆ constraint_copy_invoke()

static int blender::ed::object::constraint_copy_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ constraint_copy_to_selected_exec()

◆ constraint_copy_to_selected_invoke()

static int blender::ed::object::constraint_copy_to_selected_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ constraint_copy_to_selected_poll()

static bool blender::ed::object::constraint_copy_to_selected_poll ( bContext * C)
static

NOTE: Can not return here, because CTX_DATA_BEGIN_WITH_ID allocated a list that needs to be freed by CTX_DATA_END.

NOTE: Can not return here, because CTX_DATA_BEGIN allocated a list that needs to be freed by CTX_DATA_END.

Definition at line 1777 of file object_constraint.cc.

References constraint_list_from_constraint(), context_active_object(), CTX_DATA_BEGIN, CTX_DATA_BEGIN_WITH_ID, CTX_DATA_END, CTX_data_pointer_get_type(), CTX_wm_operator_poll_msg_set(), PointerRNA::data, PointerRNA::owner_id, ptr, and UNUSED_VARS.

Referenced by CONSTRAINT_OT_copy_to_selected().

◆ constraint_delete_exec()

◆ constraint_delete_invoke()

static int blender::ed::object::constraint_delete_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ constraint_dependency_tag_update()

void blender::ed::object::constraint_dependency_tag_update ( Main * bmain,
Object * ob,
bConstraint * con )

◆ constraint_dependency_update()

void blender::ed::object::constraint_dependency_update ( Main * bmain,
Object * ob )

◆ constraint_link()

void blender::ed::object::constraint_link ( Main * bmain,
Object * ob_dst,
ListBase * dst,
ListBase * src )

◆ constraint_list_from_constraint()

◆ constraint_move_down_exec()

◆ constraint_move_down_invoke()

static int blender::ed::object::constraint_move_down_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ constraint_move_to_index()

◆ constraint_move_to_index_exec()

◆ constraint_move_to_index_invoke()

static int blender::ed::object::constraint_move_to_index_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ constraint_move_up_exec()

◆ constraint_move_up_invoke()

static int blender::ed::object::constraint_move_up_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ CONSTRAINT_OT_apply()

◆ CONSTRAINT_OT_childof_clear_inverse()

◆ CONSTRAINT_OT_childof_set_inverse()

◆ CONSTRAINT_OT_copy()

◆ CONSTRAINT_OT_copy_to_selected()

◆ CONSTRAINT_OT_delete()

◆ CONSTRAINT_OT_followpath_path_animate()

◆ CONSTRAINT_OT_limitdistance_reset()

◆ CONSTRAINT_OT_move_down()

◆ CONSTRAINT_OT_move_to_index()

◆ CONSTRAINT_OT_move_up()

◆ CONSTRAINT_OT_objectsolver_clear_inverse()

◆ CONSTRAINT_OT_objectsolver_set_inverse()

◆ CONSTRAINT_OT_stretchto_reset()

◆ constraint_tag_update()

◆ constraint_type_get()

static int blender::ed::object::constraint_type_get ( Object * owner,
bPoseChannel * pchan )
static

◆ constraint_update()

◆ context_active_object()

Object * blender::ed::object::context_active_object ( const bContext * C)

Find the correct active object per context (context.object or context.active_object)

Note
context can be NULL when called from a enum with PROP_ENUM_NO_CONTEXT.

Definition at line 133 of file object_edit.cc.

References context_object(), and CTX_data_active_object().

Referenced by blender::ed::object::bake_simulation::bake_simulation_poll(), childof_clear_inverse_exec(), childof_set_inverse_exec(), constraint_apply_exec(), constraint_copy_exec(), constraint_copy_to_selected_exec(), constraint_copy_to_selected_poll(), constraint_delete_exec(), constraint_move_down_exec(), constraint_move_to_index_exec(), constraint_move_up_exec(), constraint_ops_extra_draw(), copy_particle_systems_exec(), copy_particle_systems_poll(), correctivesmooth_bind_exec(), blender::ed::curves::convert_from_particle_system::curves_convert_from_particle_system_exec(), blender::ed::curves::convert_from_particle_system::curves_convert_from_particle_system_poll(), dash_modifier_segment_add_exec(), dash_modifier_segment_move_exec(), dash_modifier_segment_remove_exec(), data_transfer_exec(), data_transfer_poll(), datalayout_transfer_exec(), dt_layers_select_src_itemf(), duplicate_particle_systems_exec(), duplicate_particle_systems_poll(), ED_armature_context(), ED_mesh_context(), ED_operator_object_active(), ED_operator_object_active_editable(), ED_operator_object_active_editable_font(), ED_operator_object_active_editable_mesh(), ED_operator_object_active_local_editable(), ED_operator_object_active_local_editable_posemode_exclusive(), ED_operator_outliner_active_no_editobject(), ED_operator_posemode_exclusive(), ED_operator_rigidbody_active_poll(), ED_operator_rigidbody_add_poll(), ED_operator_rigidbody_con_active_poll(), ED_pose_object_from_context(), edit_constraint_invoke_properties(), edit_constraint_poll_generic(), edit_modifier_poll_generic(), edit_shaderfx_poll_generic(), explode_refresh_exec(), fluid_free_exec(), fluid_initjob(), fluid_pause_exec(), followpath_path_animate_exec(), geometry_node_tree_copy_assign_exec(), geometry_nodes_input_attribute_toggle_exec(), get_new_constraint_target(), gpencil_shaderfx_ops_extra_draw(), laplaciandeform_bind_exec(), light_linking_collection_new_exec(), light_linking_link_exec(), light_linking_select_exec(), limitdistance_reset_exec(), make_links_data_exec(), make_override_library_invoke(), meshdeform_bind_exec(), modifier_add_itemf(), modifier_apply_invoke(), modifier_apply_poll(), modifier_convert_exec(), modifier_copy_to_selected_exec(), modifier_copy_to_selected_poll(), modifier_get_edit_objects(), modifier_move_down_exec(), modifier_move_up_exec(), modifier_ops_extra_draw(), modifier_set_active_exec(), modifier_ui_poll(), modifiers_clear_poll(), modifiers_copy_to_selected_poll(), multires_base_apply_exec(), multires_external_pack_exec(), multires_external_save_exec(), multires_external_save_invoke(), multires_higher_levels_delete_exec(), multires_rebuild_subdiv_exec(), multires_reshape_exec(), multires_subdivide_exec(), multires_unsubdivide_exec(), object_constraint_add_exec(), object_constraint_copy_exec(), object_modifiers_copy_exec(), object_transform_apply_invoke(), object_update_paths_poll(), objectsolver_clear_inverse_exec(), objectsolver_set_inverse_exec(), ocean_bake_exec(), parent_noinv_set_exec(), parent_set_exec(), parent_set_invoke_menu(), pose_constraint_add_exec(), proj_paint_add_slot(), rigidbody_object_add_exec(), rigidbody_object_remove_exec(), root_catalogs_draw(), shaderfx_add_exec(), shaderfx_add_itemf(), shaderfx_copy_exec(), shaderfx_move_down_exec(), shaderfx_move_to_index_exec(), shaderfx_move_up_exec(), shaderfx_remove_exec(), shaderfx_ui_poll(), stretchto_reset_exec(), surfacedeform_bind_exec(), texture_paint_add_texture_paint_slot_invoke(), texture_paint_add_texture_paint_slot_ui(), time_modifier_segment_add_exec(), time_modifier_segment_move_exec(), time_modifier_segment_remove_exec(), track_set_exec(), uiTemplateConstraints(), uiTemplateModifiers(), and uiTemplateShaderFx().

◆ context_object()

Object * blender::ed::object::context_object ( const bContext * C)

context.object

Definition at line 128 of file object_edit.cc.

References CTX_data_pointer_get_type(), and PointerRNA::data.

Referenced by add_or_move_to_collection_exec(), armature_bone_select_poll(), bone_collection_assign_exec(), bone_collection_assign_poll(), bone_collection_create_and_assign_exec(), bone_collection_create_and_assign_poll(), bone_collection_deselect_exec(), bone_collection_select_exec(), bone_collection_unassign_exec(), bone_collection_unassign_named_exec(), collection_add_exec(), collection_link_exec(), collection_object_active_itemf(), collection_objects_remove_exec(), collection_remove_exec(), connect_hair_exec(), context_active_object(), disconnect_hair_exec(), dynamicpaint_bake_exec(), blender::ed::geometry::geometry_attribute_add_exec(), blender::ed::geometry::geometry_attribute_convert_exec(), blender::ed::geometry::geometry_attribute_convert_invoke(), blender::ed::geometry::geometry_attribute_convert_poll(), blender::ed::geometry::geometry_attribute_domain_itemf(), blender::ed::geometry::geometry_attribute_remove_exec(), blender::ed::geometry::geometry_attributes_poll(), blender::ed::geometry::geometry_attributes_remove_poll(), blender::ed::geometry::geometry_color_attribute_add_exec(), blender::ed::geometry::geometry_color_attribute_convert_exec(), blender::ed::geometry::geometry_color_attribute_convert_invoke(), blender::ed::geometry::geometry_color_attribute_convert_poll(), blender::ed::geometry::geometry_color_attribute_duplicate_exec(), blender::ed::geometry::geometry_color_attribute_remove_exec(), blender::ed::geometry::geometry_color_attribute_set_render_exec(), blender::ed::geometry::geometry_color_attributes_duplicate_poll(), blender::ed::geometry::geometry_color_attributes_remove_poll(), layers_poll(), material_slot_add_exec(), material_slot_copy_exec(), material_slot_move_exec(), material_slot_remove_exec(), mesh_customdata_mask_clear_exec(), mesh_customdata_mask_clear_poll(), mesh_customdata_skin_add_exec(), mesh_customdata_skin_state(), mesh_uv_texture_add_exec(), mesh_uv_texture_remove_exec(), move_to_collection_menu_create(), move_to_collection_poll(), object_materials_supported_poll(), objects_add_active_exec(), output_toggle_exec(), particle_system_add_exec(), particle_system_remove_exec(), set_active_group_exec(), shape_key_add_exec(), shape_key_clear_exec(), shape_key_exists_poll(), shape_key_mirror_exec(), shape_key_mode_exists_poll(), shape_key_mode_poll(), shape_key_move_exec(), shape_key_move_poll(), shape_key_poll(), shape_key_remove_exec(), shape_key_retime_exec(), surface_slot_add_exec(), surface_slot_remove_exec(), type_toggle_exec(), uv_texture_remove_poll(), vertex_group_add_exec(), vertex_group_assign_exec(), vertex_group_assign_new_exec(), vertex_group_copy_exec(), vertex_group_copy_to_selected_exec(), vertex_group_deselect_exec(), vertex_group_invert_exec(), vertex_group_levels_exec(), vertex_group_mirror_exec(), vertex_group_normalize_all_exec(), vertex_group_normalize_exec(), vertex_group_poll(), vertex_group_poll_edit(), vertex_group_quantize_exec(), vertex_group_remove_exec(), vertex_group_remove_from_exec(), vertex_group_select_exec(), vertex_group_sort_exec(), vertex_group_supported_poll(), vertex_group_vert_poll_ex(), vertex_group_vert_select_mesh_poll(), vertex_group_vert_select_unlocked_poll(), vertex_weight_copy_exec(), vertex_weight_delete_exec(), vertex_weight_normalize_active_vertex_exec(), vertex_weight_paste_exec(), vertex_weight_set_active_exec(), vgroup_itemf(), and vgroup_move_exec().

◆ convert_float_color_to_byte_color()

static void blender::ed::object::convert_float_color_to_byte_color ( const MPropCol * float_colors,
const int num,
const bool is_noncolor,
MLoopCol * byte_colors )
static

◆ convert_psys_to_mesh()

◆ convert_target_itemf()

static const EnumPropertyItem * blender::ed::object::convert_target_itemf ( bContext * C,
PointerRNA * ,
PropertyRNA * ,
bool * r_free )
static

◆ copy_object_set_idnew()

◆ correctivesmooth_bind_exec()

◆ correctivesmooth_bind_invoke()

static int blender::ed::object::correctivesmooth_bind_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ correctivesmooth_poll()

static bool blender::ed::object::correctivesmooth_poll ( bContext * C)
static

◆ create_applied_mesh_for_modifier()

static Mesh * blender::ed::object::create_applied_mesh_for_modifier ( Depsgraph * depsgraph,
Scene * scene,
Object * ob_eval,
ModifierData * md_eval,
const bool use_virtual_modifiers,
const bool build_shapekey_layers,
ReportList * reports )
static

◆ dash_modifier_segment_add_exec()

◆ dash_modifier_segment_add_invoke()

static int blender::ed::object::dash_modifier_segment_add_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ dash_modifier_segment_free()

static void blender::ed::object::dash_modifier_segment_free ( GreasePencilDashModifierSegment * )
static

◆ dash_modifier_segment_move_exec()

◆ dash_modifier_segment_move_invoke()

static int blender::ed::object::dash_modifier_segment_move_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ dash_modifier_segment_poll()

◆ dash_modifier_segment_remove_exec()

◆ dash_modifier_segment_remove_invoke()

static int blender::ed::object::dash_modifier_segment_remove_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ data_transfer_check()

◆ data_transfer_exec()

◆ data_transfer_exec_is_object_valid()

static bool blender::ed::object::data_transfer_exec_is_object_valid ( wmOperator * op,
Object * ob_src,
Object * ob_dst,
const bool reverse_transfer )
static

◆ data_transfer_exec_preprocess_objects()

static void blender::ed::object::data_transfer_exec_preprocess_objects ( bContext * C,
wmOperator * op,
Object * ob_src,
Vector< PointerRNA > * ctx_objects,
const bool reverse_transfer )
static

◆ data_transfer_get_description()

static std::string blender::ed::object::data_transfer_get_description ( bContext * ,
wmOperatorType * ,
PointerRNA * ptr )
static

Definition at line 637 of file object_data_transfer.cc.

References ptr, RNA_boolean_get(), and TIP_.

Referenced by OBJECT_OT_data_transfer().

◆ data_transfer_poll()

static bool blender::ed::object::data_transfer_poll ( bContext * C)
static

◆ data_transfer_poll_property()

◆ data_xform_by_mat4()

void blender::ed::object::data_xform_by_mat4 ( XFormObjectData * xod,
const float mat[4][4] )

◆ data_xform_container_create()

XFormObjectData_Container * blender::ed::object::data_xform_container_create ( )

◆ data_xform_container_destroy()

◆ data_xform_container_item_ensure()

◆ data_xform_container_update_all()

◆ data_xform_create()

XFormObjectData * blender::ed::object::data_xform_create ( ID * id)

Definition at line 505 of file object_data_transform.cc.

References data_xform_create_ex().

Referenced by data_xform_container_item_ensure().

◆ data_xform_create_ex()

XFormObjectData * blender::ed::object::data_xform_create_ex ( ID * id,
bool is_edit_mode )

Definition at line 311 of file object_data_transform.cc.

References armature_coords_and_quats_get(), blender::ed::object::XFormObjectData_Armature::base, blender::ed::object::XFormObjectData_Curve::base, blender::ed::object::XFormObjectData_GPencil::base, blender::ed::object::XFormObjectData_GreasePencil::base, blender::ed::object::XFormObjectData_Lattice::base, blender::ed::object::XFormObjectData_Mesh::base, blender::ed::object::XFormObjectData_MetaBall::base, BKE_armature_bonelist_count(), BKE_curve_nurbs_vert_coords_get(), BKE_curve_type_get(), BKE_gpencil_point_coords_get(), BKE_gpencil_stroke_point_count(), BKE_grease_pencil_point_coords_get(), BKE_grease_pencil_stroke_point_count(), BKE_keyblock_data_get_from_shape(), BKE_keyblock_element_calc_size_from_shape(), BKE_lattice_vert_coords_get(), BKE_nurbList_verts_count(), BLI_listbase_count(), bm, BM_mesh_vert_coords_get(), bArmature::bonebase, blender::MutableSpan< T >::copy_from(), bArmature::edbo, edit_armature_coords_and_quats_get(), Lattice::editlatt, Curve::editnurb, blender::ed::object::XFormObjectData_Armature::elem_array, blender::ed::object::XFormObjectData_Curve::elem_array, blender::ed::object::XFormObjectData_GPencil::elem_array, blender::ed::object::XFormObjectData_GreasePencil::elem_array, blender::ed::object::XFormObjectData_Lattice::elem_array, blender::ed::object::XFormObjectData_Mesh::elem_array, blender::ed::object::XFormObjectData_MetaBall::elem_array, MetaBall::elems, GS, blender::ed::object::XFormObjectData::id, ID_AR, ID_CU_LEGACY, ID_GD_LEGACY, ID_GP, ID_LT, ID_MB, ID_ME, blender::ed::object::XFormObjectData::is_edit_mode, Curve::key, Lattice::key, blender::ed::object::XFormObjectData_Curve::key_data, blender::ed::object::XFormObjectData_Lattice::key_data, blender::ed::object::XFormObjectData_Mesh::key_data, EditLatt::latt, MEM_mallocN, metaball_coords_and_quats_get(), Curve::nurb, EditNurb::nurbs, OB_FONT, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BMesh::totvert.

Referenced by data_xform_create(), and data_xform_create_from_edit_mode().

◆ data_xform_create_from_edit_mode()

XFormObjectData * blender::ed::object::data_xform_create_from_edit_mode ( ID * id)

Definition at line 510 of file object_data_transform.cc.

References data_xform_create_ex().

Referenced by op_generic_value_invoke().

◆ data_xform_destroy()

◆ data_xform_restore()

◆ data_xform_tag_update()

◆ datalayout_transfer_exec()

◆ datalayout_transfer_invoke()

static int blender::ed::object::datalayout_transfer_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ datalayout_transfer_poll()

static bool blender::ed::object::datalayout_transfer_poll ( bContext * C)
static

◆ drop_geometry_nodes_invoke()

◆ drop_geometry_nodes_tooltip()

std::string blender::ed::object::drop_geometry_nodes_tooltip ( bContext * C,
PointerRNA * properties,
const int mval[2] )

◆ drop_named_material_invoke()

◆ drop_named_material_tooltip()

std::string blender::ed::object::drop_named_material_tooltip ( bContext * C,
const char * name,
const int mval[2] )

◆ dt_add_vcol_layers()

static void blender::ed::object::dt_add_vcol_layers ( const CustomData * cdata,
eCustomDataMask mask,
EnumPropertyItem ** r_item,
int * r_totitem )
static

◆ dt_layers_select_dst_itemf()

◆ dt_layers_select_itemf()

static const EnumPropertyItem * blender::ed::object::dt_layers_select_itemf ( bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
bool * r_free )
static

◆ dt_layers_select_src_itemf()

◆ dt_mix_mode_itemf()

◆ duplibase_for_convert()

◆ duplicate_exec()

◆ dupliobject_cmp()

static bool blender::ed::object::dupliobject_cmp ( const void * a_,
const void * b_ )
static

Compare function that matches dupliobject_hash.

Definition at line 2418 of file object_add.cc.

References b, MAX_DUPLI_RECUR, and OB_DUPLICOLLECTION.

Referenced by make_object_duplilist_real().

◆ dupliobject_hash()

static uint blender::ed::object::dupliobject_hash ( const void * ptr)
static
Note
regarding hashing dupli-objects which come from OB_DUPLICOLLECTION, skip the first member of DupliObject.persistent_id since its a unique index and we only want to know if the group objects are from the same dupli-group instance.
regarding hashing dupli-objects which come from non-OB_DUPLICOLLECTION, include the first member of DupliObject.persistent_id since its the index of the vertex/face the object is instantiated on and we want to identify objects on the same vertex/face. In other words, we consider each group of objects from a same item as being the 'local group' where to check for parents.

Definition at line 2383 of file object_add.cc.

References BLI_ghashutil_ptrhash(), hash, MAX_DUPLI_RECUR, DupliObject::ob, OB_DUPLICOLLECTION, DupliObject::persistent_id, ptr, and DupliObject::type.

Referenced by make_object_duplilist_real().

◆ dupliobject_instancer_cmp()

static bool blender::ed::object::dupliobject_instancer_cmp ( const void * a_,
const void * b_ )
static

Definition at line 2452 of file object_add.cc.

References b, and MAX_DUPLI_RECUR.

Referenced by make_object_duplilist_real().

◆ dupliobject_instancer_hash()

static uint blender::ed::object::dupliobject_instancer_hash ( const void * ptr)
static
Note
regarding hashing dupli-objects when using OB_DUPLICOLLECTION, skip the first member of DupliObject.persistent_id since its a unique index and we only want to know if the group objects are from the same dupli-group instance.

Definition at line 2405 of file object_add.cc.

References BLI_ghashutil_inthash, hash, MAX_DUPLI_RECUR, DupliObject::persistent_id, and ptr.

Referenced by make_object_duplilist_real().

◆ dvert_mirror_op()

static void blender::ed::object::dvert_mirror_op ( MDeformVert * dvert,
MDeformVert * dvert_mirr,
const char sel,
const char sel_mirr,
const int * flip_map,
const int flip_map_len,
const bool mirror_weights,
const bool flip_vgroups,
const bool all_vgroups,
const int act_vgroup )
static

◆ ED_mesh_defvert_mirror_update_em()

static void blender::ed::object::ED_mesh_defvert_mirror_update_em ( Object * ob,
BMVert * eve,
int def_nr,
int vidx,
const int cd_dvert_offset )
static

◆ ED_mesh_defvert_mirror_update_ob()

static void blender::ed::object::ED_mesh_defvert_mirror_update_ob ( Object * ob,
int def_nr,
int vidx )
static

◆ ed_object_mode_generic_exit_ex()

◆ ed_object_posemode_set_for_weight_paint_ex()

static void blender::ed::object::ed_object_posemode_set_for_weight_paint_ex ( bContext * C,
Main * bmain,
Object * ob_arm,
const bool is_mode_set )
static

◆ ED_object_shape_key_add()

static void blender::ed::object::ED_object_shape_key_add ( bContext * C,
Object * ob,
const bool from_mix )
static

◆ edit_armature_coords_and_quats_apply()

static void blender::ed::object::edit_armature_coords_and_quats_apply ( bArmature * arm,
const ElemData_Armature * elem_array )
static

◆ edit_armature_coords_and_quats_apply_with_mat4()

static void blender::ed::object::edit_armature_coords_and_quats_apply_with_mat4 ( bArmature * arm,
const ElemData_Armature * elem_array,
const float mat[4][4] )
static

◆ edit_armature_coords_and_quats_get()

static void blender::ed::object::edit_armature_coords_and_quats_get ( const bArmature * arm,
ElemData_Armature * elem_array )
static

Definition at line 153 of file object_data_transform.cc.

References COPY_PTR, COPY_VAL, bArmature::edbo, and ListBase::first.

Referenced by data_xform_create_ex().

◆ edit_constraint_invoke_properties()

◆ edit_constraint_liboverride_allowed_poll()

static bool blender::ed::object::edit_constraint_liboverride_allowed_poll ( bContext * C)
static

◆ edit_constraint_poll()

◆ edit_constraint_poll_generic()

static bool blender::ed::object::edit_constraint_poll_generic ( bContext * C,
StructRNA * rna_type,
const bool is_liboverride_allowed )
static

◆ edit_constraint_properties()

◆ edit_constraint_property_get()

◆ edit_constraint_report_property()

static void blender::ed::object::edit_constraint_report_property ( wmOperatorType * ot)
static

◆ edit_modifier_invoke_properties()

◆ edit_modifier_invoke_properties_with_hover()

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

◆ edit_modifier_liboverride_allowed_poll()

static bool blender::ed::object::edit_modifier_liboverride_allowed_poll ( bContext * C)
static

◆ edit_modifier_poll()

◆ edit_modifier_poll_generic()

◆ edit_modifier_properties()

◆ edit_modifier_property_get()

◆ edit_modifier_report_property()

◆ edit_shaderfx_invoke_properties()

static bool blender::ed::object::edit_shaderfx_invoke_properties ( bContext * C,
wmOperator * op,
const wmEvent * event,
int * r_retval )
static
Parameters
eventIf this isn't nullptr, the operator will also look for panels underneath the cursor with custom-data set to a modifier.
r_retvalThis should be used if #event is used in order to return OPERATOR_PASS_THROUGH to check other operators with the same key set.

Definition at line 414 of file object_shader_fx.cc.

References BLI_assert, CTX_data_pointer_get_type(), PointerRNA::data, ShaderFxData::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 shaderfx_copy_invoke(), shaderfx_move_down_invoke(), shaderfx_move_to_index_invoke(), shaderfx_move_up_invoke(), and shaderfx_remove_invoke().

◆ edit_shaderfx_poll()

◆ edit_shaderfx_poll_generic()

static bool blender::ed::object::edit_shaderfx_poll_generic ( bContext * C,
StructRNA * rna_type,
int obtype_flag,
const bool is_liboverride_allowed )
static

◆ edit_shaderfx_properties()

◆ edit_shaderfx_property_get()

static ShaderFxData * blender::ed::object::edit_shaderfx_property_get ( wmOperator * op,
Object * ob,
int type )
static

◆ edit_shaderfx_report_property()

static void blender::ed::object::edit_shaderfx_report_property ( wmOperatorType * ot)
static

◆ editmode_enter()

bool blender::ed::object::editmode_enter ( bContext * C,
int flag )

◆ editmode_enter_ex()

◆ editmode_exit()

bool blender::ed::object::editmode_exit ( bContext * C,
int flag )

◆ editmode_exit_ex()

◆ editmode_exit_multi()

bool blender::ed::object::editmode_exit_multi ( bContext * C,
int flag )

◆ editmode_exit_multi_ex()

bool blender::ed::object::editmode_exit_multi_ex ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
int flag )

◆ editmode_free_ex()

bool blender::ed::object::editmode_free_ex ( Main * bmain,
Object * obedit )

Support freeing edit-mode data without flushing it back to the object.

Returns
true if data was freed.

Definition at line 762 of file object_edit.cc.

References editmode_load_free_ex().

◆ editmode_load()

bool blender::ed::object::editmode_load ( Main * bmain,
Object * obedit )

Definition at line 703 of file object_edit.cc.

References editmode_load_free_ex().

Referenced by bake_targets_init_vertex_colors().

◆ editmode_load_free_ex()

◆ editmode_toggle_exec()

◆ editmode_toggle_poll()

static bool blender::ed::object::editmode_toggle_poll ( bContext * C)
static

◆ effector_add_exec()

◆ explode_poll()

static bool blender::ed::object::explode_poll ( bContext * C)
static

Definition at line 3327 of file object_modifier.cc.

References edit_modifier_poll_generic(), and explode_poll().

Referenced by explode_poll(), and OBJECT_OT_explode_refresh().

◆ explode_refresh_exec()

◆ explode_refresh_invoke()

static int blender::ed::object::explode_refresh_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ find_first_by_data_id()

Base * blender::ed::object::find_first_by_data_id ( const Scene * scene,
ViewLayer * view_layer,
ID * id )

If id is not already an Object, try to find an object that uses it as data. Prefers active, then selected, then visible/selectable.

Definition at line 212 of file object_select.cc.

References BASE_SELECTED, BKE_view_layer_active_base_get(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), BLI_assert, Object::data, get_base_select_priority(), GS, LISTBASE_FOREACH, OB_DATA_SUPPORT_ID, and Base::object.

Referenced by jump_to_target_ptr().

◆ find_original_loop()

static int blender::ed::object::find_original_loop ( const OffsetIndices< int > orig_faces,
const Span< int > orig_corner_verts,
const int * vert_origindex,
const int * poly_origindex,
const int poly_eval,
const int vert_eval )
static

◆ followpath_path_animate_exec()

◆ followpath_path_animate_invoke()

static int blender::ed::object::followpath_path_animate_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ force_evaluation_if_constraint_disabled()

static void blender::ed::object::force_evaluation_if_constraint_disabled ( bContext * C,
Object * ob,
bConstraint * con )
static

◆ forcefield_toggle_exec()

◆ geometry_node_tree_copy_assign_exec()

◆ geometry_nodes_input_attribute_toggle_exec()

◆ get_asset_or_local_node_group()

◆ get_base_select_priority()

static int blender::ed::object::get_base_select_priority ( Base * base)
static

◆ get_effector_defname()

◆ get_light_defname()

static const char * blender::ed::object::get_light_defname ( int type)
static

Definition at line 1549 of file object_add.cc.

References BLT_I18NCONTEXT_ID_LIGHT, CTX_DATA_, LA_AREA, LA_LOCAL, LA_SPOT, and LA_SUN.

Referenced by object_light_add_exec().

◆ get_lightprobe_defname()

static const char * blender::ed::object::get_lightprobe_defname ( int type)
static

◆ get_new_constraint_target()

◆ get_node_group()

static bNodeTree * blender::ed::object::get_node_group ( const bContext & C,
PointerRNA & ptr,
ReportList * reports )
static

◆ get_static_item_tree()

static asset::AssetItemTree * blender::ed::object::get_static_item_tree ( )
static

◆ get_vert_def_nr()

◆ gpencil_modifier_add()

GpencilModifierData * blender::ed::object::gpencil_modifier_add ( ReportList * reports,
Main * bmain,
Scene * scene,
Object * ob,
const char * name,
int type )

◆ gpencil_modifier_apply()

bool blender::ed::object::gpencil_modifier_apply ( Main * bmain,
ReportList * reports,
Depsgraph * depsgraph,
Object * ob,
GpencilModifierData * md,
int mode )

◆ gpencil_modifier_clear()

void blender::ed::object::gpencil_modifier_clear ( Main * bmain,
Object * ob )

◆ gpencil_modifier_copy()

bool blender::ed::object::gpencil_modifier_copy ( ReportList * reports,
Object * ob,
GpencilModifierData * md )

◆ gpencil_modifier_copy_to_object()

void blender::ed::object::gpencil_modifier_copy_to_object ( Object * ob_dst,
GpencilModifierData * md )

◆ gpencil_modifier_move_down()

bool blender::ed::object::gpencil_modifier_move_down ( ReportList * reports,
Object * ob,
GpencilModifierData * md )

◆ gpencil_modifier_move_to_index()

bool blender::ed::object::gpencil_modifier_move_to_index ( ReportList * reports,
Object * ob,
GpencilModifierData * md,
int index )

◆ gpencil_modifier_move_up()

bool blender::ed::object::gpencil_modifier_move_up ( ReportList * reports,
Object * ob,
GpencilModifierData * md )

◆ gpencil_modifier_remove()

bool blender::ed::object::gpencil_modifier_remove ( ReportList * reports,
Main * bmain,
Object * ob,
GpencilModifierData * md )

◆ grease_pencil_clear_from_all_vgroup()

static void blender::ed::object::grease_pencil_clear_from_all_vgroup ( Scene & scene,
Object & ob,
const bool use_selection,
const bool all_drawings = false,
const bool only_unlocked = false )
static

◆ grease_pencil_clear_from_vgroup()

static void blender::ed::object::grease_pencil_clear_from_vgroup ( Scene & scene,
Object & ob,
bDeformGroup * dg,
const bool use_selection,
const bool all_drawings = false )
static

◆ has_object_motion_paths()

static bool blender::ed::object::has_object_motion_paths ( Object * ob)
static

◆ has_pose_motion_paths()

static bool blender::ed::object::has_pose_motion_paths ( Object * ob)
static

◆ hook_mod_itemf()

◆ hook_op_edit_poll()

◆ ignore_parent_tx()

◆ init_multiresbake_job()

◆ init_transform_on_add()

void blender::ed::object::init_transform_on_add ( Object * object,
const float loc[3],
const float rot[3] )

Definition at line 333 of file object_add.cc.

References BKE_object_to_mat4(), copy_v3_v3(), and rot.

Referenced by add_type_with_obdata(), and txt_add_object().

◆ inv_cmp_mdef_vert_weights()

static int blender::ed::object::inv_cmp_mdef_vert_weights ( const void * a1,
const void * a2 )
static

Definition at line 1766 of file object_vgroup.cc.

References MDeformWeight::weight.

Referenced by vgroup_limit_total_subset().

◆ is_multires_bake()

static bool blender::ed::object::is_multires_bake ( Scene * scene)
static

Definition at line 607 of file object_bake.cc.

References ELEM, R_BAKE_MULTIRES, RE_BAKE_AO, RE_BAKE_DISPLACEMENT, and RE_BAKE_NORMALS.

Referenced by bake_image_exec().

◆ is_noncolor_pass()

static bool blender::ed::object::is_noncolor_pass ( eScenePassType pass_type)
static

◆ is_smooth_by_angle_modifier()

static bool blender::ed::object::is_smooth_by_angle_modifier ( const ModifierData & md)
static

◆ iter_other()

bool blender::ed::object::iter_other ( Main * bmain,
Object * orig_ob,
bool include_orig,
bool(* callback )(Object *ob, void *callback_data),
void * callback_data )

If the object data of 'orig_ob' has other users, run 'callback' on each of them.

If include_orig is true, the callback will run on 'orig_ob' too.

If the callback ever returns true, iteration will stop and the function value will be true. Otherwise the function returns false.

Definition at line 273 of file object_modifier.cc.

References callback, Object::data, ListBase::first, ID::flag, Object::id, ID_FLAG_FAKEUSER, ID::next, Main::objects, ID::us, and users.

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

◆ join_shapes_exec()

◆ join_shapes_poll()

static bool blender::ed::object::join_shapes_poll ( bContext * C)
static

◆ jump_to_bone()

bool blender::ed::object::jump_to_bone ( bContext * C,
Object * ob,
const char * bone_name,
bool reveal_hidden )

◆ jump_to_object()

bool blender::ed::object::jump_to_object ( bContext * C,
Object * ob,
bool reveal_hidden )

Select and make the target object active in the view layer. If already selected, selection isn't changed.

Returns
false if not found in current view layer

Definition at line 246 of file object_select.cc.

References BA_SELECT, base_activate(), base_deselect_all(), base_select(), BASE_SELECTED, BASE_VISIBLE, BKE_view_layer_active_base_get(), BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Base::flag, NC_SCENE, ND_OB_SELECT, SEL_DESELECT, and WM_event_add_notifier().

Referenced by jump_to_bone(), and jump_to_target_ptr().

◆ keymap_object()

void blender::ed::object::keymap_object ( wmKeyConfig * keyconf)

◆ laplaciandeform_bind_exec()

◆ laplaciandeform_bind_invoke()

static int blender::ed::object::laplaciandeform_bind_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ laplaciandeform_poll()

static bool blender::ed::object::laplaciandeform_poll ( bContext * C)
static

◆ libblock_relink_collection()

static void blender::ed::object::libblock_relink_collection ( Main * bmain,
Collection * collection,
const bool do_collection )
static

◆ light_linking_collection_new_exec()

template<LightLinkingType link_type>
static int blender::ed::object::light_linking_collection_new_exec ( bContext * C,
wmOperator *  )
static

◆ light_linking_link_exec()

◆ light_linking_select_exec()

◆ light_linking_unlink_from_collection_exec()

◆ lightprobe_add_exec()

◆ limitdistance_reset_exec()

◆ limitdistance_reset_invoke()

static int blender::ed::object::limitdistance_reset_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ location_from_view()

◆ make_links_data_exec()

◆ make_links_scene_exec()

◆ make_local_all__instance_indirect_unused()

static bool blender::ed::object::make_local_all__instance_indirect_unused ( Main * bmain,
const Scene * scene,
ViewLayer * view_layer,
Collection * collection )
static

◆ make_local_animdata_tag()

static void blender::ed::object::make_local_animdata_tag ( AnimData * adt)
static

◆ make_local_animdata_tag_strips()

static void blender::ed::object::make_local_animdata_tag_strips ( ListBase * strips)
static

◆ make_local_exec()

◆ make_local_material_tag()

static void blender::ed::object::make_local_material_tag ( Material * ma)
static

◆ make_object_duplilist_real()

static void blender::ed::object::make_object_duplilist_real ( bContext * C,
Depsgraph * depsgraph,
Scene * scene,
Base * base,
const bool use_base_parent,
const bool use_hierarchy )
static

◆ make_override_library_exec()

static int blender::ed::object::make_override_library_exec ( bContext * C,
wmOperator * op )
static

Currently there is no 'all editable' option from the 3DView.

Definition at line 2332 of file object_relations.cc.

References base_free_and_unlink(), BKE_collection_child_remove(), BKE_lib_override_library_create(), BKE_main_id_tag_all(), BKE_reportf(), BKE_view_layer_has_collection(), BLI_assert, BLI_ghashutil_intcmp(), BLI_ghashutil_inthash_p(), BLI_gset_add(), BLI_gset_free(), BLI_gset_haskey(), BLI_gset_new(), BLI_listbase_bytes_find(), Main::collections, CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), DEG_id_tag_update(), IDOverrideLibrary::flag, FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN, FOREACH_COLLECTION_OBJECT_RECURSIVE_END, FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, FOREACH_SELECTED_OBJECT_BEGIN, FOREACH_SELECTED_OBJECT_END, GS, IDOverrideLibrary::hierarchy_root, Collection::id, Object::id, ID_GR, ID_IS_LINKED, ID_IS_OVERRIDABLE_LIBRARY, ID_IS_OVERRIDE_LIBRARY_REAL, ID_OB, ID_RECALC_BASE_FLAGS, ID_RECALC_SYNC_TO_EVAL, ID_TAG_DOIT, Object::instance_collection, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MAIN_ID_SESSION_UID_UNSET, make_override_library_object_overridable_check(), ID::name, NC_SPACE, NC_WINDOW, NC_WM, ND_LIB_OVERRIDE_CHANGED, ND_SPACE_VIEW3D, OB_ARMATURE, offsetof, OPERATOR_CANCELLED, OPERATOR_FINISHED, ID::override_library, Collection_Runtime::parents, POINTER_FROM_UINT, wmOperatorType::prop, wmOperator::ptr, IDOverrideLibrary::reference, wmOperator::reports, RNA_property_int_get(), RPT_ERROR_INVALID_INPUT, Collection::runtime, ID::session_uid, wmOperator::type, and WM_event_add_notifier().

Referenced by make_override_library_invoke(), and OBJECT_OT_make_override_library().

◆ make_override_library_invoke()

◆ make_override_library_object_overridable_check()

static bool blender::ed::object::make_override_library_object_overridable_check ( Main * bmain,
Object * object )
static

◆ make_override_library_poll()

static bool blender::ed::object::make_override_library_poll ( bContext * C)
static

◆ make_single_user_exec()

◆ make_single_user_invoke()

static int blender::ed::object::make_single_user_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Definition at line 2870 of file object_relations.cc.

References IFACE_, and WM_operator_props_popup_confirm_ex().

Referenced by OBJECT_OT_make_single_user().

◆ mesh_defvert_mirror_update_internal()

static void blender::ed::object::mesh_defvert_mirror_update_internal ( Object * ob,
MDeformVert * dvert_dst,
MDeformVert * dvert_src,
const int def_nr )
static

◆ mesh_is_manifold_consistent()

static bool blender::ed::object::mesh_is_manifold_consistent ( Mesh * mesh)
static

◆ mesh_needs_keyindex()

static bool blender::ed::object::mesh_needs_keyindex ( Main * bmain,
const Mesh * mesh )
static

Definition at line 535 of file object_edit.cc.

References ELEM, eModifierType_Hook, LISTBASE_FOREACH, Main::objects, PARVERT1, and PARVERT3.

Referenced by editmode_enter_ex().

◆ meshdeform_bind_exec()

◆ meshdeform_bind_invoke()

static int blender::ed::object::meshdeform_bind_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ meshdeform_poll()

static bool blender::ed::object::meshdeform_poll ( bContext * C)
static

◆ meta_data_matches()

static bool blender::ed::object::meta_data_matches ( const std::optional< bke::AttributeMetaData > meta_data,
const AttrDomainMask domains,
const eCustomDataMask types )
static

Definition at line 957 of file object_modifier.cc.

References ATTR_DOMAIN_AS_MASK, and CD_TYPE_AS_MASK.

Referenced by remove_invalid_attribute_strings().

◆ metaball_coords_and_quats_apply()

static void blender::ed::object::metaball_coords_and_quats_apply ( MetaBall * mb,
const ElemData_MetaBall * elem_array )
static

Definition at line 247 of file object_data_transform.cc.

References metaball_coords_and_quats_apply_with_mat4(), and unit_m4().

Referenced by data_xform_restore().

◆ metaball_coords_and_quats_apply_with_mat4()

◆ metaball_coords_and_quats_get()

◆ mode_compat_set()

◆ mode_compat_test()

◆ mode_generic_exit()

void blender::ed::object::mode_generic_exit ( Main * bmain,
Depsgraph * depsgraph,
Scene * scene,
Object * ob )

◆ mode_generic_has_data()

bool blender::ed::object::mode_generic_has_data ( Depsgraph * depsgraph,
const Object * ob )

Definition at line 376 of file object_modes.cc.

References depsgraph, and ed_object_mode_generic_exit_ex().

◆ mode_set()

◆ mode_set_ex()

◆ modifier_add()

ModifierData * blender::ed::object::modifier_add ( ReportList * reports,
Main * bmain,
Scene * scene,
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 159 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_modifiers_persistent_uid_init(), BKE_object_modifier_set_active(), BKE_object_support_modifier_type_check(), BKE_partdeflect_new(), BKE_report(), BKE_reportf(), BKE_sculpt_mask_layers_ensure(), BLI_insertlinkbefore(), Object::data, PartDeflect::deflect, DEG_id_tag_update(), DEG_relations_tag_update(), eModifierFlag_PinLast, eModifierType_Collision, eModifierType_Multires, eModifierType_ParticleSystem, eModifierType_Skin, eModifierType_Softbody, eModifierType_Surface, eModifierTypeFlag_RequiresOriginalData, eModifierTypeFlag_Single, ListBase::first, ModifierData::flag, ModifierTypeInfo::flags, Object::id, ID_RECALC_GEOMETRY, LISTBASE_FOREACH_BACKWARD, Object::mode, Object::modifiers, multiresModifier_set_levels_from_disps(), ID::name, ModifierData::name, ModifierData::next, OB_MODE_SCULPT, OB_SB_EDGES, OB_SB_GOAL, object_add_particle_system(), OnlyDeform, Object::pd, RPT_WARNING, sbNew(), Object::soft, Object::softflag, STRNCPY_UTF8, ModifierData::type, and ModifierTypeInfo::type.

Referenced by check_force_modifiers(), drop_geometry_nodes_invoke(), blender::ed::curves::ensure_surface_deformation_node_exists(), geometry_extract_apply(), SkinInfo::link_armature(), modifier_add_asset_exec(), modifier_add_exec(), parent_set(), and shade_auto_smooth_exec().

◆ modifier_add_asset_exec()

◆ modifier_add_asset_get_description()

static std::string blender::ed::object::modifier_add_asset_get_description ( bContext * C,
wmOperatorType * ,
PointerRNA * ptr )
static

◆ modifier_add_asset_invoke()

static int blender::ed::object::modifier_add_asset_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_add_catalog_assets_menu_type()

static MenuType blender::ed::object::modifier_add_catalog_assets_menu_type ( )
static

◆ modifier_add_exec()

◆ modifier_add_invoke()

static int blender::ed::object::modifier_add_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_add_itemf()

◆ modifier_add_root_catalogs_menu_type()

static MenuType blender::ed::object::modifier_add_root_catalogs_menu_type ( )
static

◆ modifier_add_unassigned_assets_menu_type()

static MenuType blender::ed::object::modifier_add_unassigned_assets_menu_type ( )
static

◆ modifier_apply()

◆ modifier_apply_as_shapekey_exec()

◆ modifier_apply_as_shapekey_get_description()

static std::string blender::ed::object::modifier_apply_as_shapekey_get_description ( bContext * ,
wmOperatorType * ,
PointerRNA * ptr )
static

◆ modifier_apply_as_shapekey_invoke()

static int blender::ed::object::modifier_apply_as_shapekey_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_apply_as_shapekey_poll()

static bool blender::ed::object::modifier_apply_as_shapekey_poll ( bContext * C)
static

◆ modifier_apply_exec()

static int blender::ed::object::modifier_apply_exec ( bContext * C,
wmOperator * op )
static

◆ modifier_apply_exec_ex()

◆ modifier_apply_invoke()

◆ modifier_apply_obdata()

static bool blender::ed::object::modifier_apply_obdata ( ReportList * reports,
Depsgraph * depsgraph,
Scene * scene,
Object * ob,
ModifierData * md_eval,
const bool do_all_keyframes )
static

Definition at line 1331 of file object_modifier.cc.

References apply_grease_pencil_for_modifier(), apply_grease_pencil_for_modifier_all_keyframes(), 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_modifier_get_original(), BKE_object_material_from_eval_data(), BKE_pointcloud_nomain_to_pointcloud(), BKE_report(), BLI_assert_unreachable, Constructive, create_applied_mesh_for_modifier(), Object::data, ModifierTypeInfo::deform_verts, DEG_get_bmain(), DEG_get_evaluated_object(), DEG_get_evaluated_scene(), DEG_id_tag_update(), depsgraph, ELEM, eModifierType_Multires, find_multires_modifier_before(), ListBase::first, float, Curves::geometry, blender::bke::GeometrySet::get_component_for_write(), blender::bke::GeometrySet::get_curves_for_write(), blender::bke::GeometrySet::has_curves(), blender::bke::GeometrySet::has_pointcloud(), Curves::id, Mesh::id, Object::id, PointCloud::id, ID_RECALC_GEOMETRY, ModifierTypeInfo::is_disabled, lattice, LISTBASE_FOREACH, MEM_freeN(), MOD_APPLY_TO_ORIGINAL, modifier_apply_obdata(), ModifierTypeInfo::modify_geometry_set, multires_customdata_delete(), multires_force_sculpt_rebuild(), multiresModifier_reshapeFromDeformModifier(), Nonconstructive, NonGeometrical, Curve::nurb, OB_CURVES, OB_CURVES_LEGACY, OB_GREASE_PENCIL, OB_LATTICE, OB_MESH, OB_POINTCLOUD, OB_SURF, OnlyDeform, PART_HAIR, Object::particlesystem, psys_apply_hair_lattice(), remove_invalid_attribute_strings(), RPT_ERROR, RPT_INFO, MultiresModifierData::totlvl, ModifierData::type, ModifierTypeInfo::type, and Object::type.

Referenced by modifier_apply(), and modifier_apply_obdata().

◆ modifier_apply_poll()

◆ modifier_apply_shape()

◆ modifier_convert_exec()

◆ modifier_convert_invoke()

static int blender::ed::object::modifier_convert_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ modifier_copy()

◆ modifier_copy_exec()

◆ modifier_copy_invoke()

static int blender::ed::object::modifier_copy_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_copy_to_object()

◆ modifier_copy_to_selected_exec()

◆ modifier_copy_to_selected_invoke()

static int blender::ed::object::modifier_copy_to_selected_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_copy_to_selected_poll()

◆ modifier_get_edit_objects()

◆ modifier_link()

◆ modifier_move_down()

bool blender::ed::object::modifier_move_down ( ReportList * reports,
eReportType error_type,
Object * ob,
ModifierData * md )

◆ modifier_move_down_exec()

◆ modifier_move_down_invoke()

static int blender::ed::object::modifier_move_down_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_move_to_index()

◆ modifier_move_to_index_exec()

◆ modifier_move_to_index_invoke()

static int blender::ed::object::modifier_move_to_index_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_move_up()

bool blender::ed::object::modifier_move_up ( ReportList * reports,
eReportType error_type,
Object * ob,
ModifierData * md )

◆ modifier_move_up_exec()

◆ modifier_move_up_invoke()

static int blender::ed::object::modifier_move_up_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_register_use_selected_objects_prop()

◆ modifier_remove()

◆ modifier_remove_exec()

◆ modifier_remove_invoke()

static int blender::ed::object::modifier_remove_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_set_active_exec()

◆ modifier_set_active_invoke()

static int blender::ed::object::modifier_set_active_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ modifier_skin_armature_create()

◆ modifier_skin_customdata_delete()

static void blender::ed::object::modifier_skin_customdata_delete ( Object * ob)
static

◆ modifiers_clear()

void blender::ed::object::modifiers_clear ( Main * bmain,
Scene * scene,
Object * ob )

◆ modifiers_clear_exec()

◆ modifiers_clear_poll()

static bool blender::ed::object::modifiers_clear_poll ( bContext * C)
static

◆ modifiers_copy_to_selected_poll()

◆ motion_paths_clear()

void blender::ed::object::motion_paths_clear ( bContext * C,
bool only_selected )

Clear motion paths for all objects.

Definition at line 1496 of file object_edit.cc.

References CTX_DATA_BEGIN, CTX_DATA_END, and object_clear_mpath().

Referenced by object_clear_paths_exec().

◆ motion_paths_recalc()

void blender::ed::object::motion_paths_recalc ( bContext * C,
Scene * scene,
eObjectPathCalcRange range,
ListBase * ld_objects )

◆ motion_paths_recalc_selected()

void blender::ed::object::motion_paths_recalc_selected ( bContext * C,
Scene * scene,
eObjectPathCalcRange range )

◆ motion_paths_recalc_visible()

void blender::ed::object::motion_paths_recalc_visible ( bContext * C,
Scene * scene,
eObjectPathCalcRange range )

◆ move_to_collection_exec()

◆ move_to_collection_invoke()

◆ move_to_collection_menu_create()

◆ move_to_collection_menus_create()

◆ move_to_collection_menus_free()

static void blender::ed::object::move_to_collection_menus_free ( MoveToCollectionData ** menu)
static

Definition at line 2257 of file object_edit.cc.

References move_to_collection_menus_free_recursive().

Referenced by move_to_collection_invoke().

◆ move_to_collection_menus_free_recursive()

static void blender::ed::object::move_to_collection_menus_free_recursive ( MoveToCollectionData * menu)
static

◆ move_to_collection_menus_items()

◆ move_to_collection_poll()

static bool blender::ed::object::move_to_collection_poll ( bContext * C)
static

◆ multires_base_apply_exec()

◆ multires_base_apply_invoke()

static int blender::ed::object::multires_base_apply_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ multires_external_pack_exec()

static int blender::ed::object::multires_external_pack_exec ( bContext * C,
wmOperator *  )
static

◆ multires_external_save_exec()

◆ multires_external_save_invoke()

◆ multires_higher_levels_delete_exec()

◆ multires_higher_levels_delete_invoke()

static int blender::ed::object::multires_higher_levels_delete_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ multires_poll()

◆ multires_rebuild_subdiv_exec()

◆ multires_rebuild_subdiv_invoke()

static int blender::ed::object::multires_rebuild_subdiv_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ multires_reshape_exec()

◆ multires_reshape_invoke()

static int blender::ed::object::multires_reshape_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ multires_subdivide_exec()

◆ multires_subdivide_invoke()

static int blender::ed::object::multires_subdivide_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ multires_unsubdivide_exec()

◆ multires_unsubdivide_invoke()

static int blender::ed::object::multires_unsubdivide_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ multires_update_totlevels()

bool blender::ed::object::multires_update_totlevels ( Object * ob,
void * totlevel_v )

Use with 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 317 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().

◆ multiresbake_check()

◆ multiresbake_create_hiresdm()

◆ multiresbake_create_loresdm()

◆ multiresbake_freejob()

◆ multiresbake_image_exec()

◆ multiresbake_image_exec_locked()

◆ multiresbake_startjob()

static void blender::ed::object::multiresbake_startjob ( void * bkv,
wmJobWorkerStatus * worker_status )
static

Definition at line 460 of file object_bake.cc.

References MultiresBakeRender::array, blender::ed::object::MultiresBakeJob::bake_clear, blender::ed::object::MultiresBakeJob::bake_margin, MultiresBakeRender::bake_margin, blender::ed::object::MultiresBakeJob::bake_margin_type, MultiresBakeRender::bake_margin_type, MultiresBakeRender::baked_objects, blender::ed::object::MultiresBakeJob::bias, MultiresBakeRender::bias, BLI_listbase_count(), CLEAR_DISPLACEMENT, clear_images_poly(), CLEAR_TANGENT_NORMAL, blender::ed::object::MultiresBakeJob::data, MultiresBakeRender::do_update, wmJobWorkerStatus::do_update, MultiresBakeRender::hires_dm, MultiresBakeRender::image, MultiresBakeRender::len, LISTBASE_FOREACH, MultiresBakeRender::lores_dm, MultiresBakeRender::lvl, blender::ed::object::MultiresBakeJob::mode, MultiresBakeRender::mode, blender::ed::object::MultiresBakeJob::number_of_rays, MultiresBakeRender::number_of_rays, MultiresBakeRender::ob_image, MultiresBakeRender::progress, wmJobWorkerStatus::progress, RE_BAKE_DISPLACEMENT, RE_BAKE_NORMALS, RE_multires_bake_images(), blender::ed::object::MultiresBakeJob::scene, MultiresBakeRender::scene, MultiresBakeRender::stop, wmJobWorkerStatus::stop, blender::ed::object::MultiresBakeJob::threads, MultiresBakeRender::threads, MultiresBakeRender::tot_lvl, MultiresBakeRender::tot_obj, blender::ed::object::MultiresBakeJob::use_lores_mesh, MultiresBakeRender::use_lores_mesh, blender::ed::object::MultiresBakeJob::user_scale, and MultiresBakeRender::user_scale.

Referenced by multiresbake_image_exec().

◆ new_primitive_matrix()

float blender::ed::object::new_primitive_matrix ( bContext * C,
Object * obedit,
const float loc[3],
const float rot[3],
const float scale[3],
float primmat[4][4] )

◆ normalize_vertex_group_target()

static eVGroupSelect blender::ed::object::normalize_vertex_group_target ( Object * ob)
static

◆ object_add_drop_xy_generic_invoke()

static int blender::ed::object::object_add_drop_xy_generic_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Set the drop coordinate to the mouse position (if not already set) and call the operator's exec() callback.

Definition at line 271 of file object_add.cc.

References wmOperatorType::exec, object_add_drop_xy_is_set(), wmOperator::ptr, RNA_int_set(), wmOperator::type, and wmEvent::xy.

Referenced by OBJECT_OT_add_named(), OBJECT_OT_data_instance_add(), and OBJECT_OT_transform_to_mouse().

◆ object_add_drop_xy_get()

static bool blender::ed::object::object_add_drop_xy_get ( bContext * C,
wmOperator * op,
int(*) r_mval[2] )
static

Query the currently set X- and Y-coordinate to position the new object under.

Parameters
r_mvalReturned pointer to the coordinate in region-space.

Definition at line 252 of file object_add.cc.

References CTX_wm_region(), object_add_drop_xy_is_set(), wmOperator::ptr, and RNA_int_get().

Referenced by collection_add_info_get_from_op(), object_add_named_exec(), object_data_instance_add_exec(), and object_transform_to_mouse_exec().

◆ object_add_drop_xy_is_set()

static bool blender::ed::object::object_add_drop_xy_is_set ( const wmOperator * op)
static

◆ object_add_drop_xy_props()

static void blender::ed::object::object_add_drop_xy_props ( wmOperatorType * ot)
static

Operator properties for creating an object under a screen space (2D) coordinate. Used for object dropping like behavior (drag object and drop into 3D View).

Definition at line 216 of file object_add.cc.

References ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_int(), RNA_def_property_flag(), and wmOperatorType::srna.

Referenced by OBJECT_OT_add_named(), OBJECT_OT_collection_external_asset_drop(), OBJECT_OT_collection_instance_add(), OBJECT_OT_data_instance_add(), and OBJECT_OT_transform_to_mouse().

◆ object_add_duplicate_internal() [1/2]

static void blender::ed::object::object_add_duplicate_internal ( Main * bmain,
Object * ob,
const eDupli_ID_Flags dupflag,
const eLibIDDuplicateFlags duplicate_options,
Object ** r_ob_new )
static

◆ object_add_duplicate_internal() [2/2]

static Base * blender::ed::object::object_add_duplicate_internal ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
Object * ob,
const eDupli_ID_Flags dupflag,
const eLibIDDuplicateFlags duplicate_options,
Object ** r_ob_new )
static

◆ object_add_exec()

◆ object_add_hook_newob_exec()

◆ object_add_hook_selob_exec()

◆ object_add_named_exec()

◆ object_add_sync_base_collection()

◆ object_add_sync_local_view()

static void blender::ed::object::object_add_sync_local_view ( Base * base_src,
Base * base_new )
static

◆ object_add_sync_rigid_body()

static void blender::ed::object::object_add_sync_rigid_body ( Main * bmain,
Object * object_src,
Object * object_new )
static

◆ object_add_text_exec()

◆ object_apply_location()

static void blender::ed::object::object_apply_location ( Object * ob,
const float loc[3] )
static

◆ object_apply_rotation()

static void blender::ed::object::object_apply_rotation ( Object * ob,
const float rmat[3][3] )
static

◆ object_armature_add_exec()

◆ object_array_for_wpaint()

static Vector< Object * > blender::ed::object::object_array_for_wpaint ( bContext * C)
static

◆ object_array_for_wpaint_filter()

static bool blender::ed::object::object_array_for_wpaint_filter ( const Object * ob,
void * user_data )
static

Definition at line 77 of file object_vgroup.cc.

References vertex_group_supported_poll_ex().

Referenced by object_array_for_wpaint().

◆ object_calculate_paths_exec()

◆ object_calculate_paths_invoke()

static int blender::ed::object::object_calculate_paths_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ object_camera_add_exec()

◆ object_clear_loc()

static void blender::ed::object::object_clear_loc ( Object * ob,
const bool clear_delta )
static

◆ object_clear_mpath()

static void blender::ed::object::object_clear_mpath ( Object * ob)
static

◆ object_clear_paths_exec()

static int blender::ed::object::object_clear_paths_exec ( bContext * C,
wmOperator * op )
static

◆ object_clear_paths_get_description()

static std::string blender::ed::object::object_clear_paths_get_description ( bContext * ,
wmOperatorType * ,
PointerRNA * ptr )
static

Definition at line 1528 of file object_edit.cc.

References ptr, RNA_boolean_get(), and TIP_.

Referenced by OBJECT_OT_paths_clear().

◆ object_clear_rot()

◆ object_clear_scale()

static void blender::ed::object::object_clear_scale ( Object * ob,
const bool clear_delta )
static

◆ object_clear_transform_generic_exec()

◆ object_constraint_add_exec()

◆ object_constraint_add_itemf()

◆ object_constraint_copy_exec()

◆ object_constraints_clear_exec()

◆ object_convert_exec()

static int blender::ed::object::object_convert_exec ( bContext * C,
wmOperator * op )
static

Definition at line 2892 of file object_add.cc.

References ViewLayer::basact, base_activate(), Object::base_flag, base_free_and_unlink(), BKE_curve_dimension_update(), BKE_grease_pencil_copy_for_eval(), BKE_grease_pencil_new_nomain(), BKE_grease_pencil_nomain_to_grease_pencil(), BKE_id_copy(), BKE_id_free(), BKE_id_is_editable(), BKE_id_new(), BKE_id_new_nomain(), BKE_mball_basis_find(), BKE_mball_is_basis(), BKE_mesh_copy_for_eval(), BKE_mesh_merge_customdata_for_apply_modifier(), BKE_mesh_new_from_object_to_bmain(), BKE_mesh_new_nomain(), BKE_mesh_nomain_to_mesh(), BKE_mesh_to_curve(), BKE_mesh_to_pointcloud(), BKE_object_free_curve_cache(), BKE_object_free_derived_caches(), BKE_object_free_modifiers(), BKE_object_free_shaderfx(), BKE_object_get_evaluated_mesh(), BKE_object_material_from_eval_data(), BKE_object_materials_test(), BKE_pointcloud_to_mesh(), BKE_report(), BKE_reportf(), BKE_scene_graph_update_tagged(), BKE_vfont_to_curve_ex(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, CD_MASK_MESH, CD_SHAPEKEY, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), CTX_data_selected_editable_bases(), CTX_data_view_layer(), CustomData_has_layer(), CustomData_MeshMasks_update(), Object::data, PointerRNA::data, DEG_get_evaluated_object(), DEG_id_tag_update(), DEG_relations_tag_update(), depsgraph, duplibase_for_convert(), ED_rigidbody_object_remove(), ELEM, ListBase::first, Base::flag, Curve::flag, Object::flag, FO_EDIT, FOREACH_SCENE_OBJECT_BEGIN, FOREACH_SCENE_OBJECT_END, Curves::geometry, blender::bke::GeometrySet::get_curves(), Curve::id, Curves::id, Key::id, Mesh::id, MetaBall::id, Object::id, PointCloud::id, VFont::id, ID_CV, ID_GP, ID_ME, ID_REAL_USERS, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, ID_RECALC_SELECT, ID_RECALC_TRANSFORM, ID_TAG_DOIT, id_us_min(), id_us_plus(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), IS_TAGGED, Mesh::key, LISTBASE_FOREACH, mesh, ID::name, NC_OBJECT, NC_SCENE, ND_DATA, ND_DRAW, ND_LAYER_CONTENT, ND_MODIFIER, ND_OB_SELECT, ID::next, Curve::nurb, OB_CURVES, OB_CURVES_LEGACY, OB_DONE, OB_FONT, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, Base::object, object_convert_exec(), object_data_convert_curve_to_mesh(), Main::objects, OPERATOR_FINISHED, blender::bke::CurvesGeometry::points_range(), blender::bke::CurvesGeometry::positions_for_write(), ptr, wmOperator::ptr, wmOperator::reports, Object::rigidbody_object, RNA_boolean_get(), RNA_enum_get(), RPT_INFO, RPT_WARNING, Object::runtime, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::bke::greasepencil::Drawing::strokes_for_write(), blender::math::transform_point(), Curve::type, Object::type, Mesh::vert_data, Curve::vfont, Curve::vfontb, Curve::vfontbi, Curve::vfonti, and WM_event_add_notifier().

Referenced by object_convert_exec(), and OBJECT_OT_convert().

◆ object_convert_poll()

static bool blender::ed::object::object_convert_poll ( bContext * C)
static

◆ object_convert_ui()

static void blender::ed::object::object_convert_ui ( bContext * ,
wmOperator * op )
static

◆ object_curves_empty_hair_add_exec()

◆ object_curves_empty_hair_add_poll()

static bool blender::ed::object::object_curves_empty_hair_add_poll ( bContext * C)
static

◆ object_curves_random_add_exec()

static int blender::ed::object::object_curves_random_add_exec ( bContext * C,
wmOperator * op )
static

◆ object_data_convert_curve_to_mesh()

static void blender::ed::object::object_data_convert_curve_to_mesh ( Main * bmain,
Depsgraph * depsgraph,
Object * ob )
static

◆ object_data_instance_add_exec()

◆ object_delete_exec()

◆ object_delete_invoke()

static int blender::ed::object::object_delete_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ object_duplicates_make_real_exec()

◆ object_empty_add_exec()

◆ object_force_modifier_bind_simple_options()

static void blender::ed::object::object_force_modifier_bind_simple_options ( Depsgraph * depsgraph,
Object * object,
ModifierData * md )
static

◆ object_force_modifier_update_for_bind()

◆ object_grease_pencil_add_exec()

◆ object_has_modifier()

static bool blender::ed::object::object_has_modifier ( const Object * ob,
const ModifierData * exclude,
ModifierType type )
static

◆ object_has_modifier_cb()

static bool blender::ed::object::object_has_modifier_cb ( Object * ob,
void * data )
static

Definition at line 310 of file object_modifier.cc.

References object_has_modifier().

Referenced by object_modifier_safe_to_delete().

◆ object_has_shaderfx()

static bool UNUSED_FUNCTION blender::ed::object::object_has_shaderfx ( const Object * ob,
const ShaderFxData * exclude,
ShaderFxType type )
static

Definition at line 100 of file object_shader_fx.cc.

References LISTBASE_FOREACH.

◆ object_hide_collection_exec()

◆ object_hide_collection_invoke()

◆ object_hide_poll()

static bool blender::ed::object::object_hide_poll ( bContext * C)
static

◆ object_hide_view_clear_exec()

◆ object_hide_view_set_exec()

◆ object_hook_assign_exec()

◆ object_hook_from_context()

◆ object_hook_index_array()

◆ object_hook_recenter_exec()

◆ object_hook_remove_exec()

◆ object_hook_reset_exec()

◆ object_hook_select()

static void blender::ed::object::object_hook_select ( Object * ob,
HookModifierData * hmd )
static

◆ object_hook_select_exec()

◆ object_image_add_exec()

◆ object_image_add_invoke()

◆ object_image_add_poll()

static bool blender::ed::object::object_image_add_poll ( bContext * C)
static

Definition at line 1304 of file object_add.cc.

References CTX_wm_region_view3d(), and ED_operator_objectmode().

Referenced by OBJECT_OT_empty_image_add().

◆ object_in_mode_from_index()

Object * blender::ed::object::object_in_mode_from_index ( const Scene * scene,
ViewLayer * view_layer,
eObjectMode mode,
int index )

Access the object from the index returned by object_in_mode_to_index.

Definition at line 247 of file object_edit.cc.

References BLI_assert, FOREACH_BASE_IN_MODE_BEGIN, and FOREACH_BASE_IN_MODE_END.

Referenced by uv_shortest_path_pick_exec().

◆ object_in_mode_to_index()

int blender::ed::object::object_in_mode_to_index ( const Scene * scene,
ViewLayer * view_layer,
eObjectMode mode,
const Object * ob )

Return the index of an object in a mode (typically edit/pose mode).

Useful for operators with multi-mode editing to be able to redo an action on an object by its index which (unlike pointers) the operator can store for redo.

The indices aren't intended to be useful from Python scripts, although they are not prevented from passing them in, this is mainly to enable redo. For scripts it's more convenient to set the object active before operating on it.

Note
The active object is always index 0.

Definition at line 225 of file object_edit.cc.

References BLI_assert, FOREACH_BASE_IN_MODE_BEGIN, and FOREACH_BASE_IN_MODE_END.

Referenced by uv_shortest_path_pick_invoke().

◆ object_instance_add_invoke()

◆ object_is_any_shape_key_locked()

static bool blender::ed::object::object_is_any_shape_key_locked ( Object * ob)
static

◆ object_is_target_compat()

static bool blender::ed::object::object_is_target_compat ( const Object * ob)
static

◆ object_join_exec()

◆ object_join_poll()

◆ object_light_add_exec()

◆ object_location_clear_exec()

static int blender::ed::object::object_location_clear_exec ( bContext * C,
wmOperator * op )
static

◆ object_metaball_add_exec()

◆ object_mode_op_string()

◆ object_mode_poll()

static bool blender::ed::object::object_mode_poll ( bContext * C)
static

Definition at line 318 of file object_ops.cc.

References CTX_data_active_object(), Object::mode, and OB_MODE_OBJECT.

Referenced by keymap_object().

◆ object_mode_set_exec()

static int blender::ed::object::object_mode_set_exec ( bContext * C,
wmOperator * op )
static

Mode Switching Logic (internal details).

Notes:

  • Code below avoids calling mode switching functions more than once, as this causes unnecessary calculations and undo steps to be added.
  • The previous mode (Object.restore_mode) is object mode by default.

Supported Cases:

  • Setting the mode (when the 'toggle' setting is off).
  • Toggle the mode:
    • Toggle between object mode and non-object mode property.
    • Toggle between the previous mode (Object.restore_mode) and the mode property.
    • Toggle object mode. While this is similar to regular toggle, this operator depends on there being a previous mode set (this isn't bound to a key with the default key-map).

Definition at line 1953 of file object_edit.cc.

References CTX_data_active_object(), CTX_data_main(), CTX_wm_manager(), EDBM_selectmode_set_multi(), wmOperator::idname, Object::mode, mode_compat_test(), mode_set_ex(), OB_GPENCIL_LEGACY, OB_MESH, OB_MODE_EDIT, OB_MODE_EDIT_GPENCIL_LEGACY, OB_MODE_OBJECT, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::ptr, wmOperator::reports, Object::restore_mode, RNA_boolean_get(), RNA_enum_get(), RNA_property_enum_get(), RNA_property_is_set(), RNA_struct_find_property(), STREQ, Object::type, WM_autosave_is_scheduled(), and WM_autosave_write().

Referenced by OBJECT_OT_mode_set().

◆ object_mode_set_itemf()

static const EnumPropertyItem * blender::ed::object::object_mode_set_itemf ( bContext * C,
PointerRNA * ,
PropertyRNA * ,
bool * r_free )
static

◆ object_mode_set_poll()

static bool blender::ed::object::object_mode_set_poll ( bContext * C)
static

◆ object_modifier_add_asset_register()

◆ object_modifier_check_move_after()

static bool blender::ed::object::object_modifier_check_move_after ( ReportList * reports,
eReportType error_type,
ModifierData * md,
ModifierData * md_next )
static

◆ object_modifier_check_move_before()

static bool blender::ed::object::object_modifier_check_move_before ( ReportList * reports,
eReportType error_type,
ModifierData * md,
ModifierData * md_prev )
static

◆ object_modifier_remove()

◆ object_modifier_safe_to_delete()

static bool blender::ed::object::object_modifier_safe_to_delete ( Main * bmain,
Object * ob,
ModifierData * exclude,
ModifierType type )
static

Definition at line 331 of file object_modifier.cc.

References iter_other(), object_has_modifier(), and object_has_modifier_cb().

Referenced by object_modifier_remove().

◆ object_modifiers_copy_exec()

◆ object_orient_to_location()

static bool blender::ed::object::object_orient_to_location ( Object * ob,
const float rot_orig[3][3],
const float axis[3],
const float location[3],
const bool z_flip )
static

◆ object_origin_clear_exec()

static int blender::ed::object::object_origin_clear_exec ( bContext * C,
wmOperator *  )
static

◆ object_origin_set_exec()

static int blender::ed::object::object_origin_set_exec ( bContext * C,
wmOperator * op )
static

Definition at line 1323 of file object_transform.cc.

References add_v3_v3(), arithmetic_mean(), BKE_armature_copy_bone_transforms(), BKE_curve_center_median(), BKE_curve_minmax(), BKE_curve_translate(), BKE_gpencil_centroid_3d(), BKE_gpencil_layer_transform_matrix_get(), BKE_gpencil_stroke_geometry_update(), BKE_id_is_editable(), BKE_lattice_center_median(), BKE_lattice_minmax(), BKE_lattice_translate(), BKE_mball_center_bounds(), BKE_mball_center_median(), BKE_mball_translate(), BKE_mesh_center_median(), BKE_mesh_center_of_surface(), BKE_mesh_center_of_volume(), BKE_mesh_translate(), BKE_object_batch_cache_dirty_tag(), BKE_object_minmax_dupli(), BKE_object_to_mat4(), BKE_object_transform_copy(), BKE_object_where_is_calc(), BKE_pose_where_is(), BKE_report(), BKE_reportf(), BMEditMesh::bm, BM_ITER_MESH, BM_VERTS_OF_MESH, bounds(), BMVert::co, copy_m3_m4(), copy_v3_v3(), CTX_data_active_object(), CTX_data_edit_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), CU_3D, Object::data, DEG_get_evaluated_object(), DEG_id_tag_update(), depsgraph, GreasePencilFrame::drawing_index, ED_armature_origin_set(), EDBM_mesh_normals_update(), ELEM, Curve::flag, Object::flag, float, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::foreach_item(), Curves::geometry, GEOMETRY_TO_ORIGIN, GP_DRAWING, bArmature::id, bGPdata::id, Curve::id, Curves::id, GreasePencil::id, Lattice::id, MetaBall::id, Object::id, PointCloud::id, ID_IS_EDITABLE, ID_IS_OVERRIDE_LIBRARY, ID_REAL_USERS, ID_RECALC_GEOMETRY, ID_RECALC_SYNC_TO_EVAL, ID_RECALC_TRANSFORM, ID_TAG_DOIT, ignore_parent_tx(), INIT_MINMAX, blender::math::invert(), invert_m3_m3(), invert_m4_m4(), bGPdata::layers, LISTBASE_FOREACH, madd_v3_v3fl(), mid_v3_v3v3(), blender::math::midpoint(), min, minmax_v3v3_v3(), mul_m3_v3(), mul_m4_v3(), mul_v3_m3v3(), mul_v3_m4v3(), mul_v3_mat3_m4v3(), NC_OBJECT, ND_TRANSFORM, negate_v3_v3(), OB_ARMATURE, OB_CURVES, OB_CURVES_LEGACY, OB_DONE, OB_DUPLICOLLECTION, OB_FONT, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, OB_LATTICE, OB_MBALL, OB_MESH, OB_POINTCLOUD, OB_SURF, object_origin_set_exec(), Main::objects, OPERATOR_CANCELLED, OPERATOR_FINISHED, ORIGIN_TO_CENTER_OF_MASS_SURFACE, ORIGIN_TO_CENTER_OF_MASS_VOLUME, ORIGIN_TO_CURSOR, ORIGIN_TO_GEOMETRY, wmOperator::ptr, wmOperator::reports, RNA_enum_get(), RNA_property_enum_get(), RNA_property_enum_set(), RNA_property_is_set(), RNA_struct_find_property(), RPT_ERROR, RPT_WARNING, Object::runtime, sorted_selected_editable_objects(), blender::bke::greasepencil::Drawing::strokes_for_write(), sub_v3_v3(), sub_v3_v3v3(), ID::tag, BMesh::totvert, blender::math::transform_direction(), blender::math::transform_point(), blender::bke::CurvesGeometry::translate(), translate_positions(), GreasePencilDrawingBase::type, Object::type, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, BezTriple::vec, WM_event_add_notifier(), wrap(), bGPDspoint::x, Curve::xof, Curve::yof, and zero_v3().

Referenced by object_origin_set_exec(), and OBJECT_OT_origin_set().

◆ OBJECT_OT_add()

◆ OBJECT_OT_add_named()

◆ OBJECT_OT_armature_add()

◆ OBJECT_OT_bake()

◆ OBJECT_OT_bake_image()

◆ OBJECT_OT_camera_add()

◆ OBJECT_OT_clear_override_library()

◆ OBJECT_OT_collection_add()

◆ OBJECT_OT_collection_external_asset_drop()

◆ OBJECT_OT_collection_instance_add()

◆ OBJECT_OT_collection_link()

◆ OBJECT_OT_collection_objects_select()

◆ OBJECT_OT_collection_remove()

◆ OBJECT_OT_collection_unlink()

◆ OBJECT_OT_constraint_add()

◆ OBJECT_OT_constraint_add_with_targets()

◆ OBJECT_OT_constraints_clear()

◆ OBJECT_OT_constraints_copy()

◆ OBJECT_OT_convert()

◆ OBJECT_OT_correctivesmooth_bind()

◆ OBJECT_OT_curves_empty_hair_add()

◆ OBJECT_OT_curves_random_add()

◆ OBJECT_OT_data_instance_add()

◆ OBJECT_OT_data_transfer()

◆ OBJECT_OT_datalayout_transfer()

◆ OBJECT_OT_delete()

◆ OBJECT_OT_drop_geometry_nodes()

void blender::ed::object::OBJECT_OT_drop_geometry_nodes ( wmOperatorType * ot)

◆ OBJECT_OT_drop_named_material()

void blender::ed::object::OBJECT_OT_drop_named_material ( wmOperatorType * ot)

◆ OBJECT_OT_duplicate()

◆ OBJECT_OT_duplicates_make_real()

◆ OBJECT_OT_editmode_toggle()

◆ OBJECT_OT_effector_add()

◆ OBJECT_OT_empty_add()

◆ OBJECT_OT_empty_image_add()

◆ OBJECT_OT_explode_refresh()

◆ OBJECT_OT_forcefield_toggle()

◆ OBJECT_OT_geometry_node_tree_copy_assign()

◆ OBJECT_OT_geometry_nodes_input_attribute_toggle()

◆ OBJECT_OT_grease_pencil_add()

◆ OBJECT_OT_grease_pencil_dash_modifier_segment_add()

◆ OBJECT_OT_grease_pencil_dash_modifier_segment_move()

◆ OBJECT_OT_grease_pencil_dash_modifier_segment_remove()

◆ OBJECT_OT_grease_pencil_time_modifier_segment_add()

◆ OBJECT_OT_grease_pencil_time_modifier_segment_move()

◆ OBJECT_OT_grease_pencil_time_modifier_segment_remove()

◆ OBJECT_OT_hide_collection()

◆ OBJECT_OT_hide_view_clear()

◆ OBJECT_OT_hide_view_set()

◆ OBJECT_OT_hook_add_newob()

◆ OBJECT_OT_hook_add_selob()

◆ OBJECT_OT_hook_assign()

◆ OBJECT_OT_hook_recenter()

◆ OBJECT_OT_hook_remove()

◆ OBJECT_OT_hook_reset()

◆ OBJECT_OT_hook_select()

◆ OBJECT_OT_join()

◆ OBJECT_OT_join_shapes()

◆ OBJECT_OT_laplaciandeform_bind()

◆ OBJECT_OT_light_add()

◆ OBJECT_OT_light_linking_blocker_collection_new()

◆ OBJECT_OT_light_linking_blockers_link()

◆ OBJECT_OT_light_linking_blockers_select()

◆ OBJECT_OT_light_linking_receiver_collection_new()

◆ OBJECT_OT_light_linking_receivers_link()

◆ OBJECT_OT_light_linking_receivers_select()

◆ OBJECT_OT_light_linking_unlink_from_collection()

◆ OBJECT_OT_lightprobe_add()

◆ OBJECT_OT_link_to_collection()

◆ OBJECT_OT_location_clear()

◆ OBJECT_OT_make_links_data()

◆ OBJECT_OT_make_links_scene()

◆ OBJECT_OT_make_local()

◆ OBJECT_OT_make_override_library()

◆ OBJECT_OT_make_single_user()

◆ OBJECT_OT_meshdeform_bind()

◆ OBJECT_OT_metaball_add()

◆ OBJECT_OT_mode_set()

◆ OBJECT_OT_mode_set_with_submode()

◆ OBJECT_OT_modifier_add()

◆ OBJECT_OT_modifier_add_node_group()

◆ OBJECT_OT_modifier_apply()

◆ OBJECT_OT_modifier_apply_as_shapekey()

◆ OBJECT_OT_modifier_convert()

◆ OBJECT_OT_modifier_copy()

◆ OBJECT_OT_modifier_copy_to_selected()

◆ OBJECT_OT_modifier_move_down()

◆ OBJECT_OT_modifier_move_to_index()

◆ OBJECT_OT_modifier_move_up()

◆ OBJECT_OT_modifier_remove()

◆ OBJECT_OT_modifier_set_active()

◆ OBJECT_OT_modifiers_clear()

◆ OBJECT_OT_modifiers_copy_to_selected()

◆ OBJECT_OT_move_to_collection()

◆ OBJECT_OT_multires_base_apply()

◆ OBJECT_OT_multires_external_pack()

◆ OBJECT_OT_multires_external_save()

◆ OBJECT_OT_multires_higher_levels_delete()

◆ OBJECT_OT_multires_rebuild_subdiv()

◆ OBJECT_OT_multires_reshape()

◆ OBJECT_OT_multires_subdivide()

◆ OBJECT_OT_multires_unsubdivide()

◆ OBJECT_OT_ocean_bake()

◆ OBJECT_OT_origin_clear()

◆ OBJECT_OT_origin_set()

◆ OBJECT_OT_parent_clear()

◆ OBJECT_OT_parent_inverse_apply()

◆ OBJECT_OT_parent_no_inverse_set()

◆ OBJECT_OT_parent_set()

◆ OBJECT_OT_paths_calculate()

◆ OBJECT_OT_paths_clear()

◆ OBJECT_OT_paths_update()

◆ OBJECT_OT_paths_update_visible()

◆ OBJECT_OT_pointcloud_add()

◆ OBJECT_OT_posemode_toggle()

◆ OBJECT_OT_quadriflow_remesh()

◆ OBJECT_OT_reset_override_library()

◆ OBJECT_OT_rotation_clear()

◆ OBJECT_OT_scale_clear()

◆ OBJECT_OT_select_all()

◆ OBJECT_OT_select_by_type()

◆ OBJECT_OT_select_grouped()

◆ OBJECT_OT_select_less()

◆ OBJECT_OT_select_linked()

◆ OBJECT_OT_select_mirror()

◆ OBJECT_OT_select_more()

◆ OBJECT_OT_select_random()

◆ OBJECT_OT_select_same_collection()

◆ OBJECT_OT_shade_auto_smooth()

◆ OBJECT_OT_shade_flat()

◆ OBJECT_OT_shade_smooth()

◆ OBJECT_OT_shade_smooth_by_angle()

◆ OBJECT_OT_shaderfx_add()

◆ OBJECT_OT_shaderfx_copy()

◆ OBJECT_OT_shaderfx_move_down()

◆ OBJECT_OT_shaderfx_move_to_index()

◆ OBJECT_OT_shaderfx_move_up()

◆ OBJECT_OT_shaderfx_remove()

◆ OBJECT_OT_shape_key_add()

◆ OBJECT_OT_shape_key_clear()

◆ OBJECT_OT_shape_key_lock()

◆ OBJECT_OT_shape_key_mirror()

◆ OBJECT_OT_shape_key_move()

◆ OBJECT_OT_shape_key_remove()

◆ OBJECT_OT_shape_key_retime()

◆ OBJECT_OT_skin_armature_create()

◆ OBJECT_OT_skin_loose_mark_clear()

◆ OBJECT_OT_skin_radii_equalize()

◆ OBJECT_OT_skin_root_mark()

◆ OBJECT_OT_speaker_add()

◆ OBJECT_OT_surfacedeform_bind()

◆ OBJECT_OT_text_add()

◆ OBJECT_OT_track_clear()

◆ OBJECT_OT_track_set()

◆ OBJECT_OT_transfer_mode()

◆ OBJECT_OT_transform_apply()

◆ OBJECT_OT_transform_axis_target()

◆ OBJECT_OT_transform_to_mouse()

◆ OBJECT_OT_unlink_data()

void blender::ed::object::OBJECT_OT_unlink_data ( wmOperatorType * ot)
Note
Only for empty-image objects, this operator is needed

Definition at line 3143 of file object_relations.cc.

References wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, object_unlink_data_exec(), OPTYPE_INTERNAL, and ot.

Referenced by operatortypes_object().

◆ OBJECT_OT_vertex_group_add()

◆ OBJECT_OT_vertex_group_assign()

◆ OBJECT_OT_vertex_group_assign_new()

◆ OBJECT_OT_vertex_group_clean()

◆ OBJECT_OT_vertex_group_copy()

◆ OBJECT_OT_vertex_group_copy_to_selected()

◆ OBJECT_OT_vertex_group_deselect()

◆ OBJECT_OT_vertex_group_invert()

◆ OBJECT_OT_vertex_group_levels()

◆ OBJECT_OT_vertex_group_limit_total()

◆ OBJECT_OT_vertex_group_lock()

◆ OBJECT_OT_vertex_group_mirror()

◆ OBJECT_OT_vertex_group_move()

◆ OBJECT_OT_vertex_group_normalize()

◆ OBJECT_OT_vertex_group_normalize_all()

◆ OBJECT_OT_vertex_group_quantize()

◆ OBJECT_OT_vertex_group_remove()

◆ OBJECT_OT_vertex_group_remove_from()

◆ OBJECT_OT_vertex_group_select()

◆ OBJECT_OT_vertex_group_set_active()

◆ OBJECT_OT_vertex_group_smooth()

◆ OBJECT_OT_vertex_group_sort()

◆ OBJECT_OT_vertex_parent_set()

◆ OBJECT_OT_vertex_weight_copy()

◆ OBJECT_OT_vertex_weight_delete()

◆ OBJECT_OT_vertex_weight_normalize_active_vertex()

◆ OBJECT_OT_vertex_weight_paste()

◆ OBJECT_OT_vertex_weight_set_active()

◆ OBJECT_OT_visual_transform_apply()

◆ OBJECT_OT_volume_add()

◆ OBJECT_OT_volume_import()

◆ OBJECT_OT_voxel_remesh()

◆ OBJECT_OT_voxel_size_edit()

◆ object_overlay_mode_transfer_animation_start()

static void blender::ed::object::object_overlay_mode_transfer_animation_start ( bContext * C,
Object * ob_dst )
static

◆ object_parent_in_set()

static bool blender::ed::object::object_parent_in_set ( GSet * objects_set,
Object * ob )
static

Definition at line 429 of file object_utils.cc.

References BLI_gset_lookup(), and Object::parent.

Referenced by object_xform_array_m4().

◆ object_parent_inverse_apply_exec()

◆ object_path_convert_range()

◆ object_pointcloud_add_exec()

static int blender::ed::object::object_pointcloud_add_exec ( bContext * C,
wmOperator * op )
static

◆ object_pointcloud_add_poll()

static bool blender::ed::object::object_pointcloud_add_poll ( bContext * C)
static

Definition at line 2109 of file object_add.cc.

References ED_operator_objectmode().

Referenced by OBJECT_OT_pointcloud_add().

◆ object_pose_tag_update()

static void blender::ed::object::object_pose_tag_update ( Main * bmain,
Object * ob )
static

◆ object_rand_transverts()

static bool blender::ed::object::object_rand_transverts ( TransVertStore * tvs,
const float offset,
const float uniform,
const float normal_factor,
const uint seed )
static

◆ object_rand_verts_exec()

◆ object_remesh_poll()

◆ object_remove_parent_deform_modifiers()

◆ object_rotation_clear_exec()

static int blender::ed::object::object_rotation_clear_exec ( bContext * C,
wmOperator * op )
static

◆ object_scale_clear_exec()

static int blender::ed::object::object_scale_clear_exec ( bContext * C,
wmOperator * op )
static

◆ object_select_all_by_instance_collection()

static bool blender::ed::object::object_select_all_by_instance_collection ( bContext * C,
Object * ob )
static

◆ object_select_all_by_library()

static bool blender::ed::object::object_select_all_by_library ( bContext * C,
Library * lib )
static

◆ object_select_all_by_library_obdata()

static bool blender::ed::object::object_select_all_by_library_obdata ( bContext * C,
Library * lib )
static

◆ object_select_all_by_material()

static bool blender::ed::object::object_select_all_by_material ( bContext * C,
Material * mat )
static

◆ object_select_all_by_obdata()

static bool blender::ed::object::object_select_all_by_obdata ( bContext * C,
void * obdata )
static

◆ object_select_all_by_particle()

static bool blender::ed::object::object_select_all_by_particle ( bContext * C,
Object * ob )
static

◆ object_select_all_exec()

◆ object_select_by_type_exec()

◆ object_select_grouped_exec()

◆ object_select_less_exec()

◆ object_select_linked_exec()

◆ object_select_mirror_exec()

◆ object_select_more_exec()

◆ object_select_more_less()

◆ object_select_random_exec()

◆ object_select_same_collection_exec()

◆ object_shaderfx_remove()

static bool blender::ed::object::object_shaderfx_remove ( Main * bmain,
Object * ob,
ShaderFxData * fx,
bool *  )
static

◆ object_shape_key_mirror()

◆ object_shapekey_remove()

static bool blender::ed::object::object_shapekey_remove ( Main * bmain,
Object * ob )
static

◆ object_single_user_make()

void blender::ed::object::object_single_user_make ( Main * bmain,
Scene * scene,
Object * ob )

Not an especially efficient function, only added so the single user button can be functional.

Definition at line 1810 of file object_relations.cc.

References BKE_main_id_newptr_and_tag_clear(), Object::flag, FOREACH_SCENE_OBJECT_BEGIN, FOREACH_SCENE_OBJECT_END, OB_DONE, and single_object_users().

Referenced by template_id_cb().

◆ object_speaker_add_exec()

◆ object_test_constraint()

static void blender::ed::object::object_test_constraint ( Main * bmain,
Object * ob,
bConstraint * con )
static

◆ object_test_constraints()

void blender::ed::object::object_test_constraints ( Main * bmain,
Object * ob )

◆ object_track_clear_exec()

◆ object_transfer_mode_invoke()

◆ object_transfer_mode_poll()

static bool blender::ed::object::object_transfer_mode_poll ( bContext * C)
static

◆ object_transfer_mode_reposition_view_pivot()

static void blender::ed::object::object_transfer_mode_reposition_view_pivot ( ARegion * region,
Scene * scene,
const int mval[2] )
static

◆ object_transfer_mode_to_base()

◆ object_transform_apply_exec()

◆ object_transform_apply_invoke()

◆ object_transform_axis_target_calc_depth_init()

◆ object_transform_axis_target_cancel()

◆ object_transform_axis_target_free_data()

◆ object_transform_axis_target_invoke()

◆ object_transform_axis_target_modal()

static int blender::ed::object::object_transform_axis_target_modal ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Definition at line 2268 of file object_transform.cc.

References add_v3_v3(), copy_m3_m4(), copy_v3_v3(), wmOperator::customdata, DEG_id_tag_update(), blender::ed::object::XFormAxisData::depth, ViewDepths::depth_range, blender::ed::object::XFormAxisData::depths, dot_v3v3(), double(), ED_region_tag_redraw(), ED_view3d_depth_read_cached(), ED_view3d_depth_read_cached_normal(), ED_view3d_depth_unproject_v3(), ELEM, EVT_ESCKEY, EVT_PADENTER, EVT_RETKEY, fabsf, ViewDepths::h, Object::id, ID_RECALC_TRANSFORM, blender::ed::object::XFormAxisData::init_event, invert_m3_m3(), blender::ed::object::XFormAxisData::is_depth_valid, blender::ed::object::XFormAxisData::is_normal_valid, blender::ed::object::XFormAxisData::is_translate, blender::ed::object::XFormAxisItem::is_z_flip, ISMOUSE_BUTTON, KM_CTRL, KM_RELEASE, LEFTMOUSE, len_v3v3(), madd_v3_v3fl(), MOUSEMOVE, mul_m3_m3m3(), mul_m3_v3(), wmEvent::mval, NC_OBJECT, ND_TRANSFORM, blender::ed::object::XFormAxisData::normal, normalize_m3(), normalize_v3(), normalize_v3_v3(), blender::ed::object::XFormAxisItem::ob, object_apply_location(), blender::ed::object::XFormAxisData::object_data, object_orient_to_location(), object_transform_axis_target_calc_depth_init(), object_transform_axis_target_cancel(), object_transform_axis_target_free_data(), object_transform_axis_target_modal(), OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, blender::ed::object::XFormAxisData::prev, ViewContext::region, RIGHTMOUSE, blender::ed::object::XFormAxisItem::rot_mat, Object::runtime, wmEvent::type, wmEvent::val, blender::ed::object::XFormAxisData::vc, view3d_operator_needs_opengl(), ViewDepths::w, WM_event_add_notifier(), x, blender::ed::object::XFormAxisItem::xform_dist, and blender::ed::object::XFormAxisItem::xform_rot_offset.

Referenced by OBJECT_OT_transform_axis_target(), and object_transform_axis_target_modal().

◆ object_transform_to_mouse_exec()

◆ object_unlink_data_exec()

◆ object_update_all_paths_exec()

static int blender::ed::object::object_update_all_paths_exec ( bContext * C,
wmOperator *  )
static

◆ object_update_all_paths_poll()

static bool blender::ed::object::object_update_all_paths_poll ( bContext * )
static

Definition at line 1442 of file object_edit.cc.

Referenced by OBJECT_OT_paths_update_visible().

◆ object_update_paths_exec()

◆ object_update_paths_poll()

static bool blender::ed::object::object_update_paths_poll ( bContext * C)
static

◆ object_volume_add()

static Object * blender::ed::object::object_volume_add ( bContext * C,
wmOperator * op,
const char * name )
static

Definition at line 41 of file object_volume.cc.

References add_generic_get_opts(), add_type(), OB_VOLUME, and rot.

Referenced by object_volume_add_exec(), and volume_import_exec().

◆ object_volume_add_exec()

static int blender::ed::object::object_volume_add_exec ( bContext * C,
wmOperator * op )
static

Definition at line 51 of file object_volume.cc.

References object_volume_add(), OPERATOR_CANCELLED, and OPERATOR_FINISHED.

Referenced by OBJECT_OT_volume_add().

◆ object_warp_calc_view_matrix()

static void blender::ed::object::object_warp_calc_view_matrix ( float r_mat_view[4][4],
float r_center_view[3],
Object * obedit,
const float viewmat[4][4],
const float center[3],
const float offset_angle )
static

Definition at line 32 of file object_warp.cc.

References axis_angle_to_mat4_single(), mul_m4_m4m4(), and mul_v3_m4v3().

Referenced by object_warp_verts_exec().

◆ object_warp_transverts()

static void blender::ed::object::object_warp_transverts ( TransVertStore * tvs,
const float mat_view[4][4],
const float center_view[3],
const float angle_,
const float min,
const float max )
static

◆ object_warp_transverts_minmax_x()

static void blender::ed::object::object_warp_transverts_minmax_x ( TransVertStore * tvs,
const float mat_view[4][4],
const float center_view[3],
float * r_min,
float * r_max )
static

◆ object_warp_verts_exec()

◆ object_xform_array_m4()

◆ object_xform_skip_child_container_destroy()

void blender::ed::object::object_xform_skip_child_container_destroy ( XFormObjectSkipChild_Container * xcs)

◆ object_xform_skip_child_container_item_ensure()

◆ object_xform_skip_child_container_update_all()

◆ objects_add_active_exec()

◆ objects_bake_render_invoke()

static int blender::ed::object::objects_bake_render_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ objects_bake_render_modal()

static int blender::ed::object::objects_bake_render_modal ( bContext * C,
wmOperator * ,
const wmEvent * event )
static

◆ objects_in_mode_or_selected()

Vector< Object * > blender::ed::object::objects_in_mode_or_selected ( bContext * C,
bool(* filter_fn )(const Object *ob, void *user_data),
void * filter_user_data )

Return an array of objects:

  • When in the property space, return the pinned or active object.
  • When in edit-mode/pose-mode, return an array of objects in the mode.
  • Otherwise return selected objects, the callers filter_fn needs to check of they are editable (assuming they need to be modified).

Definition at line 145 of file object_edit.cc.

References BKE_view_layer_active_object_get(), BKE_view_layer_array_from_objects_in_mode_params(), BKE_view_layer_array_selected_objects_params(), BKE_view_layer_synced_ensure(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_area(), GS, ID_OB, Object::mode, ID::name, OB_MODE_ALL_PAINT, OB_MODE_ALL_PAINT_GPENCIL, OB_MODE_ALL_SCULPT, OB_MODE_EDIT, OB_MODE_POSE, params, SpaceProperties::pinid, SPACE_EMPTY, SPACE_PROPERTIES, and SPACE_VIEW3D.

Referenced by object_array_for_shading_edit_mode_disabled(), object_array_for_shading_edit_mode_enabled(), and object_array_for_wpaint().

◆ objects_remove_active_exec()

◆ objects_selectable_poll()

◆ objectsolver_clear_inverse_exec()

◆ objectsolver_clear_inverse_invoke()

static int blender::ed::object::objectsolver_clear_inverse_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ objectsolver_set_inverse_exec()

◆ objectsolver_set_inverse_invoke()

static int blender::ed::object::objectsolver_set_inverse_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ ocean_bake_exec()

static int blender::ed::object::ocean_bake_exec ( bContext * C,
wmOperator * op )
static

Definition at line 3458 of file object_modifier.cc.

References ADT_RECALC_ANIM, OceanModifierData::bakeend, OceanModifierData::bakestart, BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), BKE_modifier_path_relbase(), BKE_ocean_add(), BKE_ocean_bake(), BKE_ocean_free_modifier_cache(), BKE_ocean_init_cache(), BKE_ocean_init_from_modifier(), OceanModifierData::cached, OceanModifierData::cachepath, OceanModifierData::chop_amount, context_active_object(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_window(), DEG_id_tag_update(), depsgraph, OceanCache::duration, edit_modifier_property_get(), eModifierType_Ocean, OceanModifierData::foam_coverage, OceanModifierData::foam_fade, free(), Object::id, ID_RECALC_GEOMETRY, MEM_mallocN, NC_OBJECT, ND_MODIFIER, blender::ed::object::OceanBakeJob::ocean, ocean_bake_exec(), oceanbake_endjob(), oceanbake_free(), oceanbake_startjob(), OceanModifierData::oceancache, blender::ed::object::OceanBakeJob::och, blender::ed::object::OceanBakeJob::omd, OPERATOR_CANCELLED, OPERATOR_FINISHED, blender::ed::object::OceanBakeJob::owner, wmOperator::ptr, OceanModifierData::resolution, RNA_boolean_get(), OceanCache::time, OceanModifierData::time, OceanModifierData::wave_scale, WM_event_add_notifier(), WM_JOB_PROGRESS, WM_JOB_TYPE_OBJECT_SIM_OCEAN, WM_jobs_callbacks(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().

Referenced by OBJECT_OT_ocean_bake(), ocean_bake_exec(), and ocean_bake_invoke().

◆ ocean_bake_invoke()

static int blender::ed::object::ocean_bake_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ ocean_bake_poll()

static bool blender::ed::object::ocean_bake_poll ( bContext * C)
static

Definition at line 3379 of file object_modifier.cc.

References edit_modifier_poll_generic(), and ocean_bake_poll().

Referenced by OBJECT_OT_ocean_bake(), and ocean_bake_poll().

◆ oceanbake_breakjob()

static int blender::ed::object::oceanbake_breakjob ( void * )
static

Definition at line 3402 of file object_modifier.cc.

References G, and oceanbake_breakjob().

Referenced by oceanbake_breakjob(), and oceanbake_update().

◆ oceanbake_endjob()

◆ oceanbake_free()

static void blender::ed::object::oceanbake_free ( void * customdata)
static

Definition at line 3395 of file object_modifier.cc.

References oceanbake_free().

Referenced by ocean_bake_exec(), and oceanbake_free().

◆ oceanbake_startjob()

◆ oceanbake_update()

static void blender::ed::object::oceanbake_update ( void * customdata,
float progress,
int * cancel )
static

◆ operatormacros_object()

void blender::ed::object::operatormacros_object ( )

◆ operatortypes_object()

void blender::ed::object::operatortypes_object ( )

Definition at line 30 of file object_ops.cc.

References collection_exporter_register(), COLLECTION_OT_create(), COLLECTION_OT_objects_add_active(), COLLECTION_OT_objects_remove(), COLLECTION_OT_objects_remove_active(), COLLECTION_OT_objects_remove_all(), CONSTRAINT_OT_apply(), CONSTRAINT_OT_childof_clear_inverse(), CONSTRAINT_OT_childof_set_inverse(), CONSTRAINT_OT_copy(), CONSTRAINT_OT_copy_to_selected(), CONSTRAINT_OT_delete(), CONSTRAINT_OT_followpath_path_animate(), CONSTRAINT_OT_limitdistance_reset(), CONSTRAINT_OT_move_down(), CONSTRAINT_OT_move_to_index(), CONSTRAINT_OT_move_up(), CONSTRAINT_OT_objectsolver_clear_inverse(), CONSTRAINT_OT_objectsolver_set_inverse(), CONSTRAINT_OT_stretchto_reset(), object_modifier_add_asset_register(), OBJECT_OT_add(), OBJECT_OT_add_named(), OBJECT_OT_armature_add(), OBJECT_OT_bake(), OBJECT_OT_bake_image(), OBJECT_OT_camera_add(), OBJECT_OT_clear_override_library(), OBJECT_OT_collection_add(), OBJECT_OT_collection_external_asset_drop(), OBJECT_OT_collection_instance_add(), OBJECT_OT_collection_link(), OBJECT_OT_collection_objects_select(), OBJECT_OT_collection_remove(), OBJECT_OT_collection_unlink(), OBJECT_OT_constraint_add(), OBJECT_OT_constraint_add_with_targets(), OBJECT_OT_constraints_clear(), OBJECT_OT_constraints_copy(), OBJECT_OT_convert(), OBJECT_OT_correctivesmooth_bind(), OBJECT_OT_curves_empty_hair_add(), OBJECT_OT_curves_random_add(), OBJECT_OT_data_instance_add(), OBJECT_OT_data_transfer(), OBJECT_OT_datalayout_transfer(), OBJECT_OT_delete(), OBJECT_OT_drop_geometry_nodes(), OBJECT_OT_drop_named_material(), OBJECT_OT_duplicate(), OBJECT_OT_duplicates_make_real(), OBJECT_OT_editmode_toggle(), OBJECT_OT_effector_add(), OBJECT_OT_empty_add(), OBJECT_OT_empty_image_add(), OBJECT_OT_explode_refresh(), OBJECT_OT_forcefield_toggle(), blender::ed::object::bake_simulation::OBJECT_OT_geometry_node_bake_delete_single(), blender::ed::object::bake_simulation::OBJECT_OT_geometry_node_bake_pack_single(), blender::ed::object::bake_simulation::OBJECT_OT_geometry_node_bake_single(), blender::ed::object::bake_simulation::OBJECT_OT_geometry_node_bake_unpack_single(), OBJECT_OT_geometry_node_tree_copy_assign(), OBJECT_OT_geometry_nodes_input_attribute_toggle(), OBJECT_OT_grease_pencil_add(), OBJECT_OT_grease_pencil_dash_modifier_segment_add(), OBJECT_OT_grease_pencil_dash_modifier_segment_move(), OBJECT_OT_grease_pencil_dash_modifier_segment_remove(), OBJECT_OT_grease_pencil_time_modifier_segment_add(), OBJECT_OT_grease_pencil_time_modifier_segment_move(), OBJECT_OT_grease_pencil_time_modifier_segment_remove(), OBJECT_OT_hide_collection(), OBJECT_OT_hide_view_clear(), OBJECT_OT_hide_view_set(), OBJECT_OT_hook_add_newob(), OBJECT_OT_hook_add_selob(), OBJECT_OT_hook_assign(), OBJECT_OT_hook_recenter(), OBJECT_OT_hook_remove(), OBJECT_OT_hook_reset(), OBJECT_OT_hook_select(), OBJECT_OT_join(), OBJECT_OT_join_shapes(), OBJECT_OT_laplaciandeform_bind(), OBJECT_OT_light_add(), OBJECT_OT_light_linking_blocker_collection_new(), OBJECT_OT_light_linking_blockers_link(), OBJECT_OT_light_linking_blockers_select(), OBJECT_OT_light_linking_receiver_collection_new(), OBJECT_OT_light_linking_receivers_link(), OBJECT_OT_light_linking_receivers_select(), OBJECT_OT_light_linking_unlink_from_collection(), OBJECT_OT_lightprobe_add(), OBJECT_OT_link_to_collection(), OBJECT_OT_location_clear(), OBJECT_OT_make_links_data(), OBJECT_OT_make_links_scene(), OBJECT_OT_make_local(), OBJECT_OT_make_override_library(), OBJECT_OT_make_single_user(), OBJECT_OT_meshdeform_bind(), OBJECT_OT_metaball_add(), OBJECT_OT_mode_set(), OBJECT_OT_mode_set_with_submode(), OBJECT_OT_modifier_add(), OBJECT_OT_modifier_apply(), OBJECT_OT_modifier_apply_as_shapekey(), OBJECT_OT_modifier_convert(), OBJECT_OT_modifier_copy(), OBJECT_OT_modifier_copy_to_selected(), OBJECT_OT_modifier_move_down(), OBJECT_OT_modifier_move_to_index(), OBJECT_OT_modifier_move_up(), OBJECT_OT_modifier_remove(), OBJECT_OT_modifier_set_active(), OBJECT_OT_modifiers_clear(), OBJECT_OT_modifiers_copy_to_selected(), OBJECT_OT_move_to_collection(), OBJECT_OT_multires_base_apply(), OBJECT_OT_multires_external_pack(), OBJECT_OT_multires_external_save(), OBJECT_OT_multires_higher_levels_delete(), OBJECT_OT_multires_rebuild_subdiv(), OBJECT_OT_multires_reshape(), OBJECT_OT_multires_subdivide(), OBJECT_OT_multires_unsubdivide(), OBJECT_OT_ocean_bake(), OBJECT_OT_origin_clear(), OBJECT_OT_origin_set(), OBJECT_OT_parent_clear(), OBJECT_OT_parent_inverse_apply(), OBJECT_OT_parent_no_inverse_set(), OBJECT_OT_parent_set(), OBJECT_OT_paths_calculate(), OBJECT_OT_paths_clear(), OBJECT_OT_paths_update(), OBJECT_OT_paths_update_visible(), OBJECT_OT_pointcloud_add(), OBJECT_OT_posemode_toggle(), OBJECT_OT_quadriflow_remesh(), OBJECT_OT_reset_override_library(), OBJECT_OT_rotation_clear(), OBJECT_OT_scale_clear(), OBJECT_OT_select_all(), OBJECT_OT_select_by_type(), OBJECT_OT_select_grouped(), OBJECT_OT_select_less(), OBJECT_OT_select_linked(), OBJECT_OT_select_mirror(), OBJECT_OT_select_more(), OBJECT_OT_select_random(), OBJECT_OT_select_same_collection(), OBJECT_OT_shade_auto_smooth(), OBJECT_OT_shade_flat(), OBJECT_OT_shade_smooth(), OBJECT_OT_shade_smooth_by_angle(), OBJECT_OT_shaderfx_add(), OBJECT_OT_shaderfx_copy(), OBJECT_OT_shaderfx_move_down(), OBJECT_OT_shaderfx_move_to_index(), OBJECT_OT_shaderfx_move_up(), OBJECT_OT_shaderfx_remove(), OBJECT_OT_shape_key_add(), OBJECT_OT_shape_key_clear(), OBJECT_OT_shape_key_lock(), OBJECT_OT_shape_key_mirror(), OBJECT_OT_shape_key_move(), OBJECT_OT_shape_key_remove(), OBJECT_OT_shape_key_retime(), blender::ed::object::bake_simulation::OBJECT_OT_simulation_nodes_cache_bake(), blender::ed::object::bake_simulation::OBJECT_OT_simulation_nodes_cache_calculate_to_frame(), blender::ed::object::bake_simulation::OBJECT_OT_simulation_nodes_cache_delete(), OBJECT_OT_skin_armature_create(), OBJECT_OT_skin_loose_mark_clear(), OBJECT_OT_skin_radii_equalize(), OBJECT_OT_skin_root_mark(), OBJECT_OT_speaker_add(), OBJECT_OT_surfacedeform_bind(), OBJECT_OT_text_add(), OBJECT_OT_track_clear(), OBJECT_OT_track_set(), OBJECT_OT_transfer_mode(), OBJECT_OT_transform_apply(), OBJECT_OT_transform_axis_target(), OBJECT_OT_transform_to_mouse(), OBJECT_OT_unlink_data(), OBJECT_OT_vertex_group_add(), OBJECT_OT_vertex_group_assign(), OBJECT_OT_vertex_group_assign_new(), OBJECT_OT_vertex_group_clean(), OBJECT_OT_vertex_group_copy(), OBJECT_OT_vertex_group_copy_to_selected(), OBJECT_OT_vertex_group_deselect(), OBJECT_OT_vertex_group_invert(), OBJECT_OT_vertex_group_levels(), OBJECT_OT_vertex_group_limit_total(), OBJECT_OT_vertex_group_lock(), OBJECT_OT_vertex_group_mirror(), OBJECT_OT_vertex_group_move(), OBJECT_OT_vertex_group_normalize(), OBJECT_OT_vertex_group_normalize_all(), OBJECT_OT_vertex_group_quantize(), OBJECT_OT_vertex_group_remove(), OBJECT_OT_vertex_group_remove_from(), OBJECT_OT_vertex_group_select(), OBJECT_OT_vertex_group_set_active(), OBJECT_OT_vertex_group_smooth(), OBJECT_OT_vertex_group_sort(), OBJECT_OT_vertex_parent_set(), OBJECT_OT_vertex_weight_copy(), OBJECT_OT_vertex_weight_delete(), OBJECT_OT_vertex_weight_normalize_active_vertex(), OBJECT_OT_vertex_weight_paste(), OBJECT_OT_vertex_weight_set_active(), OBJECT_OT_visual_transform_apply(), OBJECT_OT_volume_add(), OBJECT_OT_volume_import(), OBJECT_OT_voxel_remesh(), OBJECT_OT_voxel_size_edit(), POSE_OT_constraint_add(), POSE_OT_constraint_add_with_targets(), POSE_OT_constraints_clear(), POSE_OT_constraints_copy(), POSE_OT_ik_add(), POSE_OT_ik_clear(), TRANSFORM_OT_vertex_random(), TRANSFORM_OT_vertex_warp(), and WM_operatortype_append().

◆ parent_clear()

◆ parent_clear_exec()

◆ parent_noinv_set_exec()

◆ parent_set() [1/2]

void blender::ed::object::parent_set ( Object * ob,
Object * parent,
int type,
const char * substr )

◆ parent_set() [2/2]

bool blender::ed::object::parent_set ( ReportList * reports,
const bContext * C,
Scene * scene,
Object *const ob,
Object *const par,
int partype,
bool xmirror,
bool keep_transform,
const int vert_par[3] )

Set the object's parent, return true if successful.

Definition at line 498 of file object_relations.cc.

References blender::animrig::action_fcurve_ensure(), blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::ed::greasepencil::add_armature_vertex_groups(), add_fmodifier(), ARM_GROUPS_AUTO, ARM_GROUPS_ENVELOPE, ARM_GROUPS_NAME, FCurve::bezt, BKE_constraint_add_for_object(), BKE_constraint_target_matrix_get(), BKE_displist_make_curveTypes(), BKE_modifiers_is_deformed_by_armature(), BKE_modifiers_is_deformed_by_curve(), BKE_modifiers_is_deformed_by_lattice(), BKE_object_apply_mat4(), BKE_object_calc_parent(), BKE_object_parent_loop_check(), BKE_pose_channel_active_if_bonecoll_visible(), BKE_report(), BLI_assert_msg, bPoseChannel::bone, BONE_RELATIVE_PARENTING, CONSTRAINT_OBTYPE_OBJECT, CONSTRAINT_TYPE_FOLLOWPATH, copy_v3_v3(), copy_v3_v3_int(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CU_FOLLOW, CU_PATH, bConstraint::data, data, Object::data, DEG_get_evaluated_object(), DEG_id_tag_update(), depsgraph, ED_object_vgroup_calc_from_armature(), ELEM, eModifierType_Armature, eModifierType_Curve, eModifierType_GreasePencilArmature, eModifierType_Lattice, ListBase::first, Bone::flag, Curve::flag, FMODIFIER_TYPE_GENERATOR, FCurve::fpt, Curve::id, Object::id, blender::animrig::id_action_ensure(), ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, invert_m4_m4(), Object::loc, modifier_add(), FCurve::modifiers, bPoseChannel::name, OB_ARMATURE, OB_CURVES_LEGACY, OB_FONT, OB_GREASE_PENCIL, OB_LATTICE, OB_MESH, OB_SURF, Object::par1, PAR_ARMATURE, PAR_ARMATURE_AUTO, PAR_ARMATURE_ENVELOPE, PAR_ARMATURE_NAME, PAR_BONE, PAR_BONE_RELATIVE, PAR_CURVE, PAR_FOLLOW, PAR_LATTICE, PAR_OBJECT, PAR_PATH_CONST, PAR_VERTEX, PAR_VERTEX_TRI, PARBONE, Object::parent, Object::parentinv, PAROBJECT, Object::parsubstr, Object::partype, PARVERT1, PARVERT3, ptr, RNA_id_pointer_create(), RPT_ERROR, Object::runtime, STRNCPY, sub_v3_v3v3(), bFollowPathConstraint::tar, Object::type, unit_m4(), and WM_cursor_wait().

Referenced by bc_set_parent(), object_curves_empty_hair_add_exec(), blender::ed::outliner::parent_drop_set_parents(), parent_set_nonvertex_parent(), and parent_set_vertex_parent_with_kdtree().

◆ parent_set_exec()

◆ parent_set_invoke()

static int blender::ed::object::parent_set_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ parent_set_invoke_menu()

◆ parent_set_nonvertex_parent()

◆ parent_set_poll_property()

static bool blender::ed::object::parent_set_poll_property ( const bContext * ,
wmOperator * op,
const PropertyRNA * prop )
static

◆ parent_set_vert_find()

static void blender::ed::object::parent_set_vert_find ( KDTree_3d * tree,
Object * child,
int vert_par[3],
bool is_tri )
static

Definition at line 763 of file object_relations.cc.

References BLI_assert, min_iii(), tree, UNPACK3, and UNUSED_VARS.

Referenced by parent_set_vertex_parent_with_kdtree().

◆ parent_set_vertex_parent()

◆ parent_set_vertex_parent_with_kdtree()

◆ pose_constraint_add_exec()

◆ pose_constraint_copy_exec()

◆ pose_constraint_list()

ListBase * blender::ed::object::pose_constraint_list ( const bContext * C)

Get the constraints for the active pose bone. Bone may be on an inactive bone-layer (unlike constraint_active_list, such constraints are not excluded here).

Definition at line 98 of file object_constraint.cc.

References bPoseChannel::constraints, CTX_data_pointer_get(), and PointerRNA::data.

Referenced by edit_constraint_property_get(), and uiTemplateConstraints().

◆ pose_constraints_clear_exec()

◆ pose_ik_add_exec()

static int blender::ed::object::pose_ik_add_exec ( bContext * C,
wmOperator * op )
static

◆ pose_ik_add_invoke()

◆ pose_ik_clear_exec()

◆ POSE_OT_constraint_add()

◆ POSE_OT_constraint_add_with_targets()

◆ POSE_OT_constraints_clear()

◆ POSE_OT_constraints_copy()

◆ POSE_OT_ik_add()

◆ POSE_OT_ik_clear()

◆ posemode_exec()

◆ posemode_set_for_weight_paint()

◆ quadriflow_break_job()

static int blender::ed::object::quadriflow_break_job ( void * customdata)
static

Definition at line 739 of file object_remesh.cc.

References G, and blender::ed::object::QuadriFlowJob::success.

Referenced by quadriflow_update_job().

◆ quadriflow_check()

◆ quadriflow_end_job()

◆ quadriflow_free_job()

static void blender::ed::object::quadriflow_free_job ( void * customdata)
static

Definition at line 732 of file object_remesh.cc.

References MEM_freeN().

Referenced by quadriflow_remesh_exec().

◆ quadriflow_poll_property()

◆ quadriflow_remesh_exec()

◆ quadriflow_remesh_invoke()

static int blender::ed::object::quadriflow_remesh_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Definition at line 1100 of file object_remesh.cc.

References IFACE_, and WM_operator_props_popup_confirm_ex().

Referenced by OBJECT_OT_quadriflow_remesh().

◆ quadriflow_start_job()

static void blender::ed::object::quadriflow_start_job ( void * customdata,
wmJobWorkerStatus * worker_status )
static

Definition at line 834 of file object_remesh.cc.

References BKE_id_free(), BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_ALL, BKE_mesh_copy_for_eval(), BKE_mesh_nomain_to_mesh(), BKE_mesh_remesh_quadriflow(), BKE_sculptsession_free_pbvh(), Object::data, blender::ed::object::QuadriFlowJob::do_update, wmJobWorkerStatus::do_update, G, blender::ed::sculpt_paint::undo::geometry_begin(), blender::ed::sculpt_paint::undo::geometry_end(), blender::ed::object::QuadriFlowJob::is_nonblocking_job, mesh_is_manifold_consistent(), blender::bke::mesh_remesh_reproject_attributes(), blender::bke::mesh_smooth_set(), Object::mode, OB_MODE_SCULPT, blender::ed::object::QuadriFlowJob::op, blender::ed::object::QuadriFlowJob::owner, blender::ed::object::QuadriFlowJob::preserve_attributes, blender::ed::object::QuadriFlowJob::progress, wmJobWorkerStatus::progress, quadriflow_update_job(), remesh_symmetry_bisect(), remesh_symmetry_mirror(), blender::ed::object::QuadriFlowJob::scene, blender::ed::object::QuadriFlowJob::seed, blender::ed::object::QuadriFlowJob::smooth_normals, blender::ed::object::QuadriFlowJob::stop, wmJobWorkerStatus::stop, blender::ed::object::QuadriFlowJob::success, blender::ed::object::QuadriFlowJob::symmetry_axes, blender::ed::object::QuadriFlowJob::target_faces, blender::ed::object::QuadriFlowJob::use_mesh_curvature, blender::ed::object::QuadriFlowJob::use_mesh_symmetry, blender::ed::object::QuadriFlowJob::use_preserve_boundary, and blender::ed::object::QuadriFlowJob::use_preserve_sharp.

Referenced by quadriflow_remesh_exec().

◆ quadriflow_update_job()

static void blender::ed::object::quadriflow_update_job ( void * customdata,
float progress,
int * cancel )
static

Called by ocean-bake, wmJob sends notifier.

Definition at line 757 of file object_remesh.cc.

References blender::ed::object::QuadriFlowJob::do_update, blender::ed::object::QuadriFlowJob::progress, and quadriflow_break_job().

Referenced by quadriflow_start_job().

◆ remesh_symmetry_bisect()

◆ remesh_symmetry_mirror()

static Mesh * blender::ed::object::remesh_symmetry_mirror ( Object * ob,
Mesh * mesh,
eSymmetryAxes symmetry_axes )
static

◆ remove_invalid_attribute_strings()

static void blender::ed::object::remove_invalid_attribute_strings ( Mesh & mesh)
static

◆ reset_clear_override_library_poll()

static bool blender::ed::object::reset_clear_override_library_poll ( bContext * C)
static

◆ reset_override_library_exec()

◆ return_editcurve_indexar()

static int blender::ed::object::return_editcurve_indexar ( Object * obedit,
int ** r_indexar,
int * r_indexar_num,
float r_cent[3] )
static

◆ return_editlattice_indexar()

static int blender::ed::object::return_editlattice_indexar ( Lattice * editlatt,
int ** r_indexar,
int * r_indexar_num,
float r_cent[3] )
static

◆ return_editmesh_indexar()

static int blender::ed::object::return_editmesh_indexar ( BMEditMesh * em,
int * r_indexar_num,
int ** r_indexar,
float r_cent[3] )
static

◆ return_editmesh_vgroup()

◆ rna_vertex_group_select_itemf()

static const EnumPropertyItem * blender::ed::object::rna_vertex_group_select_itemf ( bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
bool * r_free )
static

◆ rna_vertex_group_with_single_itemf()

static const EnumPropertyItem * blender::ed::object::rna_vertex_group_with_single_itemf ( bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
bool * r_free )
static

◆ root_catalogs_draw()

◆ rotation_from_quat()

void blender::ed::object::rotation_from_quat ( float rot[3],
const float quat[4],
char align_axis )

Definition at line 292 of file object_add.cc.

References axis_angle_to_quat(), BLI_assert, float, M_PI_2, mul_qt_qtqt(), quat_to_eul(), and rot.

Referenced by rotation_from_view().

◆ rotation_from_view()

void blender::ed::object::rotation_from_view ( bContext * C,
float rot[3],
char align_axis )

◆ select_editbmesh_hook()

static void blender::ed::object::select_editbmesh_hook ( Object * ob,
HookModifierData * hmd )
static

◆ select_editcurve_hook()

static void blender::ed::object::select_editcurve_hook ( Object * obedit,
HookModifierData * hmd )
static

◆ select_editlattice_hook()

static void blender::ed::object::select_editlattice_hook ( Object * obedit,
HookModifierData * hmd )
static

◆ select_grouped_children()

static bool blender::ed::object::select_grouped_children ( bContext * C,
Object * ob,
const bool recursive )
static

◆ select_grouped_collection()

◆ select_grouped_color()

static bool blender::ed::object::select_grouped_color ( bContext * C,
Object * ob )
static

◆ select_grouped_exec()

◆ select_grouped_index_object()

static bool blender::ed::object::select_grouped_index_object ( bContext * C,
Object * ob )
static

◆ select_grouped_keyingset()

◆ select_grouped_lighttype()

static bool blender::ed::object::select_grouped_lighttype ( bContext * C,
Object * ob )
static

◆ select_grouped_object_hooks()

◆ select_grouped_parent()

◆ select_grouped_siblings()

static bool blender::ed::object::select_grouped_siblings ( bContext * C,
Object * ob )
static

◆ select_grouped_type()

static bool blender::ed::object::select_grouped_type ( bContext * C,
Object * ob )
static

◆ select_linked_by_id()

◆ selected_objects_get()

static ListBase blender::ed::object::selected_objects_get ( bContext * C)
static

◆ set_active_group_exec()

◆ set_constraint_nth_target()

static void blender::ed::object::set_constraint_nth_target ( bConstraint * con,
Object * target,
const char subtarget[],
int index )
static

◆ shade_auto_smooth_exec()

◆ shade_auto_smooth_ui()

static void blender::ed::object::shade_auto_smooth_ui ( bContext * ,
wmOperator * op )
static

◆ shade_poll()

◆ shade_smooth_exec()

◆ shaderfx_add()

◆ shaderfx_add_exec()

◆ shaderfx_add_itemf()

◆ shaderfx_clear()

void blender::ed::object::shaderfx_clear ( Main * bmain,
Object * ob )

◆ shaderfx_copy()

◆ shaderfx_copy_exec()

◆ shaderfx_copy_invoke()

static int blender::ed::object::shaderfx_copy_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ shaderfx_link()

◆ shaderfx_move_down()

int blender::ed::object::shaderfx_move_down ( ReportList * reports,
Object * ob,
ShaderFxData * fx )

◆ shaderfx_move_down_exec()

◆ shaderfx_move_down_invoke()

static int blender::ed::object::shaderfx_move_down_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ shaderfx_move_to_index()

◆ shaderfx_move_to_index_exec()

◆ shaderfx_move_to_index_invoke()

static int blender::ed::object::shaderfx_move_to_index_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ shaderfx_move_up()

int blender::ed::object::shaderfx_move_up ( ReportList * reports,
Object * ob,
ShaderFxData * fx )

◆ shaderfx_move_up_exec()

◆ shaderfx_move_up_invoke()

static int blender::ed::object::shaderfx_move_up_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ shaderfx_remove()

bool blender::ed::object::shaderfx_remove ( ReportList * reports,
Main * bmain,
Object * ob,
ShaderFxData * fx )

◆ shaderfx_remove_exec()

◆ shaderfx_remove_invoke()

static int blender::ed::object::shaderfx_remove_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ shape_key_add_exec()

◆ shape_key_clear_exec()

◆ shape_key_exists_poll()

static bool blender::ed::object::shape_key_exists_poll ( bContext * C)
static

◆ shape_key_lock_exec()

◆ shape_key_lock_get_description()

static std::string blender::ed::object::shape_key_lock_get_description ( bContext * ,
wmOperatorType * ,
PointerRNA * ptr )
static

Definition at line 708 of file object_shapekey.cc.

References ptr, RNA_enum_get(), SHAPE_KEY_LOCK, SHAPE_KEY_UNLOCK, and TIP_.

Referenced by OBJECT_OT_shape_key_lock().

◆ shape_key_mirror_exec()

◆ shape_key_mode_exists_poll()

static bool blender::ed::object::shape_key_mode_exists_poll ( bContext * C)
static

◆ shape_key_mode_poll()

static bool blender::ed::object::shape_key_mode_poll ( bContext * C)
static

◆ shape_key_move_exec()

◆ shape_key_move_poll()

static bool blender::ed::object::shape_key_move_poll ( bContext * C)
static

◆ shape_key_poll()

static bool blender::ed::object::shape_key_poll ( bContext * C)
static

◆ shape_key_remove_exec()

◆ shape_key_remove_get_description()

static std::string blender::ed::object::shape_key_remove_get_description ( bContext * ,
wmOperatorType * ,
PointerRNA * ptr )
static

Definition at line 434 of file object_shapekey.cc.

References ptr, RNA_boolean_get(), and TIP_.

Referenced by OBJECT_OT_shape_key_remove().

◆ shape_key_remove_poll_property()

static bool blender::ed::object::shape_key_remove_poll_property ( const bContext * ,
wmOperator * op,
const PropertyRNA * prop )
static

◆ shape_key_report_if_active_locked()

bool blender::ed::object::shape_key_report_if_active_locked ( Object * ob,
ReportList * reports )

Checks if the active shape key of the object is locked, and produces an error message if so (unless reports is null).

Returns
true if the shape key was locked.

Definition at line 89 of file object_shapekey.cc.

References BKE_keyblock_from_object(), BKE_reportf(), KeyBlock::flag, Object::id, KEYBLOCK_LOCKED_SHAPE, ID::name, and RPT_ERROR.

Referenced by shape_key_mirror_exec(), and shape_key_remove_exec().

◆ shape_key_report_if_any_locked()

bool blender::ed::object::shape_key_report_if_any_locked ( Object * ob,
ReportList * reports )

Checks if any of the shape keys of the object are locked, and produces an error message if so (unless reports is null).

Returns
true if a shape key was locked.

Definition at line 118 of file object_shapekey.cc.

References BKE_reportf(), Object::id, ID::name, object_is_any_shape_key_locked(), and RPT_ERROR.

Referenced by edbm_shape_propagate_to_all_exec(), and shape_key_remove_exec().

◆ shape_key_report_if_locked()

◆ shape_key_retime_exec()

◆ single_data_needs_duplication()

static bool blender::ed::object::single_data_needs_duplication ( ID * id)
static

◆ single_mat_users()

◆ single_obdata_user_make()

void blender::ed::object::single_obdata_user_make ( Main * bmain,
Scene * scene,
Object * ob )

◆ single_obdata_users()

◆ single_object_action_users()

static void blender::ed::object::single_object_action_users ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
const int flag )
static

◆ single_object_users()

static void blender::ed::object::single_object_users ( Main * bmain,
Scene * scene,
View3D * v3d,
const int flag,
const bool copy_collections )
static

◆ single_object_users_collection()

static Collection * blender::ed::object::single_object_users_collection ( Main * bmain,
Scene * scene,
Collection * collection,
const int flag,
const bool copy_collections,
const bool is_master_collection )
static

◆ single_objectdata_action_users()

static void blender::ed::object::single_objectdata_action_users ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
View3D * v3d,
const int flag )
static

◆ skin_armature_bone_create()

◆ skin_armature_create_exec()

◆ skin_armature_create_invoke()

static int blender::ed::object::skin_armature_create_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ skin_edit_poll()

◆ skin_loose_mark_clear_exec()

◆ skin_poll()

static bool blender::ed::object::skin_poll ( bContext * C)
static

Definition at line 2814 of file object_modifier.cc.

References edit_modifier_poll_generic(), OB_MESH, and skin_poll().

Referenced by OBJECT_OT_skin_armature_create(), and skin_poll().

◆ skin_radii_equalize_exec()

◆ skin_root_clear()

static void blender::ed::object::skin_root_clear ( BMVert * bm_vert,
GSet * visited,
const int cd_vert_skin_offset )
static

◆ skin_root_mark_exec()

◆ sorted_selected_editable_objects()

◆ stretchto_reset_exec()

◆ stretchto_reset_invoke()

static int blender::ed::object::stretchto_reset_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ surfacedeform_bind_exec()

◆ surfacedeform_bind_invoke()

static int blender::ed::object::surfacedeform_bind_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ surfacedeform_bind_poll()

static bool blender::ed::object::surfacedeform_bind_poll ( bContext * C)
static

◆ tag_localizable_looper()

static int blender::ed::object::tag_localizable_looper ( LibraryIDLinkCallbackData * cb_data)
static

◆ tag_localizable_objects()

◆ test_constraint()

◆ test_constraints()

static void blender::ed::object::test_constraints ( Main * bmain,
Object * ob,
bPoseChannel * pchan )
static

◆ time_modifier_segment_add_exec()

◆ time_modifier_segment_add_invoke()

static int blender::ed::object::time_modifier_segment_add_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ time_modifier_segment_free()

static void blender::ed::object::time_modifier_segment_free ( GreasePencilTimeModifierSegment * )
static

◆ time_modifier_segment_move_exec()

◆ time_modifier_segment_move_invoke()

static int blender::ed::object::time_modifier_segment_move_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ time_modifier_segment_poll()

◆ time_modifier_segment_remove_exec()

◆ time_modifier_segment_remove_invoke()

static int blender::ed::object::time_modifier_segment_remove_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ track_set_exec()

◆ trans_obdata_in_obmode_free_elem()

static void blender::ed::object::trans_obdata_in_obmode_free_elem ( void * xf_p)
static

Callback for GHash free.

Definition at line 397 of file object_utils.cc.

References data_xform_destroy(), MEM_freeN(), and blender::ed::object::XFormObjectData_Extra::xod.

Referenced by data_xform_container_destroy().

◆ TRANSFORM_OT_vertex_random()

◆ TRANSFORM_OT_vertex_warp()

◆ transform_positions()

static void blender::ed::object::transform_positions ( MutableSpan< float3 > positions,
const float4x4 & matrix )
static

Definition at line 657 of file object_transform.cc.

References blender::threading::parallel_for().

◆ translate_positions()

static void blender::ed::object::translate_positions ( MutableSpan< float3 > positions,
const float3 & translation )
static

Definition at line 1314 of file object_transform.cc.

◆ ui_template_modifier_asset_menu_items()

◆ unassigned_assets_draw()

◆ unassigned_local_poll()

static bool blender::ed::object::unassigned_local_poll ( const Main & bmain)
static

Definition at line 119 of file add_modifier_assets.cc.

References GEO_NODE_ASSET_MODIFIER, LISTBASE_FOREACH, and Main::nodetrees.

Referenced by root_catalogs_draw().

◆ vertex_group_add_exec()

◆ vertex_group_assign_exec()

◆ vertex_group_assign_new_exec()

static int blender::ed::object::vertex_group_assign_new_exec ( bContext * C,
wmOperator * op )
static

◆ vertex_group_clean_exec()

◆ vertex_group_copy_exec()

◆ vertex_group_copy_to_selected_exec()

◆ vertex_group_deselect_exec()

◆ vertex_group_invert_exec()

◆ vertex_group_levels_exec()

◆ vertex_group_limit_total_exec()

◆ vertex_group_lock_exec()

static int blender::ed::object::vertex_group_lock_exec ( bContext * C,
wmOperator * op )
static

◆ vertex_group_lock_get_description()

static std::string blender::ed::object::vertex_group_lock_get_description ( bContext * ,
wmOperatorType * ,
PointerRNA * ptr )
static

◆ vertex_group_mesh_vert_poll()

static bool blender::ed::object::vertex_group_mesh_vert_poll ( bContext * C)
static

Definition at line 2430 of file object_vgroup.cc.

References OB_MESH, and vertex_group_vert_poll_ex().

Referenced by OBJECT_OT_vertex_group_smooth().

◆ vertex_group_mirror_exec()

◆ vertex_group_normalize_all_exec()

◆ vertex_group_normalize_exec()

◆ vertex_group_poll()

◆ vertex_group_poll_edit()

static bool UNUSED_FUNCTION blender::ed::object::vertex_group_poll_edit ( bContext * C)
static

◆ vertex_group_poll_ex()

static bool blender::ed::object::vertex_group_poll_ex ( bContext * C,
Object * ob )
static

◆ vertex_group_quantize_exec()

◆ vertex_group_remove_exec()

◆ vertex_group_remove_from_exec()

◆ vertex_group_select_exec()

◆ vertex_group_smooth_exec()

◆ vertex_group_sort_exec()

◆ vertex_group_supported_poll()

static bool blender::ed::object::vertex_group_supported_poll ( bContext * C)
static

Definition at line 2354 of file object_vgroup.cc.

References context_object(), and vertex_group_supported_poll_ex().

Referenced by OBJECT_OT_vertex_group_add().

◆ vertex_group_supported_poll_ex()

◆ vertex_group_use_vert_sel()

◆ vertex_group_vert_poll_ex()

static bool blender::ed::object::vertex_group_vert_poll_ex ( bContext * C,
const bool needs_select,
const short ob_type_flag )
static

◆ vertex_group_vert_select_mesh_poll()

◆ vertex_group_vert_select_poll()

static bool blender::ed::object::vertex_group_vert_select_poll ( bContext * C)
static

◆ vertex_group_vert_select_unlocked_poll()

◆ vertex_parent_set_exec()

◆ vertex_parent_set_poll()

static bool blender::ed::object::vertex_parent_set_poll ( bContext * C)
static

◆ vertex_weight_copy_exec()

◆ vertex_weight_delete_exec()

◆ vertex_weight_normalize_active_vertex_exec()

◆ vertex_weight_paste_exec()

◆ vertex_weight_set_active_exec()

◆ vgroup_array_copy()

◆ vgroup_assign_verts()

◆ vgroup_clean_subset()

static void blender::ed::object::vgroup_clean_subset ( Object * ob,
const bool * vgroup_validmap,
const int vgroup_tot,
const int ,
const float epsilon,
const bool keep_single )
static

◆ vgroup_copy_active_to_sel()

◆ vgroup_copy_active_to_sel_single()

◆ vgroup_data_clamp_range()

void blender::ed::object::vgroup_data_clamp_range ( ID * id,
int total )

Removes out of range #MDeformWeights

Definition at line 133 of file object_vgroup.cc.

References BKE_defvert_remove_group(), MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and vgroup_parray_alloc().

Referenced by ED_object_vgroup_calc_from_armature().

◆ vgroup_delete_active()

static void blender::ed::object::vgroup_delete_active ( Object * ob)
static

◆ vgroup_do_remap()

◆ vgroup_duplicate()

◆ vgroup_edit_lattice()

static Lattice * blender::ed::object::vgroup_edit_lattice ( Object * ob)
static

◆ vgroup_init_remap()

static char * blender::ed::object::vgroup_init_remap ( Object * ob)
static

◆ vgroup_invert_subset()

static void blender::ed::object::vgroup_invert_subset ( Object * ob,
const bool * vgroup_validmap,
const int vgroup_tot,
const int ,
const bool auto_assign,
const bool auto_remove )
static

◆ vgroup_itemf()

◆ vgroup_levels_subset()

static void blender::ed::object::vgroup_levels_subset ( Object * ob,
const bool * vgroup_validmap,
const int vgroup_tot,
const int ,
const float offset,
const float gain )
static

◆ vgroup_limit_total_subset()

static int blender::ed::object::vgroup_limit_total_subset ( Object * ob,
const bool * vgroup_validmap,
const int vgroup_tot,
const int subset_count,
const int max_weights )
static

◆ vgroup_lock_all()

◆ vgroup_mirror()

◆ vgroup_move_exec()

◆ vgroup_normalize()

◆ vgroup_normalize_active_vertex()

◆ vgroup_normalize_all()

static bool blender::ed::object::vgroup_normalize_all ( Object * ob,
const bool * vgroup_validmap,
const int vgroup_tot,
const int subset_count,
const bool lock_active,
ReportList * reports )
static

◆ vgroup_nr_vert_add()

static void blender::ed::object::vgroup_nr_vert_add ( Object * ob,
const int def_nr,
const int vertnum,
const float weight,
const int assignmode )
static

◆ vgroup_operator_subset_select_props()

◆ vgroup_parray_alloc()

◆ vgroup_parray_from_weight_array()

void blender::ed::object::vgroup_parray_from_weight_array ( MDeformVert ** dvert_array,
int dvert_tot,
const float * dvert_weights,
int def_nr,
bool remove_zero )

◆ vgroup_parray_mirror_assign()

void blender::ed::object::vgroup_parray_mirror_assign ( Object * ob,
MDeformVert ** dvert_array,
int dvert_tot )

Fill in the pointers for mirror verts (as if all mirror verts were selected too).

similar to vgroup_parray_mirror_sync but only fill in mirror points.

Definition at line 302 of file object_vgroup.cc.

References BKE_editmesh_from_object(), BLI_assert, BMEditMesh::bm, BM_mesh_elem_table_ensure(), BM_VERT, Object::data, ED_mesh_mirror_get_vert(), MEM_freeN(), and vgroup_parray_alloc().

Referenced by vgroup_clean_subset(), and vgroup_quantize_subset().

◆ vgroup_parray_mirror_sync()

void blender::ed::object::vgroup_parray_mirror_sync ( Object * ob,
MDeformVert ** dvert_array,
int dvert_tot,
const bool * vgroup_validmap,
int vgroup_tot )

For use with tools that use vgroup_parray_alloc with use_vert_sel == true. This finds the unselected mirror deform verts and copies the weights to them from the selected.

Note
dvert_array has mirrored weights filled in, in case cleanup operations are needed on both.

Definition at line 257 of file object_vgroup.cc.

References BKE_defvert_mirror_subset(), BKE_editmesh_from_object(), BKE_object_defgroup_flip_map(), BLI_assert, BMEditMesh::bm, BM_mesh_elem_table_ensure(), BM_VERT, Object::data, ED_mesh_mirror_get_vert(), MEM_freeN(), and vgroup_parray_alloc().

Referenced by vgroup_invert_subset(), vgroup_levels_subset(), and vgroup_smooth_subset().

◆ vgroup_parray_remove_zero()

void blender::ed::object::vgroup_parray_remove_zero ( MDeformVert ** dvert_array,
int dvert_tot,
const bool * vgroup_validmap,
int vgroup_tot,
float epsilon,
bool keep_single )

◆ vgroup_parray_to_weight_array()

void blender::ed::object::vgroup_parray_to_weight_array ( const MDeformVert ** dvert_array,
int dvert_tot,
float * dvert_weights,
int def_nr )

Definition at line 460 of file object_vgroup.cc.

References BKE_defvert_find_weight().

Referenced by vgroup_smooth_subset().

◆ vgroup_quantize_subset()

static void blender::ed::object::vgroup_quantize_subset ( Object * ob,
const bool * vgroup_validmap,
const int vgroup_tot,
const int ,
const int steps )
static

◆ vgroup_remove_weight()

static void blender::ed::object::vgroup_remove_weight ( Object * ob,
const int def_nr )
static

◆ vgroup_select_by_name()

void blender::ed::object::vgroup_select_by_name ( Object * ob,
const char * name )

◆ vgroup_select_verts()

◆ vgroup_selected_get()

◆ vgroup_selection_itemf_helper()

◆ vgroup_smooth_subset()

◆ vgroup_sort_bone_hierarchy()

static void blender::ed::object::vgroup_sort_bone_hierarchy ( Object * ob,
ListBase * bonebase )
static

Sorts the weight groups according to the bone hierarchy of the associated armature (similar to how bones are ordered in the Outliner)

Definition at line 3805 of file object_vgroup.cc.

References BKE_modifiers_is_deformed_by_armature(), BKE_object_defgroup_find_name(), BKE_object_defgroup_list_mutable(), BLI_addhead(), BLI_remlink(), bArmature::bonebase, Object::data, LISTBASE_FOREACH_BACKWARD, Node::name, and vgroup_sort_bone_hierarchy().

Referenced by vertex_group_sort_exec(), and vgroup_sort_bone_hierarchy().

◆ vgroup_sort_name()

static int blender::ed::object::vgroup_sort_name ( const void * def_a_ptr,
const void * def_b_ptr )
static

Definition at line 3793 of file object_vgroup.cc.

References BLI_strcasecmp_natural(), and bDeformGroup::name.

Referenced by vertex_group_sort_exec().

◆ vgroup_sync_from_pose()

◆ vgroup_vert_active_mirror()

void blender::ed::object::vgroup_vert_active_mirror ( Object * ob,
int def_nr )

◆ vgroup_vert_add()

◆ vgroup_vert_remove()

void blender::ed::object::vgroup_vert_remove ( Object * ob,
bDeformGroup * dg,
int vertnum )

◆ vgroup_vert_weight()

float blender::ed::object::vgroup_vert_weight ( Object * ob,
bDeformGroup * dg,
int vertnum )

Definition at line 983 of file object_vgroup.cc.

References BKE_object_defgroup_list(), BLI_findindex(), and get_vert_def_nr().

Referenced by heat_bone_weighting().

◆ view_align_update()

static void blender::ed::object::view_align_update ( Main * ,
Scene * ,
PointerRNA * ptr )
static

Definition at line 393 of file object_add.cc.

References ptr, and RNA_struct_idprops_unset().

Referenced by add_generic_props().

◆ visual_transform_apply_exec()

◆ volume_import_exec()

◆ volume_import_invoke()

static int blender::ed::object::volume_import_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ voxel_remesh_exec()

◆ voxel_size_edit_cancel()

◆ voxel_size_edit_draw()

◆ voxel_size_edit_invoke()

static int blender::ed::object::voxel_size_edit_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Definition at line 438 of file object_remesh.cc.

References blender::ed::object::VoxelSizeEditCustomData::active_object, BKE_boundbox_init_from_minmax(), copy_m3_m4(), copy_v3_v3(), CTX_data_active_object(), CTX_wm_region(), CTX_wm_region_view3d(), wmOperator::customdata, Object::data, dot_v2v2(), dot_v3v3(), blender::ed::object::VoxelSizeEditCustomData::draw_handle, ED_region_draw_cb_activate(), ED_region_tag_redraw(), ED_view3d_pixel_size(), ED_view3d_project_v2(), fabsf, blender::ed::object::VoxelSizeEditCustomData::init_mval, blender::ed::object::VoxelSizeEditCustomData::init_voxel_size, invert_m4_m4(), invert_v3(), len_v3v3(), mat4_to_size(), blender::Bounds< T >::max, max_ff(), mid_v3_v3v3(), blender::Bounds< T >::min, mul_m3_v3(), mul_m4_m4_post(), mul_m4_m4_pre(), mul_v3_fl(), mul_v3_m4v3(), normal_tri_v3(), normalize_v2(), normalize_v3(), OPERATOR_RUNNING_MODAL, blender::ed::object::VoxelSizeEditCustomData::preview_plane, REGION_DRAW_POST_VIEW, Object::runtime, scale_m4_fl(), size_to_mat4(), blender::ed::object::VoxelSizeEditCustomData::slow_mode, sub_v2_v2v2(), sub_v3_v3v3(), blender::ed::object::VoxelSizeEditCustomData::text_mat, unit_m4(), BoundBox::vec, RegionView3D::viewinv, blender::ed::object::VoxelSizeEditCustomData::voxel_size, voxel_size_edit_draw(), VOXEL_SIZE_EDIT_MAX_GRIDS_LINES, voxel_size_edit_update_header(), blender::ed::object::VoxelSizeEditCustomData::voxel_size_max, blender::ed::object::VoxelSizeEditCustomData::voxel_size_min, and WM_event_add_modal_handler().

Referenced by OBJECT_OT_voxel_size_edit().

◆ voxel_size_edit_modal()

◆ voxel_size_edit_poll()

static bool blender::ed::object::voxel_size_edit_poll ( bContext * C)
static

Definition at line 607 of file object_remesh.cc.

References CTX_wm_region_view3d(), and object_remesh_poll().

Referenced by OBJECT_OT_voxel_size_edit().

◆ voxel_size_edit_update_header()

static void blender::ed::object::voxel_size_edit_update_header ( wmOperator * op,
bContext * C )
static

◆ voxel_size_parallel_lines_draw()

static void blender::ed::object::voxel_size_parallel_lines_draw ( uint pos3d,
const float initial_co[3],
const float end_co[3],
const float length_co[3],
const float spacing )
static

◆ wm_collection_export_all_exec()

◆ WM_OT_collection_export_all()

◆ write_external_bake_pixels()

static bool blender::ed::object::write_external_bake_pixels ( const char * filepath,
BakePixel pixel_array[],
float * buffer,
const int width,
const int height,
const int margin,
const int margin_type,
ImageFormatData const * im_format,
const bool is_noncolor,
const bool is_tangent_normal,
Mesh const * mesh_eval,
char const * uv_layer,
const float uv_offset[2] )
static

◆ write_internal_bake_pixels()

◆ xform_skip_child_container_create()

XFormObjectSkipChild_Container * blender::ed::object::xform_skip_child_container_create ( )

◆ xform_skip_child_container_item_ensure_from_array()

Variable Documentation

◆ align_options

const EnumPropertyItem blender::ed::object::align_options[]
static
Initial value:
= {
{ALIGN_WORLD, "WORLD", 0, "World", "Align the new object to the world"},
{ALIGN_VIEW, "VIEW", 0, "View", "Align the new object to the view"},
{ALIGN_CURSOR, "CURSOR", 0, "3D Cursor", "Use the 3D cursor orientation for the new object"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 199 of file object_add.cc.

Referenced by add_generic_props().

◆ constraint_owner_items

const EnumPropertyItem blender::ed::object::constraint_owner_items[]
static
Initial value:
= {
"OBJECT",
0,
"Object",
"Edit a constraint on the active object"},
{EDIT_CONSTRAINT_OWNER_BONE, "BONE", 0, "Bone", "Edit a constraint on the active bone"},
{0, nullptr, 0, nullptr, nullptr},
}
#define EDIT_CONSTRAINT_OWNER_BONE
#define EDIT_CONSTRAINT_OWNER_OBJECT

Definition at line 661 of file object_constraint.cc.

Referenced by edit_constraint_properties().

◆ convert_target_items

const EnumPropertyItem blender::ed::object::convert_target_items[]
static

Definition at line 2726 of file object_add.cc.

Referenced by convert_target_itemf(), and OBJECT_OT_convert().

◆ DT_layer_items

const EnumPropertyItem blender::ed::object::DT_layer_items[]
static

◆ field_type_items

const EnumPropertyItem blender::ed::object::field_type_items[]
static
Initial value:
= {
{PFIELD_FORCE, "FORCE", ICON_FORCE_FORCE, "Force", ""},
{PFIELD_WIND, "WIND", ICON_FORCE_WIND, "Wind", ""},
{PFIELD_VORTEX, "VORTEX", ICON_FORCE_VORTEX, "Vortex", ""},
{PFIELD_MAGNET, "MAGNET", ICON_FORCE_MAGNETIC, "Magnetic", ""},
{PFIELD_HARMONIC, "HARMONIC", ICON_FORCE_HARMONIC, "Harmonic", ""},
{PFIELD_CHARGE, "CHARGE", ICON_FORCE_CHARGE, "Charge", ""},
{PFIELD_LENNARDJ, "LENNARDJ", ICON_FORCE_LENNARDJONES, "Lennard-Jones", ""},
{PFIELD_TEXTURE, "TEXTURE", ICON_FORCE_TEXTURE, "Texture", ""},
{PFIELD_GUIDE, "GUIDE", ICON_FORCE_CURVE, "Curve Guide", ""},
{PFIELD_BOID, "BOID", ICON_FORCE_BOID, "Boid", ""},
{PFIELD_TURBULENCE, "TURBULENCE", ICON_FORCE_TURBULENCE, "Turbulence", ""},
{PFIELD_DRAG, "DRAG", ICON_FORCE_DRAG, "Drag", ""},
{PFIELD_FLUIDFLOW, "FLUID", ICON_FORCE_FLUIDFLOW, "Fluid Flow", ""},
{0, nullptr, 0, nullptr, nullptr},
}
@ PFIELD_FLUIDFLOW
@ PFIELD_HARMONIC
@ PFIELD_TURBULENCE
@ PFIELD_LENNARDJ

Definition at line 157 of file object_add.cc.

Referenced by OBJECT_OT_effector_add().

◆ lightprobe_type_items

EnumPropertyItem blender::ed::object::lightprobe_type_items[]
static
Initial value:
= {
"SPHERE",
ICON_LIGHTPROBE_SPHERE,
"Sphere",
"Light probe that captures precise lighting from all directions at a single point in space"},
"PLANE",
ICON_LIGHTPROBE_PLANE,
"Plane",
"Light probe that captures incoming light from a single direction on a plane"},
"VOLUME",
ICON_LIGHTPROBE_VOLUME,
"Volume",
"Light probe that captures low frequency lighting inside a volume"},
{0, nullptr, 0, nullptr, nullptr},
}
@ LIGHTPROBE_TYPE_PLANE
@ LIGHTPROBE_TYPE_VOLUME
@ LIGHTPROBE_TYPE_SPHERE

Definition at line 174 of file object_add.cc.

Referenced by OBJECT_OT_lightprobe_add().

◆ LOG [1/2]

CLG_LogRef blender::ed::object::LOG = {"ed.object.edit"}
static

Definition at line 117 of file object_edit.cc.

Referenced by add_shapekey_layers(), editmode_enter_ex(), and editmode_load_free_ex().

◆ LOG [2/2]

CLG_LogRef blender::ed::object::LOG = {"ed.object"}
static

Definition at line 110 of file object_modifier.cc.

◆ master_collection_menu

MoveToCollectionData* blender::ed::object::master_collection_menu = nullptr
static

Definition at line 2317 of file object_edit.cc.

Referenced by move_to_collection_invoke().

◆ mode_type_items

const EnumPropertyItem blender::ed::object::mode_type_items[]
static
Initial value:
= {
"RATIO",
0,
"Ratio",
"Specify target number of faces relative to the current mesh"},
"EDGE",
0,
"Edge Length",
"Input target edge length in the new mesh"},
{QUADRIFLOW_REMESH_FACES, "FACES", 0, "Faces", "Input target number of faces in the new mesh"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1085 of file object_remesh.cc.

Referenced by OBJECT_OT_quadriflow_remesh().

◆ prop_clear_parent_types

const EnumPropertyItem blender::ed::object::prop_clear_parent_types[]
Initial value:
= {
"CLEAR",
0,
"Clear Parent",
"Completely clear the parenting relationship, including involved modifiers if any"},
"CLEAR_KEEP_TRANSFORM",
0,
"Clear and Keep Transformation",
"As 'Clear Parent', but keep the current visual transformations of the object"},
{CLEAR_PARENT_INVERSE,
"CLEAR_INVERSE",
0,
"Clear Parent Inverse",
"Reset the transform corrections applied to the parenting relationship, does not remove "
"parenting itself"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 313 of file object_relations.cc.

Referenced by OBJECT_OT_parent_clear().

◆ prop_clear_track_types

const EnumPropertyItem blender::ed::object::prop_clear_track_types[]
static
Initial value:
= {
{CLEAR_TRACK, "CLEAR", 0, "Clear Track", ""},
"CLEAR_KEEP_TRANSFORM",
0,
"Clear and Keep Transformation (Clear Track)",
""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1142 of file object_relations.cc.

Referenced by OBJECT_OT_track_clear().

◆ prop_make_parent_types

const EnumPropertyItem blender::ed::object::prop_make_parent_types[]
Initial value:
= {
{PAR_OBJECT, "OBJECT", 0, "Object", ""},
{PAR_ARMATURE, "ARMATURE", 0, "Armature Deform", ""},
{PAR_ARMATURE_NAME, "ARMATURE_NAME", 0, " With Empty Groups", ""},
{PAR_ARMATURE_AUTO, "ARMATURE_AUTO", 0, " With Automatic Weights", ""},
{PAR_ARMATURE_ENVELOPE, "ARMATURE_ENVELOPE", 0, " With Envelope Weights", ""},
{PAR_BONE, "BONE", 0, "Bone", ""},
{PAR_BONE_RELATIVE, "BONE_RELATIVE", 0, "Bone Relative", ""},
{PAR_CURVE, "CURVE", 0, "Curve Deform", ""},
{PAR_FOLLOW, "FOLLOW", 0, "Follow Path", ""},
{PAR_PATH_CONST, "PATH_CONST", 0, "Path Constraint", ""},
{PAR_LATTICE, "LATTICE", 0, "Lattice Deform", ""},
{PAR_VERTEX, "VERTEX", 0, "Vertex", ""},
{PAR_VERTEX_TRI, "VERTEX_TRI", 0, "Vertex (Triangle)", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 481 of file object_relations.cc.

Referenced by OBJECT_OT_parent_set().

◆ prop_make_track_types

const EnumPropertyItem blender::ed::object::prop_make_track_types[]
static
Initial value:
= {
{CREATE_TRACK_DAMPTRACK, "DAMPTRACK", 0, "Damped Track Constraint", ""},
{CREATE_TRACK_TRACKTO, "TRACKTO", 0, "Track to Constraint", ""},
{CREATE_TRACK_LOCKTRACK, "LOCKTRACK", 0, "Lock Track Constraint", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1224 of file object_relations.cc.

Referenced by OBJECT_OT_track_set().

◆ prop_multires_subdivide_mode_type

EnumPropertyItem blender::ed::object::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
@ MULTIRES_SUBDIVIDE_CATMULL_CLARK
@ MULTIRES_SUBDIVIDE_SIMPLE

Definition at line 97 of file object_multires_modifier.cc.

Referenced by OBJECT_OT_multires_subdivide().

◆ prop_select_grouped_types

const EnumPropertyItem blender::ed::object::prop_select_grouped_types[]
static
Initial value:
= {
{OBJECT_GRPSEL_CHILDREN_RECURSIVE, "CHILDREN_RECURSIVE", 0, "Children", ""},
{OBJECT_GRPSEL_CHILDREN, "CHILDREN", 0, "Immediate Children", ""},
{OBJECT_GRPSEL_PARENT, "PARENT", 0, "Parent", ""},
{OBJECT_GRPSEL_SIBLINGS, "SIBLINGS", 0, "Siblings", "Shared parent"},
{OBJECT_GRPSEL_TYPE, "TYPE", 0, "Type", "Shared object type"},
{OBJECT_GRPSEL_COLLECTION, "COLLECTION", 0, "Collection", "Shared collection"},
{OBJECT_GRPSEL_HOOK, "HOOK", 0, "Hook", ""},
{OBJECT_GRPSEL_PASS, "PASS", 0, "Pass", "Render pass index"},
{OBJECT_GRPSEL_COLOR, "COLOR", 0, "Color", "Object color"},
"KEYINGSET",
0,
"Keying Set",
"Objects included in active Keying Set"},
{OBJECT_GRPSEL_LIGHT_TYPE, "LIGHT_TYPE", 0, "Light Type", "Matching light types"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 731 of file object_select.cc.

Referenced by OBJECT_OT_select_grouped().

◆ prop_select_linked_types

const EnumPropertyItem blender::ed::object::prop_select_linked_types[]
static
Initial value:
= {
{OBJECT_SELECT_LINKED_OBDATA, "OBDATA", 0, "Object Data", ""},
{OBJECT_SELECT_LINKED_MATERIAL, "MATERIAL", 0, "Material", ""},
{OBJECT_SELECT_LINKED_DUPGROUP, "DUPGROUP", 0, "Instanced Collection", ""},
{OBJECT_SELECT_LINKED_PARTICLE, "PARTICLE", 0, "Particle System", ""},
{OBJECT_SELECT_LINKED_LIBRARY, "LIBRARY", 0, "Library", ""},
{OBJECT_SELECT_LINKED_LIBRARY_OBDATA, "LIBRARY_OBDATA", 0, "Library (Object Data)", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 444 of file object_select.cc.

Referenced by OBJECT_OT_select_linked().

◆ rna_enum_gpencil_add_stroke_depth_order_items

EnumPropertyItem blender::ed::object::rna_enum_gpencil_add_stroke_depth_order_items[]
static
Initial value:
= {
"2D",
0,
"2D Layers",
"Display strokes using grease pencil layers to define order"},
{GP_DRAWMODE_3D, "3D", 0, "3D Location", "Display strokes using real 3D position in 3D space"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1355 of file object_add.cc.

Referenced by OBJECT_OT_grease_pencil_add().

◆ vgroup_lock_actions

const EnumPropertyItem blender::ed::object::vgroup_lock_actions[]
static
Initial value:
= {
"TOGGLE",
0,
"Toggle",
"Unlock all vertex groups if there is at least one locked group, lock all in other case"},
{VGROUP_LOCK, "LOCK", 0, "Lock", "Lock all vertex groups"},
{VGROUP_UNLOCK, "UNLOCK", 0, "Unlock", "Unlock all vertex groups"},
{VGROUP_INVERT, "INVERT", 0, "Invert", "Invert the lock state of all vertex groups"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1353 of file object_vgroup.cc.

Referenced by OBJECT_OT_vertex_group_lock().

◆ vgroup_lock_mask

const EnumPropertyItem blender::ed::object::vgroup_lock_mask[]
static
Initial value:
= {
{VGROUP_MASK_ALL, "ALL", 0, "All", "Apply action to all vertex groups"},
{VGROUP_MASK_SELECTED, "SELECTED", 0, "Selected", "Apply to selected vertex groups"},
{VGROUP_MASK_UNSELECTED, "UNSELECTED", 0, "Unselected", "Apply to unselected vertex groups"},
{VGROUP_MASK_INVERT_UNSELECTED,
"INVERT_UNSELECTED",
0,
"Invert Unselected",
"Apply the opposite of Lock/Unlock to unselected vertex groups"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1372 of file object_vgroup.cc.

Referenced by OBJECT_OT_vertex_group_lock().

◆ WT_vertex_group_select_item

const EnumPropertyItem blender::ed::object::WT_vertex_group_select_item[]
static
Initial value:
= {
{WT_VGROUP_ACTIVE, "ACTIVE", 0, "Active Group", "The active Vertex Group"},
"BONE_SELECT",
0,
"Selected Pose Bones",
"All Vertex Groups assigned to Selection"},
"BONE_DEFORM",
0,
"Deform Pose Bones",
"All Vertex Groups assigned to Deform Bones"},
{WT_VGROUP_ALL, "ALL", 0, "All Groups", "All Vertex Groups"},
{0, nullptr, 0, nullptr, nullptr},
}
@ WT_VGROUP_BONE_SELECT
@ WT_VGROUP_ALL
@ WT_VGROUP_ACTIVE
@ WT_VGROUP_BONE_DEFORM

Definition at line 696 of file object_vgroup.cc.

Referenced by vgroup_selection_itemf_helper().