Blender V5.0
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_utf8.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.hh"
#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_interface_layout.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
#define CURVE_VFONT_SET(vfont_member)

Functions

Make Vertex Parent Operator
static bool blender::ed::object::vertex_parent_set_poll (bContext *C)
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus blender::ed::object::make_override_library_exec (bContext *C, wmOperator *op)
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus blender::ed::object::make_single_user_exec (bContext *C, wmOperator *op)
static wmOperatorStatus 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)
static void blender::ed::object::parent_clear_data (Object *ob)
void blender::ed::object::parent_clear (Object *ob, int type)
static wmOperatorStatus 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)
static bool blender::ed::object::parent_set_with_depsgraph (ReportList *reports, const bContext *C, Scene *scene, Depsgraph *depsgraph, Object *const ob, Object *const par, Object *const parent_eval, int partype, const bool xmirror, const bool keep_transform, const int vert_par[3])
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 wmOperatorStatus blender::ed::object::parent_set_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::object::parent_set_invoke_menu (bContext *C, wmOperatorType *ot)
static wmOperatorStatus 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

◆ CURVE_VFONT_SET

#define CURVE_VFONT_SET ( vfont_member)
Value:
{ \
if (cu_dst->vfont_member) { \
id_us_min(&cu_dst->vfont_member->id); \
} \
cu_dst->vfont_member = cu_src->vfont_member; \
id_us_plus((ID *)cu_dst->vfont_member); \
} \
((void)0)
Definition DNA_ID.h:414

Referenced by blender::ed::object::make_links_data_exec().

◆ INDEX_UNSET

#define INDEX_UNSET   -1