Blender V4.3
object_constraint.cc File Reference
#include <cstdio>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_dynstr.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_constraint_types.h"
#include "DNA_curve_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_text_types.h"
#include "BIK_api.h"
#include "BKE_action.hh"
#include "BKE_armature.hh"
#include "BKE_constraint.h"
#include "BKE_context.hh"
#include "BKE_fcurve.hh"
#include "BKE_layer.hh"
#include "BKE_main.hh"
#include "BKE_object.hh"
#include "BKE_report.hh"
#include "BKE_tracking.h"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_build.hh"
#include "DEG_depsgraph_query.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "RNA_path.hh"
#include "RNA_prototypes.hh"
#include "ED_object.hh"
#include "ED_screen.hh"
#include "ANIM_action.hh"
#include "ANIM_action_legacy.hh"
#include "ANIM_animdata.hh"
#include "UI_interface.hh"
#include "UI_resources.hh"
#include "object_intern.hh"

Go to the source code of this file.

Namespaces

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

Functions

Constraint Data Accessors
ListBaseblender::ed::object::constraint_active_list (Object *ob)
 
ListBaseblender::ed::object::pose_constraint_list (const bContext *C)
 
ListBaseblender::ed::object::constraint_list_from_constraint (Object *ob, bConstraint *con, bPoseChannel **r_pchan)
 
bConstraintblender::ed::object::constraint_active_get (Object *ob)
 
Add Constraint Utilities
static void blender::ed::object::set_constraint_nth_target (bConstraint *con, Object *target, const char subtarget[], int index)
 
Constraint Sanity Testing
static void blender::ed::object::test_constraint (Main *bmain, Object *owner, bPoseChannel *pchan, bConstraint *con, int type)
 
static int blender::ed::object::constraint_type_get (Object *owner, bPoseChannel *pchan)
 
static void blender::ed::object::test_constraints (Main *bmain, Object *ob, bPoseChannel *pchan)
 
void blender::ed::object::object_test_constraints (Main *bmain, Object *ob)
 
static void blender::ed::object::object_test_constraint (Main *bmain, Object *ob, bConstraint *con)
 
Stretch-To/Limit-Distance Constraint (Reset Original Length Operator)

For Stretch-To & Limit-Distance constraints.

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

For Limit-Distance constraint.

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

Remove IK constraints from selected bones.

static int blender::ed::object::pose_ik_clear_exec (bContext *C, wmOperator *)
 
void blender::ed::object::POSE_OT_ik_clear (wmOperatorType *ot)
 

Generic Functions for Operators Using Constraint Names and Data Context

#define EDIT_CONSTRAINT_OWNER_OBJECT   0
 
#define EDIT_CONSTRAINT_OWNER_BONE   1
 
static const EnumPropertyItem blender::ed::object::constraint_owner_items []
 
static bool blender::ed::object::edit_constraint_poll_generic (bContext *C, StructRNA *rna_type, const bool is_liboverride_allowed)
 
static bool blender::ed::object::edit_constraint_poll (bContext *C)
 
static bool blender::ed::object::edit_constraint_liboverride_allowed_poll (bContext *C)
 
static void blender::ed::object::edit_constraint_properties (wmOperatorType *ot)
 
static void blender::ed::object::edit_constraint_report_property (wmOperatorType *ot)
 
static bool blender::ed::object::edit_constraint_invoke_properties (bContext *C, wmOperator *op, const wmEvent *event, int *r_retval)
 
static bConstraintblender::ed::object::edit_constraint_property_get (bContext *C, wmOperator *op, Object *ob, int type)
 

Macro Definition Documentation

◆ EDIT_CONSTRAINT_OWNER_BONE

◆ EDIT_CONSTRAINT_OWNER_OBJECT

#define EDIT_CONSTRAINT_OWNER_OBJECT   0