Blender V4.3
object_relations.cc File Reference
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <fmt/format.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
#include "DNA_collection_types.h"
#include "DNA_constraint_types.h"
#include "DNA_lattice_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
#include "DNA_vfont_types.h"
#include "BLI_kdtree.h"
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLI_vector_set.hh"
#include "BLT_translation.hh"
#include "BKE_action.hh"
#include "BKE_anim_data.hh"
#include "BKE_armature.hh"
#include "BKE_collection.hh"
#include "BKE_constraint.h"
#include "BKE_context.hh"
#include "BKE_curve.hh"
#include "BKE_displist.h"
#include "BKE_editmesh.hh"
#include "BKE_fcurve.hh"
#include "BKE_idtype.hh"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_override.hh"
#include "BKE_lib_query.hh"
#include "BKE_lib_remap.hh"
#include "BKE_main.hh"
#include "BKE_material.h"
#include "BKE_mesh_types.hh"
#include "BKE_modifier.hh"
#include "BKE_node.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_interface.hh"
#include "BKE_object.hh"
#include "BKE_object_types.hh"
#include "BKE_report.hh"
#include "BKE_scene.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_build.hh"
#include "DEG_depsgraph_query.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_interface.hh"
#include "UI_resources.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "ED_armature.hh"
#include "ED_curve.hh"
#include "ED_gpencil_legacy.hh"
#include "ED_grease_pencil.hh"
#include "ED_mesh.hh"
#include "ED_object.hh"
#include "ED_screen.hh"
#include "ED_view3d.hh"
#include "ANIM_action.hh"
#include "ANIM_animdata.hh"
#include "MOD_nodes.hh"
#include "object_intern.hh"

Go to the source code of this file.

Classes

struct  blender::ed::object::ParentingContext
 

Namespaces

namespace  blender
 
namespace  blender::ed
 
namespace  blender::ed::object
 

Macros

#define INDEX_UNSET   -1
 

Functions

Make Vertex Parent Operator
static bool blender::ed::object::vertex_parent_set_poll (bContext *C)
 
static int blender::ed::object::vertex_parent_set_exec (bContext *C, wmOperator *op)
 
void blender::ed::object::OBJECT_OT_vertex_parent_set (wmOperatorType *ot)
 
Make Parent Without Inverse Operator
static int blender::ed::object::parent_noinv_set_exec (bContext *C, wmOperator *op)
 
void blender::ed::object::OBJECT_OT_parent_no_inverse_set (wmOperatorType *ot)
 
Make Library Override Operator
static bool blender::ed::object::make_override_library_object_overridable_check (Main *bmain, Object *object)
 
static int blender::ed::object::make_override_library_exec (bContext *C, wmOperator *op)
 
static int blender::ed::object::make_override_library_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static bool blender::ed::object::make_override_library_poll (bContext *C)
 
void blender::ed::object::OBJECT_OT_make_override_library (wmOperatorType *ot)
 
Reset Library Override Operator
static bool blender::ed::object::reset_clear_override_library_poll (bContext *C)
 
static int blender::ed::object::reset_override_library_exec (bContext *C, wmOperator *)
 
void blender::ed::object::OBJECT_OT_reset_override_library (wmOperatorType *ot)
 
Clear Library Override Operator
static int blender::ed::object::clear_override_library_exec (bContext *C, wmOperator *)
 
void blender::ed::object::OBJECT_OT_clear_override_library (wmOperatorType *ot)
 
Drop Named Material on Object Operator
std::string blender::ed::object::drop_named_material_tooltip (bContext *C, const char *name, const int mval[2])
 
static int blender::ed::object::drop_named_material_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::object::OBJECT_OT_drop_named_material (wmOperatorType *ot)
 
Drop Geometry Nodes on Object Operator
std::string blender::ed::object::drop_geometry_nodes_tooltip (bContext *C, PointerRNA *properties, const int mval[2])
 
static bool blender::ed::object::check_geometry_node_group_sockets (wmOperator *op, const bNodeTree *tree)
 
static int blender::ed::object::drop_geometry_nodes_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::object::OBJECT_OT_drop_geometry_nodes (wmOperatorType *ot)
 
Unlink Object Operator
static int blender::ed::object::object_unlink_data_exec (bContext *C, wmOperator *op)
 
void blender::ed::object::OBJECT_OT_unlink_data (wmOperatorType *ot)
 

Clear Track Operator

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

Make Track Operator

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

Link to Scene Operator

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

Make Local Operator

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

Make Single User Operator

enum  { blender::ed::object::MAKE_SINGLE_USER_ALL = 1 , blender::ed::object::MAKE_SINGLE_USER_SELECTED = 2 }
 
static bool blender::ed::object::single_data_needs_duplication (ID *id)
 
static void blender::ed::object::libblock_relink_collection (Main *bmain, Collection *collection, const bool do_collection)
 
static Collectionblender::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 void blender::ed::object::single_object_users (Main *bmain, Scene *scene, View3D *v3d, const int flag, const bool copy_collections)
 
void blender::ed::object::object_single_user_make (Main *bmain, Scene *scene, Object *ob)
 
static void blender::ed::object::single_obdata_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
void blender::ed::object::single_obdata_user_make (Main *bmain, Scene *scene, Object *ob)
 
static void blender::ed::object::single_object_action_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static void blender::ed::object::single_objectdata_action_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static void blender::ed::object::single_mat_users (Main *bmain, Scene *scene, ViewLayer *view_layer, View3D *v3d, const int flag)
 
static int blender::ed::object::make_single_user_exec (bContext *C, wmOperator *op)
 
static int blender::ed::object::make_single_user_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::object::OBJECT_OT_make_single_user (wmOperatorType *ot)
 

Clear Parent Operator

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

Make Parent Operator

const EnumPropertyItem blender::ed::object::prop_make_parent_types []
 
void blender::ed::object::parent_set (Object *ob, Object *parent, int type, const char *substr)
 
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])
 
static void blender::ed::object::parent_set_vert_find (KDTree_3d *tree, Object *child, int vert_par[3], bool is_tri)
 
static bool blender::ed::object::parent_set_nonvertex_parent (bContext *C, ParentingContext *parenting_context)
 
static bool blender::ed::object::parent_set_vertex_parent_with_kdtree (bContext *C, ParentingContext *parenting_context, KDTree_3d *tree)
 
static bool blender::ed::object::parent_set_vertex_parent (bContext *C, ParentingContext *parenting_context)
 
static int blender::ed::object::parent_set_exec (bContext *C, wmOperator *op)
 
static int blender::ed::object::parent_set_invoke_menu (bContext *C, wmOperatorType *ot)
 
static int blender::ed::object::parent_set_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static bool blender::ed::object::parent_set_poll_property (const bContext *, wmOperator *op, const PropertyRNA *prop)
 
void blender::ed::object::OBJECT_OT_parent_set (wmOperatorType *ot)
 

Macro Definition Documentation

◆ INDEX_UNSET

#define INDEX_UNSET   -1