Blender  V2.93
Classes | Macros | Typedefs | Functions | Variables
constraint.c File Reference
#include <float.h>
#include <math.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_kdopbvh.h"
#include "BLI_math.h"
#include "BLI_string_utils.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "DNA_action_types.h"
#include "DNA_armature_types.h"
#include "DNA_cachefile_types.h"
#include "DNA_constraint_types.h"
#include "DNA_curve_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "DNA_lattice_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_scene_types.h"
#include "DNA_tracking_types.h"
#include "BKE_action.h"
#include "BKE_anim_path.h"
#include "BKE_animsys.h"
#include "BKE_armature.h"
#include "BKE_bvhutils.h"
#include "BKE_cachefile.h"
#include "BKE_camera.h"
#include "BKE_constraint.h"
#include "BKE_curve.h"
#include "BKE_deform.h"
#include "BKE_displist.h"
#include "BKE_editmesh.h"
#include "BKE_fcurve_driver.h"
#include "BKE_global.h"
#include "BKE_idprop.h"
#include "BKE_lib_id.h"
#include "BKE_mesh_runtime.h"
#include "BKE_movieclip.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "BKE_shrinkwrap.h"
#include "BKE_tracking.h"
#include "BIK_api.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "BLO_read_write.h"
#include "CLG_log.h"

Go to the source code of this file.

Classes

struct  FollowTrackContext
 
struct  tConstraintLinkData
 

Macros

#define DNA_DEPRECATED_ALLOW
 
#define VALID_CONS_TARGET(ct)   ((ct) && (ct->tar))
 
#define SINGLETARGET_GET_TARS(con, datatar, datasubtarget, ct, list)
 
#define SINGLETARGETNS_GET_TARS(con, datatar, ct, list)
 
#define SINGLETARGET_FLUSH_TARS(con, datatar, datasubtarget, ct, list, no_copy)
 
#define SINGLETARGETNS_FLUSH_TARS(con, datatar, ct, list, no_copy)
 

Typedefs

typedef struct FollowTrackContext FollowTrackContext
 
typedef struct tConstraintLinkData tConstraintLinkData
 

Functions

static void damptrack_do_transform (float matrix[4][4], const float tarvec[3], int track_axis)
 
static bConstraintconstraint_find_original (Object *ob, bPoseChannel *pchan, bConstraint *con, Object **r_orig_ob)
 
static bConstraintconstraint_find_original_for_update (bConstraintOb *cob, bConstraint *con)
 
void BKE_constraint_unique_name (bConstraint *con, ListBase *list)
 
bConstraintObBKE_constraints_make_evalob (Depsgraph *depsgraph, Scene *scene, Object *ob, void *subdata, short datatype)
 
void BKE_constraints_clear_evalob (bConstraintOb *cob)
 
void BKE_constraint_mat_convertspace (Object *ob, bPoseChannel *pchan, bConstraintOb *cob, float mat[4][4], short from, short to, const bool keep_scale)
 
static void contarget_get_mesh_mat (Object *ob, const char *substring, float mat[4][4])
 
static void contarget_get_lattice_mat (Object *ob, const char *substring, float mat[4][4])
 
static void constraint_target_to_mat4 (Object *ob, const char *substring, bConstraintOb *cob, float mat[4][4], short from, short to, short flag, float headtail)
 
static void default_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
 
static void default_get_tarmat_full_bbone (struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
 
static void custom_space_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int get_space_tar (bConstraint *con, ListBase *list)
 
static void flush_space_tar (bConstraint *con, ListBase *list, bool no_copy)
 
static void childof_new_data (void *cdata)
 
static void childof_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int childof_get_tars (bConstraint *con, ListBase *list)
 
static void childof_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void childof_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void trackto_new_data (void *cdata)
 
static void trackto_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int trackto_get_tars (bConstraint *con, ListBase *list)
 
static void trackto_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static int basis_cross (int n, int m)
 
static void vectomat (const float vec[3], const float target_up[3], short axis, short upflag, short flags, float m[3][3])
 
static void trackto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void kinematic_new_data (void *cdata)
 
static void kinematic_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int kinematic_get_tars (bConstraint *con, ListBase *list)
 
static void kinematic_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void kinematic_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
 
static void followpath_new_data (void *cdata)
 
static void followpath_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int followpath_get_tars (bConstraint *con, ListBase *list)
 
static void followpath_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void followpath_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
 
static void followpath_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void loclimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void rotlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void sizelimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void loclike_new_data (void *cdata)
 
static void loclike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int loclike_get_tars (bConstraint *con, ListBase *list)
 
static void loclike_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void loclike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void rotlike_new_data (void *cdata)
 
static void rotlike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int rotlike_get_tars (bConstraint *con, ListBase *list)
 
static void rotlike_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void rotlike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void sizelike_new_data (void *cdata)
 
static void sizelike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int sizelike_get_tars (bConstraint *con, ListBase *list)
 
static void sizelike_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void sizelike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void translike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int translike_get_tars (bConstraint *con, ListBase *list)
 
static void translike_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void translike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void samevolume_new_data (void *cdata)
 
static void samevolume_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void pycon_free (bConstraint *con)
 
static void pycon_copy (bConstraint *con, bConstraint *srccon)
 
static void pycon_new_data (void *cdata)
 
static int pycon_get_tars (bConstraint *con, ListBase *list)
 
static void pycon_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static void pycon_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
 
static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void armdef_free (bConstraint *con)
 
static void armdef_copy (bConstraint *con, bConstraint *srccon)
 
static int armdef_get_tars (bConstraint *con, ListBase *list)
 
static void armdef_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static void armdef_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *UNUSED(con), bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
 
static void armdef_accumulate_matrix (const float obmat[4][4], const float iobmat[4][4], const float basemat[4][4], const float bonemat[4][4], float weight, float r_sum_mat[4][4], DualQuat *r_sum_dq)
 
static void armdef_accumulate_bone (bConstraintTarget *ct, bPoseChannel *pchan, const float wco[3], bool force_envelope, float *r_totweight, float r_sum_mat[4][4], DualQuat *r_sum_dq)
 
static void armdef_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void actcon_new_data (void *cdata)
 
static void actcon_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int actcon_get_tars (bConstraint *con, ListBase *list)
 
static void actcon_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void actcon_get_tarmat (struct Depsgraph *depsgraph, bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
 
static void actcon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void locktrack_new_data (void *cdata)
 
static void locktrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int locktrack_get_tars (bConstraint *con, ListBase *list)
 
static void locktrack_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void locktrack_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void distlimit_new_data (void *cdata)
 
static void distlimit_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int distlimit_get_tars (bConstraint *con, ListBase *list)
 
static void distlimit_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void stretchto_new_data (void *cdata)
 
static void stretchto_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int stretchto_get_tars (bConstraint *con, ListBase *list)
 
static void stretchto_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void stretchto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void minmax_new_data (void *cdata)
 
static void minmax_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int minmax_get_tars (bConstraint *con, ListBase *list)
 
static void minmax_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void minmax_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void clampto_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int clampto_get_tars (bConstraint *con, ListBase *list)
 
static void clampto_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void clampto_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *UNUSED(con), bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
 
static void clampto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void transform_new_data (void *cdata)
 
static void transform_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int transform_get_tars (bConstraint *con, ListBase *list)
 
static void transform_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void transform_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void shrinkwrap_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static void shrinkwrap_new_data (void *cdata)
 
static int shrinkwrap_get_tars (bConstraint *con, ListBase *list)
 
static void shrinkwrap_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void shrinkwrap_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
 
static void shrinkwrap_evaluate (bConstraint *UNUSED(con), bConstraintOb *cob, ListBase *targets)
 
static void damptrack_new_data (void *cdata)
 
static void damptrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int damptrack_get_tars (bConstraint *con, ListBase *list)
 
static void damptrack_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void damptrack_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void splineik_free (bConstraint *con)
 
static void splineik_copy (bConstraint *con, bConstraint *srccon)
 
static void splineik_new_data (void *cdata)
 
static void splineik_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int splineik_get_tars (bConstraint *con, ListBase *list)
 
static void splineik_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void splineik_get_tarmat (struct Depsgraph *UNUSED(depsgraph), bConstraint *UNUSED(con), bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
 
static void pivotcon_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static int pivotcon_get_tars (bConstraint *con, ListBase *list)
 
static void pivotcon_flush_tars (bConstraint *con, ListBase *list, bool no_copy)
 
static void pivotcon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void followtrack_new_data (void *cdata)
 
static void followtrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static MovieClipfollowtrack_tracking_clip_get (bConstraint *con, bConstraintOb *cob)
 
static MovieTrackingObjectfollowtrack_tracking_object_get (bConstraint *con, bConstraintOb *cob)
 
static Objectfollowtrack_camera_object_get (bConstraint *con, bConstraintOb *cob)
 
static bool followtrack_context_init (FollowTrackContext *context, bConstraint *con, bConstraintOb *cob)
 
static void followtrack_evaluate_using_3d_position_object (FollowTrackContext *context, bConstraintOb *cob)
 
static void followtrack_evaluate_using_3d_position_camera (FollowTrackContext *context, bConstraintOb *cob)
 
static void followtrack_evaluate_using_3d_position (FollowTrackContext *context, bConstraintOb *cob)
 
static void followtrack_undistort_if_needed (FollowTrackContext *context, const int clip_width, const int clip_height, float marker_position[2])
 
static void followtrack_fit_frame (FollowTrackContext *context, const int clip_width, const int clip_height, float marker_position[2])
 
static float followtrack_distance_from_viewplane_get (FollowTrackContext *context, bConstraintOb *cob)
 
static void followtrack_project_to_depth_object_if_needed (FollowTrackContext *context, bConstraintOb *cob)
 
static void followtrack_evaluate_using_2d_position (FollowTrackContext *context, bConstraintOb *cob)
 
static void followtrack_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void camerasolver_new_data (void *cdata)
 
static void camerasolver_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static void camerasolver_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void objectsolver_new_data (void *cdata)
 
static void objectsolver_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static void objectsolver_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
 
static void transformcache_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
 
static void transformcache_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
 
static void transformcache_copy (bConstraint *con, bConstraint *srccon)
 
static void transformcache_free (bConstraint *con)
 
static void transformcache_new_data (void *cdata)
 
static void constraints_init_typeinfo (void)
 
const bConstraintTypeInfoBKE_constraint_typeinfo_from_type (int type)
 
const bConstraintTypeInfoBKE_constraint_typeinfo_get (bConstraint *con)
 
static void con_unlink_refs_cb (bConstraint *UNUSED(con), ID **idpoin, bool is_reference, void *UNUSED(userData))
 
void BKE_constraint_free_data_ex (bConstraint *con, bool do_id_user)
 
void BKE_constraint_free_data (bConstraint *con)
 
void BKE_constraints_free_ex (ListBase *list, bool do_id_user)
 
void BKE_constraints_free (ListBase *list)
 
bool BKE_constraint_remove (ListBase *list, bConstraint *con)
 
bool BKE_constraint_remove_ex (ListBase *list, Object *ob, bConstraint *con, bool clear_dep)
 
void BKE_constraint_panel_expand (bConstraint *con)
 
static bConstraintadd_new_constraint_internal (const char *name, short type)
 
static void add_new_constraint_to_list (Object *ob, bPoseChannel *pchan, bConstraint *con)
 
static bConstraintadd_new_constraint (Object *ob, bPoseChannel *pchan, const char *name, short type)
 
bool BKE_constraint_target_uses_bbone (struct bConstraint *con, struct bConstraintTarget *UNUSED(ct))
 
bConstraintBKE_constraint_add_for_pose (Object *ob, bPoseChannel *pchan, const char *name, short type)
 
bConstraintBKE_constraint_add_for_object (Object *ob, const char *name, short type)
 
void BKE_constraints_id_loop (ListBase *conlist, ConstraintIDFunc func, void *userdata)
 
static void con_extern_cb (bConstraint *UNUSED(con), ID **idpoin, bool UNUSED(is_reference), void *UNUSED(userData))
 
static void con_fix_copied_refs_cb (bConstraint *UNUSED(con), ID **idpoin, bool is_reference, void *UNUSED(userData))
 
static void constraint_copy_data_ex (bConstraint *dst, bConstraint *src, const int flag, const bool do_extern)
 
bConstraintBKE_constraint_duplicate_ex (bConstraint *src, const int flag, const bool do_extern)
 
bConstraintBKE_constraint_copy_for_pose (Object *ob, bPoseChannel *pchan, bConstraint *src)
 
bConstraintBKE_constraint_copy_for_object (Object *ob, bConstraint *src)
 
void BKE_constraints_copy_ex (ListBase *dst, const ListBase *src, const int flag, bool do_extern)
 
void BKE_constraints_copy (ListBase *dst, const ListBase *src, bool do_extern)
 
bConstraintBKE_constraints_find_name (ListBase *list, const char *name)
 
bConstraintBKE_constraints_active_get (ListBase *list)
 
void BKE_constraints_active_set (ListBase *list, bConstraint *con)
 
static bConstraintconstraint_list_find_from_target (ListBase *constraints, bConstraintTarget *tgt)
 
bConstraintBKE_constraint_find_from_target (Object *ob, bConstraintTarget *tgt, bPoseChannel **r_pchan)
 
bool BKE_constraint_is_nonlocal_in_liboverride (const Object *ob, const bConstraint *con)
 
void BKE_constraints_proxylocal_extract (ListBase *dst, ListBase *src)
 
bool BKE_constraints_proxylocked_owner (Object *ob, bPoseChannel *pchan)
 
void BKE_constraint_target_matrix_get (struct Depsgraph *depsgraph, Scene *scene, bConstraint *con, int index, short ownertype, void *ownerdata, float mat[4][4], float ctime)
 
void BKE_constraint_targets_for_solving_get (struct Depsgraph *depsgraph, bConstraint *con, bConstraintOb *cob, ListBase *targets, float ctime)
 
void BKE_constraint_custom_object_space_get (float r_mat[4][4], bConstraint *con)
 
void BKE_constraints_solve (struct Depsgraph *depsgraph, ListBase *conlist, bConstraintOb *cob, float ctime)
 
void BKE_constraint_blend_write (BlendWriter *writer, ListBase *conlist)
 
void BKE_constraint_blend_read_data (BlendDataReader *reader, ListBase *lb)
 
static void lib_link_constraint_cb (bConstraint *UNUSED(con), ID **idpoin, bool UNUSED(is_reference), void *userdata)
 
void BKE_constraint_blend_read_lib (BlendLibReader *reader, ID *id, ListBase *conlist)
 
static void expand_constraint_cb (bConstraint *UNUSED(con), ID **idpoin, bool UNUSED(is_reference), void *userdata)
 
void BKE_constraint_blend_read_expand (BlendExpander *expander, ListBase *lb)
 

Variables

static CLG_LogRef LOG = {"bke.constraint"}
 
static bConstraintTypeInfo CTI_CHILDOF
 
static bConstraintTypeInfo CTI_TRACKTO
 
static bConstraintTypeInfo CTI_KINEMATIC
 
static bConstraintTypeInfo CTI_FOLLOWPATH
 
static bConstraintTypeInfo CTI_LOCLIMIT
 
static bConstraintTypeInfo CTI_ROTLIMIT
 
static bConstraintTypeInfo CTI_SIZELIMIT
 
static bConstraintTypeInfo CTI_LOCLIKE
 
static bConstraintTypeInfo CTI_ROTLIKE
 
static bConstraintTypeInfo CTI_SIZELIKE
 
static bConstraintTypeInfo CTI_TRANSLIKE
 
static bConstraintTypeInfo CTI_SAMEVOL
 
static bConstraintTypeInfo CTI_PYTHON
 
static bConstraintTypeInfo CTI_ARMATURE
 
static bConstraintTypeInfo CTI_ACTION
 
static bConstraintTypeInfo CTI_LOCKTRACK
 
static bConstraintTypeInfo CTI_DISTLIMIT
 
static bConstraintTypeInfo CTI_STRETCHTO
 
static bConstraintTypeInfo CTI_MINMAX
 
static bConstraintTypeInfo CTI_CLAMPTO
 
static bConstraintTypeInfo CTI_TRANSFORM
 
static bConstraintTypeInfo CTI_SHRINKWRAP
 
static const float track_dir_vecs [6][3]
 
static bConstraintTypeInfo CTI_DAMPTRACK
 
static bConstraintTypeInfo CTI_SPLINEIK
 
static bConstraintTypeInfo CTI_PIVOT
 
static bConstraintTypeInfo CTI_FOLLOWTRACK
 
static bConstraintTypeInfo CTI_CAMERASOLVER
 
static bConstraintTypeInfo CTI_OBJECTSOLVER
 
static bConstraintTypeInfo CTI_TRANSFORM_CACHE
 
static bConstraintTypeInfoconstraintsTypeInfo [NUM_CONSTRAINT_TYPES]
 
static short CTI_INIT = 1
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 25 of file constraint.c.

◆ SINGLETARGET_FLUSH_TARS

#define SINGLETARGET_FLUSH_TARS (   con,
  datatar,
  datasubtarget,
  ct,
  list,
  no_copy 
)
Value:
{ \
if (ct) { \
bConstraintTarget *ctn = ct->next; \
if (no_copy == 0) { \
datatar = ct->tar; \
BLI_strncpy(datasubtarget, ct->subtarget, sizeof(datasubtarget)); \
con->tarspace = (char)ct->space; \
} \
BLI_freelinkN(list, ct); \
ct = ctn; \
} \
} \
(void)0
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
Definition: listbase.c:281

Definition at line 874 of file constraint.c.

◆ SINGLETARGET_GET_TARS

#define SINGLETARGET_GET_TARS (   con,
  datatar,
  datasubtarget,
  ct,
  list 
)
Value:
{ \
ct = MEM_callocN(sizeof(bConstraintTarget), "tempConstraintTarget"); \
\
ct->tar = datatar; \
BLI_strncpy(ct->subtarget, datasubtarget, sizeof(ct->subtarget)); \
ct->space = con->tarspace; \
ct->flag = CONSTRAINT_TAR_TEMP; \
if (ct->tar) { \
if ((ct->tar->type == OB_ARMATURE) && (ct->subtarget[0])) { \
bPoseChannel *pchan = BKE_pose_channel_find_name(ct->tar->pose, ct->subtarget); \
ct->type = CONSTRAINT_OBTYPE_BONE; \
ct->rotOrder = (pchan) ? (pchan->rotmode) : EULER_ORDER_DEFAULT; \
} \
else if (OB_TYPE_SUPPORT_VGROUP(ct->tar->type) && (ct->subtarget[0])) { \
ct->type = CONSTRAINT_OBTYPE_VERT; \
ct->rotOrder = EULER_ORDER_DEFAULT; \
} \
else { \
ct->rotOrder = ct->tar->rotmode; \
} \
} \
BLI_addtail(list, ct); \
} \
(void)0
struct bPoseChannel * BKE_pose_channel_find_name(const struct bPose *pose, const char *name)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
Definition: listbase.c:110
@ EULER_ORDER_DEFAULT
@ CONSTRAINT_TAR_TEMP
@ CONSTRAINT_OBTYPE_OBJECT
@ CONSTRAINT_OBTYPE_BONE
@ CONSTRAINT_OBTYPE_VERT
#define OB_TYPE_SUPPORT_VGROUP(_type)
@ OB_ARMATURE
void *(* MEM_callocN)(size_t len, const char *str)
Definition: mallocn.c:45

Definition at line 818 of file constraint.c.

◆ SINGLETARGETNS_FLUSH_TARS

#define SINGLETARGETNS_FLUSH_TARS (   con,
  datatar,
  ct,
  list,
  no_copy 
)
Value:
{ \
if (ct) { \
bConstraintTarget *ctn = ct->next; \
if (no_copy == 0) { \
datatar = ct->tar; \
con->tarspace = (char)ct->space; \
} \
BLI_freelinkN(list, ct); \
ct = ctn; \
} \
} \
(void)0

Definition at line 896 of file constraint.c.

◆ SINGLETARGETNS_GET_TARS

#define SINGLETARGETNS_GET_TARS (   con,
  datatar,
  ct,
  list 
)
Value:
{ \
ct = MEM_callocN(sizeof(bConstraintTarget), "tempConstraintTarget"); \
\
ct->tar = datatar; \
ct->space = con->tarspace; \
ct->flag = CONSTRAINT_TAR_TEMP; \
if (ct->tar) { \
} \
BLI_addtail(list, ct); \
} \
(void)0

Definition at line 853 of file constraint.c.

◆ VALID_CONS_TARGET

#define VALID_CONS_TARGET (   ct)    ((ct) && (ct->tar))

Definition at line 102 of file constraint.c.

Typedef Documentation

◆ FollowTrackContext

◆ tConstraintLinkData

Function Documentation

◆ actcon_evaluate()

static void actcon_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ actcon_flush_tars()

static void actcon_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ actcon_get_tarmat()

static void actcon_get_tarmat ( struct Depsgraph depsgraph,
bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ actcon_get_tars()

static int actcon_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 2728 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ actcon_id_looper()

static void actcon_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 2715 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ actcon_new_data()

static void actcon_new_data ( void *  cdata)
static

Definition at line 2704 of file constraint.c.

References ACTCON_MIX_AFTER, and data.

◆ add_new_constraint()

static bConstraint* add_new_constraint ( Object ob,
bPoseChannel pchan,
const char *  name,
short  type 
)
static

◆ add_new_constraint_internal()

static bConstraint* add_new_constraint_internal ( const char *  name,
short  type 
)
static

◆ add_new_constraint_to_list()

static void add_new_constraint_to_list ( Object ob,
bPoseChannel pchan,
bConstraint con 
)
static

◆ armdef_accumulate_bone()

static void armdef_accumulate_bone ( bConstraintTarget ct,
bPoseChannel pchan,
const float  wco[3],
bool  force_envelope,
float r_totweight,
float  r_sum_mat[4][4],
DualQuat r_sum_dq 
)
static

◆ armdef_accumulate_matrix()

static void armdef_accumulate_matrix ( const float  obmat[4][4],
const float  iobmat[4][4],
const float  basemat[4][4],
const float  bonemat[4][4],
float  weight,
float  r_sum_mat[4][4],
DualQuat r_sum_dq 
)
static

◆ armdef_copy()

static void armdef_copy ( bConstraint con,
bConstraint srccon 
)
static

◆ armdef_evaluate()

static void armdef_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ armdef_free()

static void armdef_free ( bConstraint con)
static

Definition at line 2457 of file constraint.c.

References BLI_freelistN(), data, and bConstraint::data.

◆ armdef_get_tarmat()

static void armdef_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint UNUSEDcon,
bConstraintOb UNUSEDcob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ armdef_get_tars()

static int armdef_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 2473 of file constraint.c.

References BLI_listbase_count(), data, and bConstraint::data.

◆ armdef_id_looper()

static void armdef_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 2486 of file constraint.c.

References data, bConstraint::data, LISTBASE_FOREACH, and bConstraintTarget::tar.

◆ basis_cross()

static int basis_cross ( int  n,
int  m 
)
static

Definition at line 1154 of file constraint.c.

Referenced by vectomat().

◆ BKE_constraint_add_for_object()

bConstraint* BKE_constraint_add_for_object ( Object ob,
const char *  name,
short  type 
)

◆ BKE_constraint_add_for_pose()

bConstraint* BKE_constraint_add_for_pose ( Object ob,
bPoseChannel pchan,
const char *  name,
short  type 
)

Definition at line 5659 of file constraint.c.

References add_new_constraint(), NULL, and type.

Referenced by add_temporary_ik_constraint(), and constraint_add_exec().

◆ BKE_constraint_blend_read_data()

void BKE_constraint_blend_read_data ( BlendDataReader reader,
ListBase lb 
)

◆ BKE_constraint_blend_read_expand()

void BKE_constraint_blend_read_expand ( BlendExpander expander,
ListBase lb 
)

◆ BKE_constraint_blend_read_lib()

void BKE_constraint_blend_read_lib ( BlendLibReader reader,
ID id,
ListBase conlist 
)

◆ BKE_constraint_blend_write()

void BKE_constraint_blend_write ( BlendWriter writer,
ListBase conlist 
)

◆ BKE_constraint_copy_for_object()

bConstraint* BKE_constraint_copy_for_object ( Object ob,
bConstraint src 
)

◆ BKE_constraint_copy_for_pose()

bConstraint* BKE_constraint_copy_for_pose ( Object ob,
bPoseChannel pchan,
bConstraint src 
)

◆ BKE_constraint_custom_object_space_get()

void BKE_constraint_custom_object_space_get ( float  r_mat[4][4],
bConstraint con 
)

◆ BKE_constraint_duplicate_ex()

bConstraint* BKE_constraint_duplicate_ex ( bConstraint src,
const int  flag,
const bool  do_extern 
)

Allocate and duplicate a single constraint, outside of any object/pose context.

Definition at line 5755 of file constraint.c.

References constraint_copy_data_ex(), CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, bConstraint::flag, MEM_dupallocN, bConstraint::next, NULL, and bConstraint::prev.

Referenced by BKE_constraint_copy_for_object(), and BKE_constraint_copy_for_pose().

◆ BKE_constraint_find_from_target()

bConstraint* BKE_constraint_find_from_target ( Object ob,
bConstraintTarget tgt,
bPoseChannel **  r_pchan 
)

◆ BKE_constraint_free_data()

void BKE_constraint_free_data ( bConstraint con)

Definition at line 5492 of file constraint.c.

References BKE_constraint_free_data_ex().

Referenced by BKE_constraint_remove(), and blo_do_versions_280().

◆ BKE_constraint_free_data_ex()

void BKE_constraint_free_data_ex ( bConstraint con,
bool  do_id_user 
)

Free data of a specific constraint if it has any info. be sure to run BIK_clear_data() when freeing an IK constraint, unless DAG_relations_tag_update is called.

Definition at line 5470 of file constraint.c.

References BKE_constraint_typeinfo_get(), con_unlink_refs_cb(), bConstraint::data, bConstraintTypeInfo::free_data, bConstraintTypeInfo::id_looper, MEM_freeN, and NULL.

Referenced by BKE_constraint_free_data(), and BKE_constraints_free_ex().

◆ BKE_constraint_is_nonlocal_in_liboverride()

bool BKE_constraint_is_nonlocal_in_liboverride ( const Object ob,
const bConstraint con 
)

Check whether given constraint is not local (i.e. from linked data) when the object is a library override.

Parameters
conMay be NULL, in which case we consider it as a non-local constraint case.

Definition at line 5968 of file constraint.c.

References CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, bConstraint::flag, ID_IS_OVERRIDE_LIBRARY, and NULL.

◆ BKE_constraint_mat_convertspace()

void BKE_constraint_mat_convertspace ( Object ob,
bPoseChannel pchan,
bConstraintOb cob,
float  mat[4][4],
short  from,
short  to,
const bool  keep_scale 
)

◆ BKE_constraint_panel_expand()

void BKE_constraint_panel_expand ( bConstraint con)

Definition at line 5540 of file constraint.c.

References bConstraint::ui_expand_flag, and UI_PANEL_DATA_EXPAND_ROOT.

Referenced by outliner_set_properties_tab().

◆ BKE_constraint_remove()

bool BKE_constraint_remove ( ListBase list,
bConstraint con 
)

◆ BKE_constraint_remove_ex()

bool BKE_constraint_remove_ex ( ListBase list,
Object ob,
bConstraint con,
bool  clear_dep 
)

◆ BKE_constraint_target_matrix_get()

void BKE_constraint_target_matrix_get ( struct Depsgraph depsgraph,
Scene scene,
bConstraint con,
int  index,
short  ownertype,
void *  ownerdata,
float  mat[4][4],
float  ctime 
)

◆ BKE_constraint_target_uses_bbone()

bool BKE_constraint_target_uses_bbone ( struct bConstraint con,
struct bConstraintTarget UNUSEDct 
)

◆ BKE_constraint_targets_for_solving_get()

void BKE_constraint_targets_for_solving_get ( struct Depsgraph depsgraph,
bConstraint con,
bConstraintOb cob,
ListBase targets,
float  ctime 
)

◆ BKE_constraint_typeinfo_from_type()

const bConstraintTypeInfo* BKE_constraint_typeinfo_from_type ( int  type)

◆ BKE_constraint_typeinfo_get()

const bConstraintTypeInfo* BKE_constraint_typeinfo_get ( bConstraint con)

◆ BKE_constraint_unique_name()

void BKE_constraint_unique_name ( bConstraint con,
ListBase list 
)

Definition at line 123 of file constraint.c.

References BLI_uniquename(), DATA_, and bConstraint::name.

Referenced by add_new_constraint_to_list().

◆ BKE_constraints_active_get()

bConstraint* BKE_constraints_active_get ( ListBase list)

Definition at line 5812 of file constraint.c.

References CONSTRAINT_ACTIVE, bConstraint::flag, LISTBASE_FOREACH, and NULL.

Referenced by ED_object_constraint_active_get().

◆ BKE_constraints_active_set()

void BKE_constraints_active_set ( ListBase list,
bConstraint con 
)

◆ BKE_constraints_clear_evalob()

void BKE_constraints_clear_evalob ( bConstraintOb cob)

◆ BKE_constraints_copy()

void BKE_constraints_copy ( ListBase dst,
const ListBase src,
bool  do_extern 
)

Definition at line 5799 of file constraint.c.

References BKE_constraints_copy_ex().

◆ BKE_constraints_copy_ex()

void BKE_constraints_copy_ex ( ListBase dst,
const ListBase src,
const int  flag,
bool  do_extern 
)

◆ BKE_constraints_find_name()

bConstraint* BKE_constraints_find_name ( ListBase list,
const char *  name 
)

Definition at line 5806 of file constraint.c.

References BLI_findstring().

Referenced by edit_constraint_property_get().

◆ BKE_constraints_free()

void BKE_constraints_free ( ListBase list)

◆ BKE_constraints_free_ex()

void BKE_constraints_free_ex ( ListBase list,
bool  do_id_user 
)

◆ BKE_constraints_id_loop()

void BKE_constraints_id_loop ( ListBase conlist,
ConstraintIDFunc  func,
void *  userdata 
)

◆ BKE_constraints_make_evalob()

bConstraintOb* BKE_constraints_make_evalob ( Depsgraph depsgraph,
Scene scene,
Object ob,
void *  subdata,
short  datatype 
)

◆ BKE_constraints_proxylocal_extract()

void BKE_constraints_proxylocal_extract ( ListBase dst,
ListBase src 
)

◆ BKE_constraints_proxylocked_owner()

bool BKE_constraints_proxylocked_owner ( Object ob,
bPoseChannel pchan 
)

◆ BKE_constraints_solve()

void BKE_constraints_solve ( struct Depsgraph depsgraph,
ListBase conlist,
bConstraintOb cob,
float  ctime 
)

◆ camerasolver_evaluate()

static void camerasolver_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ camerasolver_id_looper()

static void camerasolver_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 5150 of file constraint.c.

References data, and bConstraint::data.

◆ camerasolver_new_data()

static void camerasolver_new_data ( void *  cdata)
static

Definition at line 5142 of file constraint.c.

References CAMERASOLVER_ACTIVECLIP, data, and NULL.

◆ childof_evaluate()

static void childof_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ childof_flush_tars()

static void childof_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 972 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.

◆ childof_get_tars()

static int childof_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 957 of file constraint.c.

References data, bConstraint::data, and SINGLETARGET_GET_TARS.

◆ childof_id_looper()

static void childof_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 949 of file constraint.c.

References data, and bConstraint::data.

◆ childof_new_data()

static void childof_new_data ( void *  cdata)
static

◆ clampto_evaluate()

static void clampto_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ clampto_flush_tars()

static void clampto_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 3735 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.

◆ clampto_get_tarmat()

static void clampto_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint UNUSEDcon,
bConstraintOb UNUSEDcob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

Definition at line 3746 of file constraint.c.

References bConstraintTarget::matrix, and unit_m4().

◆ clampto_get_tars()

static int clampto_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 3720 of file constraint.c.

References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.

◆ clampto_id_looper()

static void clampto_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 3712 of file constraint.c.

References data, and bConstraint::data.

◆ con_extern_cb()

static void con_extern_cb ( bConstraint UNUSEDcon,
ID **  idpoin,
bool   UNUSEDis_reference,
void *  UNUSEDuserData 
)
static

Definition at line 5696 of file constraint.c.

References ID_IS_LINKED, and id_lib_extern().

Referenced by constraint_copy_data_ex().

◆ con_fix_copied_refs_cb()

static void con_fix_copied_refs_cb ( bConstraint UNUSEDcon,
ID **  idpoin,
bool  is_reference,
void *  UNUSEDuserData 
)
static

Helper for BKE_constraints_copy(), to be used for making sure that user-counts of copied ID's are fixed up.

Definition at line 5710 of file constraint.c.

References id_us_plus().

Referenced by constraint_copy_data_ex().

◆ con_unlink_refs_cb()

static void con_unlink_refs_cb ( bConstraint UNUSEDcon,
ID **  idpoin,
bool  is_reference,
void *  UNUSEDuserData 
)
static

Helper function for BKE_constraint_free_data() - unlinks references.

Definition at line 5455 of file constraint.c.

References id_us_min().

Referenced by BKE_constraint_free_data_ex().

◆ constraint_copy_data_ex()

static void constraint_copy_data_ex ( bConstraint dst,
bConstraint src,
const int  flag,
const bool  do_extern 
)
static

◆ constraint_find_original()

static bConstraint * constraint_find_original ( Object ob,
bPoseChannel pchan,
bConstraint con,
Object **  r_orig_ob 
)
static

◆ constraint_find_original_for_update()

static bConstraint * constraint_find_original_for_update ( bConstraintOb cob,
bConstraint con 
)
static

◆ constraint_list_find_from_target()

static bConstraint* constraint_list_find_from_target ( ListBase constraints,
bConstraintTarget tgt 
)
static

◆ constraint_target_to_mat4()

static void constraint_target_to_mat4 ( Object ob,
const char *  substring,
bConstraintOb cob,
float  mat[4][4],
short  from,
short  to,
short  flag,
float  headtail 
)
static

◆ constraints_init_typeinfo()

static void constraints_init_typeinfo ( void  )
static

◆ contarget_get_lattice_mat()

static void contarget_get_lattice_mat ( Object ob,
const char *  substring,
float  mat[4][4] 
)
static

◆ contarget_get_mesh_mat()

static void contarget_get_mesh_mat ( Object ob,
const char *  substring,
float  mat[4][4] 
)
static

◆ custom_space_id_looper()

static void custom_space_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

◆ damptrack_do_transform()

static void damptrack_do_transform ( float  matrix[4][4],
const float  tarvec[3],
int  track_axis 
)
static

◆ damptrack_evaluate()

static void damptrack_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ damptrack_flush_tars()

static void damptrack_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 4367 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.

◆ damptrack_get_tars()

static int damptrack_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 4352 of file constraint.c.

References data, bConstraint::data, and SINGLETARGET_GET_TARS.

◆ damptrack_id_looper()

static void damptrack_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 4344 of file constraint.c.

References data, and bConstraint::data.

◆ damptrack_new_data()

static void damptrack_new_data ( void *  cdata)
static

Definition at line 4337 of file constraint.c.

References data, and TRACK_Y.

◆ default_get_tarmat()

static void default_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ default_get_tarmat_full_bbone()

static void default_get_tarmat_full_bbone ( struct Depsgraph UNUSEDdepsgraph,
bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ distlimit_evaluate()

static void distlimit_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ distlimit_flush_tars()

static void distlimit_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ distlimit_get_tars()

static int distlimit_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 3241 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ distlimit_id_looper()

static void distlimit_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 3231 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ distlimit_new_data()

static void distlimit_new_data ( void *  cdata)
static

Definition at line 3224 of file constraint.c.

References data.

◆ expand_constraint_cb()

static void expand_constraint_cb ( bConstraint UNUSEDcon,
ID **  idpoin,
bool   UNUSEDis_reference,
void *  userdata 
)
static

Definition at line 6412 of file constraint.c.

References BLO_expand.

Referenced by BKE_constraint_blend_read_expand().

◆ flush_space_tar()

static void flush_space_tar ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ followpath_evaluate()

static void followpath_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ followpath_flush_tars()

static void followpath_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 1436 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.

◆ followpath_get_tarmat()

static void followpath_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint con,
bConstraintOb UNUSEDcob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ followpath_get_tars()

static int followpath_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 1421 of file constraint.c.

References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.

◆ followpath_id_looper()

static void followpath_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 1413 of file constraint.c.

References data, and bConstraint::data.

◆ followpath_new_data()

static void followpath_new_data ( void *  cdata)
static

Definition at line 1403 of file constraint.c.

References data, TRACK_Y, and UP_Z.

◆ followtrack_camera_object_get()

static Object* followtrack_camera_object_get ( bConstraint con,
bConstraintOb cob 
)
static

Definition at line 4763 of file constraint.c.

References Scene::camera, data, bConstraint::data, NULL, bConstraintOb::scene, and scene.

Referenced by followtrack_context_init().

◆ followtrack_context_init()

static bool followtrack_context_init ( FollowTrackContext context,
bConstraint con,
bConstraintOb cob 
)
static

◆ followtrack_distance_from_viewplane_get()

static float followtrack_distance_from_viewplane_get ( FollowTrackContext context,
bConstraintOb cob 
)
static

◆ followtrack_evaluate()

static void followtrack_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ followtrack_evaluate_using_2d_position()

static void followtrack_evaluate_using_2d_position ( FollowTrackContext context,
bConstraintOb cob 
)
static

◆ followtrack_evaluate_using_3d_position()

static void followtrack_evaluate_using_3d_position ( FollowTrackContext context,
bConstraintOb cob 
)
static

◆ followtrack_evaluate_using_3d_position_camera()

static void followtrack_evaluate_using_3d_position_camera ( FollowTrackContext context,
bConstraintOb cob 
)
static

◆ followtrack_evaluate_using_3d_position_object()

static void followtrack_evaluate_using_3d_position_object ( FollowTrackContext context,
bConstraintOb cob 
)
static

◆ followtrack_fit_frame()

static void followtrack_fit_frame ( FollowTrackContext context,
const int  clip_width,
const int  clip_height,
float  marker_position[2] 
)
static

◆ followtrack_id_looper()

static void followtrack_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 4730 of file constraint.c.

References data, and bConstraint::data.

◆ followtrack_new_data()

static void followtrack_new_data ( void *  cdata)
static

Definition at line 4722 of file constraint.c.

References data, FOLLOWTRACK_ACTIVECLIP, and NULL.

◆ followtrack_project_to_depth_object_if_needed()

static void followtrack_project_to_depth_object_if_needed ( FollowTrackContext context,
bConstraintOb cob 
)
static

◆ followtrack_tracking_clip_get()

static MovieClip* followtrack_tracking_clip_get ( bConstraint con,
bConstraintOb cob 
)
static

◆ followtrack_tracking_object_get()

static MovieTrackingObject* followtrack_tracking_object_get ( bConstraint con,
bConstraintOb cob 
)
static

◆ followtrack_undistort_if_needed()

static void followtrack_undistort_if_needed ( FollowTrackContext context,
const int  clip_width,
const int  clip_height,
float  marker_position[2] 
)
static

◆ get_space_tar()

static int get_space_tar ( bConstraint con,
ListBase list 
)
static

◆ kinematic_flush_tars()

static void kinematic_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 1335 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.

◆ kinematic_get_tarmat()

static void kinematic_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ kinematic_get_tars()

static int kinematic_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 1319 of file constraint.c.

References data, bConstraint::data, and SINGLETARGET_GET_TARS.

◆ kinematic_id_looper()

static void kinematic_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 1308 of file constraint.c.

References data, and bConstraint::data.

◆ kinematic_new_data()

static void kinematic_new_data ( void *  cdata)
static

Definition at line 1297 of file constraint.c.

References CONSTRAINT_IK_POS, CONSTRAINT_IK_STRETCH, CONSTRAINT_IK_TIP, and data.

◆ lib_link_constraint_cb()

static void lib_link_constraint_cb ( bConstraint UNUSEDcon,
ID **  idpoin,
bool   UNUSEDis_reference,
void *  userdata 
)
static

◆ locktrack_evaluate()

static void locktrack_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ locktrack_flush_tars()

static void locktrack_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 2939 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.

◆ locktrack_get_tars()

static int locktrack_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 2924 of file constraint.c.

References data, bConstraint::data, and SINGLETARGET_GET_TARS.

◆ locktrack_id_looper()

static void locktrack_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 2916 of file constraint.c.

References data, and bConstraint::data.

◆ locktrack_new_data()

static void locktrack_new_data ( void *  cdata)
static

Definition at line 2908 of file constraint.c.

References data, LOCK_Z, and TRACK_Y.

◆ loclike_evaluate()

static void loclike_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ loclike_flush_tars()

static void loclike_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ loclike_get_tars()

static int loclike_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 1781 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ loclike_id_looper()

static void loclike_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 1771 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ loclike_new_data()

static void loclike_new_data ( void *  cdata)
static

Definition at line 1764 of file constraint.c.

References data, LOCLIKE_X, LOCLIKE_Y, and LOCLIKE_Z.

◆ loclimit_evaluate()

static void loclimit_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ minmax_evaluate()

static void minmax_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ minmax_flush_tars()

static void minmax_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ minmax_get_tars()

static int minmax_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 3597 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ minmax_id_looper()

static void minmax_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 3587 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ minmax_new_data()

static void minmax_new_data ( void *  cdata)
static

Definition at line 3578 of file constraint.c.

References data, and TRACK_Z.

◆ objectsolver_evaluate()

static void objectsolver_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ objectsolver_id_looper()

static void objectsolver_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 5209 of file constraint.c.

References data, and bConstraint::data.

◆ objectsolver_new_data()

static void objectsolver_new_data ( void *  cdata)
static

Definition at line 5200 of file constraint.c.

References data, NULL, OBJECTSOLVER_ACTIVECLIP, and unit_m4().

◆ pivotcon_evaluate()

static void pivotcon_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ pivotcon_flush_tars()

static void pivotcon_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 4620 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.

◆ pivotcon_get_tars()

static int pivotcon_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 4605 of file constraint.c.

References data, bConstraint::data, and SINGLETARGET_GET_TARS.

◆ pivotcon_id_looper()

static void pivotcon_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 4597 of file constraint.c.

References data, and bConstraint::data.

◆ pycon_copy()

static void pycon_copy ( bConstraint con,
bConstraint srccon 
)
static

◆ pycon_evaluate()

static void pycon_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ pycon_free()

static void pycon_free ( bConstraint con)
static

Definition at line 2325 of file constraint.c.

References BLI_freelistN(), data, bConstraint::data, and IDP_FreeProperty().

◆ pycon_get_tarmat()

static void pycon_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

◆ pycon_get_tars()

static int pycon_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 2354 of file constraint.c.

References data, bConstraint::data, ListBase::first, and ListBase::last.

◆ pycon_id_looper()

static void pycon_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 2368 of file constraint.c.

References data, bConstraint::data, LISTBASE_FOREACH, and bConstraintTarget::tar.

◆ pycon_new_data()

static void pycon_new_data ( void *  cdata)
static

Definition at line 2345 of file constraint.c.

References data, IDP_GROUP, and MEM_callocN.

◆ rotlike_evaluate()

static void rotlike_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ rotlike_flush_tars()

static void rotlike_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ rotlike_get_tars()

static int rotlike_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 1881 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ rotlike_id_looper()

static void rotlike_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 1871 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ rotlike_new_data()

static void rotlike_new_data ( void *  cdata)
static

Definition at line 1864 of file constraint.c.

References data, ROTLIKE_X, ROTLIKE_Y, and ROTLIKE_Z.

◆ rotlimit_evaluate()

static void rotlimit_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ samevolume_evaluate()

static void samevolume_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ samevolume_new_data()

static void samevolume_new_data ( void *  cdata)
static

Definition at line 2256 of file constraint.c.

References data, and SAMEVOL_Y.

◆ shrinkwrap_evaluate()

static void shrinkwrap_evaluate ( bConstraint UNUSEDcon,
bConstraintOb cob,
ListBase targets 
)
static

◆ shrinkwrap_flush_tars()

static void shrinkwrap_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 4136 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.

◆ shrinkwrap_get_tarmat()

static void shrinkwrap_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

Definition at line 4146 of file constraint.c.

References BKE_constraint_mat_convertspace(), BKE_object_get_evaluated_mesh(), BKE_shrinkwrap_compute_smooth_normal(), BKE_shrinkwrap_find_nearest_surface(), BKE_shrinkwrap_free_tree(), BKE_shrinkwrap_init_tree(), BKE_shrinkwrap_project_normal(), BKE_shrinkwrap_snap_point_to_surface(), BLI_space_transform_apply(), BLI_space_transform_from_matrices(), BLI_space_transform_invert(), BLI_space_transform_invert_normal(), BVH_RAYCAST_DIST_MAX, BVHTreeNearest::co, BVHTreeRayHit::co, CON_SHRINKWRAP_PROJECT_CULL_MASK, CON_SHRINKWRAP_PROJECT_INVERT_CULL, CON_SHRINKWRAP_PROJECT_OPPOSITE, CON_SHRINKWRAP_TRACK_NORMAL, CONSTRAINT_SPACE_LOCAL, copy_m4_m4(), copy_v3_v3(), damptrack_do_transform(), bConstraint::data, BVHTreeRayHit::dist, bShrinkwrapConstraint::dist, BVHTreeNearest::dist_sq, bShrinkwrapConstraint::flag, if(), BVHTreeNearest::index, BVHTreeRayHit::index, interp_v3_v3v3(), invert_m4(), len_v3v3(), bConstraintOb::matrix, bConstraintTarget::matrix, MOD_SHRINKWRAP_NEAREST_SURFACE, MOD_SHRINKWRAP_NEAREST_VERTEX, MOD_SHRINKWRAP_PROJECT, MOD_SHRINKWRAP_TARGET_PROJECT, mul_m4_v3(), mul_mat3_m4_v3(), negate_v3_v3(), BVHTreeNearest::no, BVHTreeRayHit::no, normalize_v3(), NULL, bConstraintOb::ob, OB_MESH, OB_NEGX, OB_NEGY, OB_NEGZ, OB_POSX, OB_POSY, OB_POSZ, Object::obmat, bConstraintOb::pchan, bShrinkwrapConstraint::projAxis, bShrinkwrapConstraint::projAxisSpace, bShrinkwrapConstraint::projLimit, bShrinkwrapConstraint::shrinkMode, bShrinkwrapConstraint::shrinkType, bConstraintTarget::tar, bShrinkwrapConstraint::trackAxis, transform(), tree, Object::type, unit_m4(), VALID_CONS_TARGET, and zero_v3().

◆ shrinkwrap_get_tars()

static int shrinkwrap_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 4122 of file constraint.c.

References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.

◆ shrinkwrap_id_looper()

static void shrinkwrap_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 4106 of file constraint.c.

References data, and bConstraint::data.

◆ shrinkwrap_new_data()

static void shrinkwrap_new_data ( void *  cdata)
static

Definition at line 4114 of file constraint.c.

References CONSTRAINT_SPACE_LOCAL, data, and OB_POSZ.

◆ sizelike_evaluate()

static void sizelike_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ sizelike_flush_tars()

static void sizelike_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ sizelike_get_tars()

static int sizelike_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 2062 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ sizelike_id_looper()

static void sizelike_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 2052 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ sizelike_new_data()

static void sizelike_new_data ( void *  cdata)
static

Definition at line 2044 of file constraint.c.

References data, SIZELIKE_MULTIPLY, SIZELIKE_X, SIZELIKE_Y, and SIZELIKE_Z.

◆ sizelimit_evaluate()

static void sizelimit_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
)
static

◆ splineik_copy()

static void splineik_copy ( bConstraint con,
bConstraint srccon 
)
static

Definition at line 4510 of file constraint.c.

References bConstraint::data, MEM_dupallocN, and bSplineIKConstraint::points.

◆ splineik_flush_tars()

static void splineik_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 4555 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.

◆ splineik_free()

static void splineik_free ( bConstraint con)
static

Definition at line 4502 of file constraint.c.

References data, bConstraint::data, and MEM_SAFE_FREE.

◆ splineik_get_tarmat()

static void splineik_get_tarmat ( struct Depsgraph UNUSEDdepsgraph,
bConstraint UNUSEDcon,
bConstraintOb UNUSEDcob,
bConstraintTarget ct,
float   UNUSEDctime 
)
static

Definition at line 4566 of file constraint.c.

References bConstraintTarget::matrix, and unit_m4().

◆ splineik_get_tars()

static int splineik_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 4540 of file constraint.c.

References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.

◆ splineik_id_looper()

static void splineik_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 4532 of file constraint.c.

References data, and bConstraint::data.

◆ splineik_new_data()

static void splineik_new_data ( void *  cdata)
static

◆ stretchto_evaluate()

static void stretchto_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ stretchto_flush_tars()

static void stretchto_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

Definition at line 3405 of file constraint.c.

References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.

◆ stretchto_get_tars()

static int stretchto_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 3390 of file constraint.c.

References data, bConstraint::data, and SINGLETARGET_GET_TARS.

◆ stretchto_id_looper()

static void stretchto_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 3382 of file constraint.c.

References data, and bConstraint::data.

◆ stretchto_new_data()

static void stretchto_new_data ( void *  cdata)
static

Definition at line 3370 of file constraint.c.

References data.

◆ trackto_evaluate()

static void trackto_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ trackto_flush_tars()

static void trackto_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ trackto_get_tars()

static int trackto_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 1127 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ trackto_id_looper()

static void trackto_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 1117 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ trackto_new_data()

static void trackto_new_data ( void *  cdata)
static

Definition at line 1109 of file constraint.c.

References data, TRACK_nZ, and UP_Y.

◆ transform_evaluate()

static void transform_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ transform_flush_tars()

static void transform_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ transform_get_tars()

static int transform_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 3918 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ transform_id_looper()

static void transform_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 3908 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ transform_new_data()

static void transform_new_data ( void *  cdata)
static

Definition at line 3894 of file constraint.c.

References data.

◆ transformcache_copy()

static void transformcache_copy ( bConstraint con,
bConstraint srccon 
)
static

◆ transformcache_evaluate()

static void transformcache_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ transformcache_free()

static void transformcache_free ( bConstraint con)
static

Definition at line 5333 of file constraint.c.

References BKE_cachefile_reader_free(), data, and bConstraint::data.

◆ transformcache_id_looper()

static void transformcache_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 5288 of file constraint.c.

References data, and bConstraint::data.

◆ transformcache_new_data()

static void transformcache_new_data ( void *  cdata)
static

Definition at line 5343 of file constraint.c.

References data, and NULL.

◆ translike_evaluate()

static void translike_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
)
static

◆ translike_flush_tars()

static void translike_flush_tars ( bConstraint con,
ListBase list,
bool  no_copy 
)
static

◆ translike_get_tars()

static int translike_get_tars ( bConstraint con,
ListBase list 
)
static

Definition at line 2187 of file constraint.c.

References data, bConstraint::data, get_space_tar(), and SINGLETARGET_GET_TARS.

◆ translike_id_looper()

static void translike_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
)
static

Definition at line 2177 of file constraint.c.

References custom_space_id_looper(), data, and bConstraint::data.

◆ vectomat()

static void vectomat ( const float  vec[3],
const float  target_up[3],
short  axis,
short  upflag,
short  flags,
float  m[3][3] 
)
static

Variable Documentation

◆ constraintsTypeInfo

bConstraintTypeInfo* constraintsTypeInfo[NUM_CONSTRAINT_TYPES]
static

Definition at line 5371 of file constraint.c.

Referenced by BKE_constraint_typeinfo_from_type(), and constraints_init_typeinfo().

◆ CTI_ACTION

bConstraintTypeInfo CTI_ACTION
static
Initial value:
= {
"Action",
"bActionConstraint",
NULL,
NULL,
}
struct bActionConstraint bActionConstraint
@ CONSTRAINT_TYPE_ACTION
static void actcon_get_tarmat(struct Depsgraph *depsgraph, bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:2755
static void actcon_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:2743
static void actcon_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:2715
static void actcon_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:2866
static int actcon_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:2728
static void actcon_new_data(void *cdata)
Definition: constraint.c:2704

Definition at line 2891 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_ARMATURE

bConstraintTypeInfo CTI_ARMATURE
static
Initial value:
= {
"Armature",
"bArmatureConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_ARMATURE
struct bArmatureConstraint bArmatureConstraint
static void armdef_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *UNUSED(con), bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:2497
static void armdef_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:2626
static void armdef_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:2486
static void armdef_copy(bConstraint *con, bConstraint *srccon)
Definition: constraint.c:2465
static int armdef_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:2473
static void armdef_free(bConstraint *con)
Definition: constraint.c:2457

Definition at line 2687 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_CAMERASOLVER

bConstraintTypeInfo CTI_CAMERASOLVER
static
Initial value:
= {
"Camera Solver",
"bCameraSolverConstraint",
NULL,
NULL,
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_CAMERASOLVER
struct bCameraSolverConstraint bCameraSolverConstraint
static void camerasolver_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:5157
static void camerasolver_new_data(void *cdata)
Definition: constraint.c:5142
static void camerasolver_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:5150

Definition at line 5183 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_CHILDOF

bConstraintTypeInfo CTI_CHILDOF
static
Initial value:
= {
"Child Of",
"bChildOfConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_CHILDOF
struct bChildOfConstraint bChildOfConstraint
static void childof_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:983
static void childof_new_data(void *cdata)
Definition: constraint.c:939
static int childof_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:957
static void childof_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:972
static void default_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:768
static void childof_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:949

Definition at line 1092 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_CLAMPTO

bConstraintTypeInfo CTI_CLAMPTO
static
Initial value:
= {
"Clamp To",
"bClampToConstraint",
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_CLAMPTO
struct bClampToConstraint bClampToConstraint
static void clampto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:3760
static void clampto_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:3735
static void clampto_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *UNUSED(con), bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:3746
static int clampto_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:3720
static void clampto_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:3712

Definition at line 3877 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_DAMPTRACK

bConstraintTypeInfo CTI_DAMPTRACK
static
Initial value:
= {
"Damped Track",
"bDampTrackConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_DAMPTRACK
struct bDampTrackConstraint bDampTrackConstraint
static int damptrack_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:4352
static void damptrack_new_data(void *cdata)
Definition: constraint.c:4337
static void damptrack_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:4367
static void damptrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:4388
static void damptrack_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:4344

Definition at line 4485 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_DISTLIMIT

bConstraintTypeInfo CTI_DISTLIMIT
static
Initial value:
= {
"Limit Distance",
"bDistLimitConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_DISTLIMIT
struct bDistLimitConstraint bDistLimitConstraint
static void distlimit_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:3268
static void distlimit_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:3231
static int distlimit_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:3241
static void distlimit_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:3256
static void distlimit_new_data(void *cdata)
Definition: constraint.c:3224

Definition at line 3353 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_FOLLOWPATH

bConstraintTypeInfo CTI_FOLLOWPATH
static
Initial value:
= {
"Follow Path",
"bFollowPathConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_FOLLOWPATH
struct bFollowPathConstraint bFollowPathConstraint
static int followpath_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:1421
static void followpath_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:1524
static void followpath_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:1436
static void followpath_new_data(void *cdata)
Definition: constraint.c:1403
static void followpath_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:1413
static void followpath_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:1447

Definition at line 1564 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_FOLLOWTRACK

bConstraintTypeInfo CTI_FOLLOWTRACK
static
Initial value:
= {
"Follow Track",
"bFollowTrackConstraint",
NULL,
NULL,
NULL,
NULL,
NULL,
}
struct bFollowTrackConstraint bFollowTrackConstraint
@ CONSTRAINT_TYPE_FOLLOWTRACK
static void followtrack_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:4730
static void followtrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:5109
static void followtrack_new_data(void *cdata)
Definition: constraint.c:4722

Definition at line 5125 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_INIT

short CTI_INIT = 1
static

Definition at line 5372 of file constraint.c.

Referenced by BKE_constraint_typeinfo_from_type().

◆ CTI_KINEMATIC

bConstraintTypeInfo CTI_KINEMATIC
static
Initial value:
= {
"IK",
"bKinematicConstraint",
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_KINEMATIC
struct bKinematicConstraint bKinematicConstraint
static int kinematic_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:1319
static void kinematic_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:1308
static void kinematic_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:1347
static void kinematic_new_data(void *cdata)
Definition: constraint.c:1297
static void kinematic_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:1335

Definition at line 1386 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_LOCKTRACK

bConstraintTypeInfo CTI_LOCKTRACK
static
Initial value:
= {
"Locked Track",
"bLockTrackConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_LOCKTRACK
struct bLockTrackConstraint bLockTrackConstraint
static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:2950
static void locktrack_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:2939
static void locktrack_new_data(void *cdata)
Definition: constraint.c:2908
static int locktrack_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:2924
static void locktrack_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:2916

Definition at line 3207 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_LOCLIKE

bConstraintTypeInfo CTI_LOCLIKE
static
Initial value:
= {
"Copy Location",
"bLocateLikeConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_LOCLIKE
struct bLocateLikeConstraint bLocateLikeConstraint
static void loclike_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:1796
static int loclike_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:1781
static void loclike_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:1771
static void loclike_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:1808
static void loclike_new_data(void *cdata)
Definition: constraint.c:1764

Definition at line 1847 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_LOCLIMIT

bConstraintTypeInfo CTI_LOCLIMIT
static
Initial value:
= {
"Limit Location",
"bLocLimitConstraint",
NULL,
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_LOCLIMIT
struct bLocLimitConstraint bLocLimitConstraint
static int get_space_tar(bConstraint *con, ListBase *list)
Definition: constraint.c:916
static void flush_space_tar(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:927
static void loclimit_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:1581
static void custom_space_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:911

Definition at line 1617 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_MINMAX

bConstraintTypeInfo CTI_MINMAX
static
Initial value:
= {
"Floor",
"bMinMaxConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_MINMAX
struct bMinMaxConstraint bMinMaxConstraint
static void minmax_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:3624
static void minmax_new_data(void *cdata)
Definition: constraint.c:3578
static void minmax_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:3587
static int minmax_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:3597
static void minmax_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:3612

Definition at line 3695 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_OBJECTSOLVER

bConstraintTypeInfo CTI_OBJECTSOLVER
static
Initial value:
= {
"Object Solver",
"bObjectSolverConstraint",
NULL,
NULL,
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_OBJECTSOLVER
struct bObjectSolverConstraint bObjectSolverConstraint
static void objectsolver_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:5209
static void objectsolver_new_data(void *cdata)
Definition: constraint.c:5200
static void objectsolver_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:5217

Definition at line 5271 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_PIVOT

bConstraintTypeInfo CTI_PIVOT
static
Initial value:
= {
sizeof(bPivotConstraint),
"Pivot",
"bPivotConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_PIVOT
struct bPivotConstraint bPivotConstraint
static void pivotcon_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:4631
static int pivotcon_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:4605
static void pivotcon_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:4620
static void pivotcon_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:4597

Definition at line 4704 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_PYTHON

bConstraintTypeInfo CTI_PYTHON
static
Initial value:
= {
"Script",
"bPythonConstraint",
NULL,
}
@ CONSTRAINT_TYPE_PYTHON
struct bPythonConstraint bPythonConstraint
static void pycon_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:2368
static int pycon_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:2354
static void pycon_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:2382
static void pycon_new_data(void *cdata)
Definition: constraint.c:2345
static void pycon_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:2422
static void pycon_copy(bConstraint *con, bConstraint *srccon)
Definition: constraint.c:2336
static void pycon_free(bConstraint *con)
Definition: constraint.c:2325

Definition at line 2440 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_ROTLIKE

bConstraintTypeInfo CTI_ROTLIKE
static
Initial value:
= {
"Copy Rotation",
"bRotateLikeConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_ROTLIKE
struct bRotateLikeConstraint bRotateLikeConstraint
static void rotlike_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:1908
static void rotlike_new_data(void *cdata)
Definition: constraint.c:1864
static void rotlike_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:1896
static int rotlike_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:1881
static void rotlike_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:1871

Definition at line 2027 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_ROTLIMIT

bConstraintTypeInfo CTI_ROTLIMIT
static
Initial value:
= {
"Limit Rotation",
"bRotLimitConstraint",
NULL,
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_ROTLIMIT
struct bRotLimitConstraint bRotLimitConstraint
static void rotlimit_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:1634

Definition at line 1680 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_SAMEVOL

bConstraintTypeInfo CTI_SAMEVOL
static
Initial value:
= {
"Maintain Volume",
"bSameVolumeConstraint",
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_SAMEVOL
struct bSameVolumeConstraint bSameVolumeConstraint
static void samevolume_new_data(void *cdata)
Definition: constraint.c:2256
static void samevolume_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:2264

Definition at line 2308 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_SHRINKWRAP

bConstraintTypeInfo CTI_SHRINKWRAP
static
Initial value:
= {
"Shrinkwrap",
"bShrinkwrapConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_SHRINKWRAP
struct bShrinkwrapConstraint bShrinkwrapConstraint
static void shrinkwrap_evaluate(bConstraint *UNUSED(con), bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:4310
static void shrinkwrap_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:4106
static void shrinkwrap_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:4146
static void shrinkwrap_new_data(void *cdata)
Definition: constraint.c:4114
static void shrinkwrap_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:4136
static int shrinkwrap_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:4122

Definition at line 4320 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_SIZELIKE

bConstraintTypeInfo CTI_SIZELIKE
static
Initial value:
= {
"Copy Scale",
"bSizeLikeConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_SIZELIKE
struct bSizeLikeConstraint bSizeLikeConstraint
static void sizelike_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:2052
static void sizelike_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:2077
static void sizelike_new_data(void *cdata)
Definition: constraint.c:2044
static int sizelike_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:2062
static void sizelike_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:2089

Definition at line 2160 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_SIZELIMIT

bConstraintTypeInfo CTI_SIZELIMIT
static
Initial value:
= {
"Limit Scale",
"bSizeLimitConstraint",
NULL,
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_SIZELIMIT
struct bSizeLimitConstraint bSizeLimitConstraint
static void sizelimit_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
Definition: constraint.c:1697

Definition at line 1747 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_SPLINEIK

bConstraintTypeInfo CTI_SPLINEIK
static
Initial value:
= {
"Spline IK",
"bSplineIKConstraint",
NULL,
}
@ CONSTRAINT_TYPE_SPLINEIK
struct bSplineIKConstraint bSplineIKConstraint
static void splineik_get_tarmat(struct Depsgraph *UNUSED(depsgraph), bConstraint *UNUSED(con), bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:4566
static void splineik_copy(bConstraint *con, bConstraint *srccon)
Definition: constraint.c:4510
static int splineik_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:4540
static void splineik_new_data(void *cdata)
Definition: constraint.c:4519
static void splineik_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:4555
static void splineik_free(bConstraint *con)
Definition: constraint.c:4502
static void splineik_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:4532

Definition at line 4580 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_STRETCHTO

bConstraintTypeInfo CTI_STRETCHTO
static
Initial value:
= {
"Stretch To",
"bStretchToConstraint",
NULL,
NULL,
}
struct bStretchToConstraint bStretchToConstraint
@ CONSTRAINT_TYPE_STRETCHTO
static void stretchto_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:3382
static void stretchto_new_data(void *cdata)
Definition: constraint.c:3370
static int stretchto_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:3390
static void stretchto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:3416
static void stretchto_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:3405

Definition at line 3561 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_TRACKTO

bConstraintTypeInfo CTI_TRACKTO
static
Initial value:
= {
"Track To",
"bTrackToConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_TRACKTO
struct bTrackToConstraint bTrackToConstraint
static void trackto_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:1117
static void trackto_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:1142
static void trackto_new_data(void *cdata)
Definition: constraint.c:1109
static void trackto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:1245
static int trackto_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:1127

Definition at line 1280 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_TRANSFORM

bConstraintTypeInfo CTI_TRANSFORM
static
Initial value:
= {
"Transformation",
"bTransformConstraint",
NULL,
NULL,
}
@ CONSTRAINT_TYPE_TRANSFORM
struct bTransformConstraint bTransformConstraint
static void transform_new_data(void *cdata)
Definition: constraint.c:3894
static void transform_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:3945
static void transform_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:3933
static int transform_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:3918
static void transform_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:3908

Definition at line 4089 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_TRANSFORM_CACHE

bConstraintTypeInfo CTI_TRANSFORM_CACHE
static
Initial value:
= {
"Transform Cache",
"bTransformCacheConstraint",
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_TRANSFORM_CACHE
struct bTransformCacheConstraint bTransformCacheConstraint
static void transformcache_new_data(void *cdata)
Definition: constraint.c:5343
static void transformcache_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:5288
static void transformcache_copy(bConstraint *con, bConstraint *srccon)
Definition: constraint.c:5322
static void transformcache_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:5294
static void transformcache_free(bConstraint *con)
Definition: constraint.c:5333

Definition at line 5350 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ CTI_TRANSLIKE

bConstraintTypeInfo CTI_TRANSLIKE
static
Initial value:
= {
"Copy Transforms",
"bTransLikeConstraint",
NULL,
NULL,
NULL,
}
@ CONSTRAINT_TYPE_TRANSLIKE
struct bTransLikeConstraint bTransLikeConstraint
static void translike_id_looper(bConstraint *con, ConstraintIDFunc func, void *userdata)
Definition: constraint.c:2177
static int translike_get_tars(bConstraint *con, ListBase *list)
Definition: constraint.c:2187
static void default_get_tarmat_full_bbone(struct Depsgraph *UNUSED(depsgraph), bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
Definition: constraint.c:791
static void translike_flush_tars(bConstraint *con, ListBase *list, bool no_copy)
Definition: constraint.c:2202
static void translike_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targets)
Definition: constraint.c:2214

Definition at line 2239 of file constraint.c.

Referenced by constraints_init_typeinfo().

◆ LOG

CLG_LogRef LOG = {"bke.constraint"}
static

Definition at line 104 of file constraint.c.

Referenced by BKE_constraint_typeinfo_from_type().

◆ track_dir_vecs

const float track_dir_vecs[6][3]
static
Initial value:
= {
{+1, 0, 0},
{0, +1, 0},
{0, 0, +1},
{-1, 0, 0},
{0, -1, 0},
{0, 0, -1}
}

Definition at line 4379 of file constraint.c.

Referenced by damptrack_do_transform().