Blender
V3.3
|
#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_listbase.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.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 |
#define DNA_DEPRECATED_ALLOW |
Definition at line 9 of file constraint.c.
#define SINGLETARGET_FLUSH_TARS | ( | con, | |
datatar, | |||
datasubtarget, | |||
ct, | |||
list, | |||
no_copy | |||
) |
Definition at line 914 of file constraint.c.
#define SINGLETARGET_GET_TARS | ( | con, | |
datatar, | |||
datasubtarget, | |||
ct, | |||
list | |||
) |
Definition at line 858 of file constraint.c.
#define SINGLETARGETNS_FLUSH_TARS | ( | con, | |
datatar, | |||
ct, | |||
list, | |||
no_copy | |||
) |
Definition at line 936 of file constraint.c.
#define SINGLETARGETNS_GET_TARS | ( | con, | |
datatar, | |||
ct, | |||
list | |||
) |
Definition at line 893 of file constraint.c.
#define VALID_CONS_TARGET | ( | ct | ) | ((ct) && (ct->tar)) |
Definition at line 92 of file constraint.c.
typedef struct FollowTrackContext FollowTrackContext |
typedef struct tConstraintLinkData tConstraintLinkData |
|
static |
Definition at line 2915 of file constraint.c.
References ACTCON_MIX_AFTER, ACTCON_MIX_AFTER_FULL, ACTCON_MIX_AFTER_SPLIT, ACTCON_MIX_BEFORE, ACTCON_MIX_BEFORE_FULL, ACTCON_MIX_BEFORE_SPLIT, ACTCON_USE_EVAL_TIME, BLI_assert_msg, data, bConstraint::data, ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_m4m4(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), and VALID_CONS_TARGET.
|
static |
Definition at line 2793 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2804 of file constraint.c.
References ACTCON_BONE_USE_OBJECT_ACTION, ACTCON_USE_EVAL_TIME, BKE_animsys_eval_context_construct(), BKE_object_to_mat4(), BKE_pchan_calc_mat(), BKE_pose_channel_ensure(), BKE_pose_free_data(), BLI_assert, bPoseChannel::chan_mat, CLAMP, CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, depsgraph, bConstraint::flag, G, G_DEBUG, bConstraint::headtail, Object::id, mat4_to_eul(), mat4_to_size(), bConstraintTarget::matrix, mul_v3_fl(), bPoseChannel::name, bConstraint::name, ID::name, NULL, bConstraintOb::ob, bConstraintOb::pchan, RAD2DEGF, bPoseChannel::rotmode, bConstraintTarget::space, bConstraintTarget::subtarget, t, bConstraintTarget::tar, bConstraintOb::type, unit_m4(), VALID_CONS_TARGET, and what_does_obaction().
|
static |
Definition at line 2778 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2767 of file constraint.c.
References data, and bConstraint::data.
Definition at line 2756 of file constraint.c.
References ACTCON_MIX_AFTER, and data.
|
static |
Definition at line 5807 of file constraint.c.
References ACTCON_MIX_BEFORE_SPLIT, add_new_constraint_internal(), add_new_constraint_to_list(), CONSTRAINT_SPACE_LOCAL, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACEONCE, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_CHILDOF, data, bConstraint::data, bConstraint::flag, bConstraint::ownspace, and type.
Referenced by BKE_constraint_add_for_object(), and BKE_constraint_add_for_pose().
|
static |
Definition at line 5742 of file constraint.c.
References BKE_constraint_typeinfo_from_type(), BLI_strncpy(), CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_SPLINEIK, bConstraint::data, DATA_, ELEM, bConstraint::enforce, bConstraint::flag, MEM_callocN, bConstraintTypeInfo::name, bConstraint::name, bConstraintTypeInfo::new_data, bConstraintTypeInfo::size, bConstraintTypeInfo::structName, type, bConstraint::type, bConstraint::ui_expand_flag, UI_PANEL_DATA_EXPAND_ROOT, UI_SUBPANEL_DATA_EXPAND_1, and UI_SUBPANEL_DATA_EXPAND_2.
Referenced by add_new_constraint().
|
static |
Definition at line 5787 of file constraint.c.
References BKE_constraint_unique_name(), BKE_constraints_active_set(), BLI_addtail(), bPoseChannel::constraints, and Object::constraints.
Referenced by add_new_constraint(), BKE_constraint_copy_for_object(), and BKE_constraint_copy_for_pose().
|
static |
Definition at line 2603 of file constraint.c.
References Bone::arm_head, Bone::arm_mat, Bone::arm_tail, armdef_accumulate_matrix(), bPoseChannel_Runtime::bbone_deform_mats, bPoseChannel_Runtime::bbone_rest_mats, bPoseChannel_Runtime::bbone_segments, BKE_pchan_bbone_deform_segment_index(), blend(), bPoseChannel::bone, BONE_MULT_VG_ENV, bPoseChannel::chan_mat, Bone::dist, distfactor_to_bone(), Bone::flag, float(), invert_m4_m4(), Bone::length, Mat4::mat, mul_m4_m4m4(), mul_v3_m4v3(), NULL, Object::obmat, Bone::rad_head, Bone::rad_tail, bPoseChannel::runtime, Bone::segments, bConstraintTarget::tar, bConstraintTarget::weight, and y.
Referenced by armdef_evaluate().
|
static |
Definition at line 2569 of file constraint.c.
References add_weighted_dq_dq(), madd_m4_m4m4fl(), mat4_to_dquat(), mul_m4_m4m4(), mul_m4_series, NULL, and orthogonalize_m4_stable().
Referenced by armdef_accumulate_bone().
|
static |
Definition at line 2517 of file constraint.c.
References BLI_duplicatelist(), bConstraint::data, and bArmatureConstraint::targets.
|
static |
Definition at line 2678 of file constraint.c.
References Bone::arm_head, armdef_accumulate_bone(), BKE_pose_channel_find_name(), bPoseChannel::bone, CONSTRAINT_ARMATURE_CUR_LOCATION, CONSTRAINT_ARMATURE_ENVELOPE, CONSTRAINT_ARMATURE_QUATERNION, copy_v3_v3(), data, bConstraint::data, dquat_to_mat4(), LISTBASE_FOREACH, bConstraintOb::matrix, mul_m4_fl(), mul_m4_m4m4(), mul_m4_v3(), normalize_dq(), NULL, bConstraintOb::ob, OB_ARMATURE, Object::obmat, bConstraintOb::pchan, Object::pose, bConstraintTarget::subtarget, bConstraintTarget::tar, Object::type, VALID_CONS_TARGET, bConstraintTarget::weight, and zero_m4().
|
static |
Definition at line 2509 of file constraint.c.
References BLI_freelistN(), data, and bConstraint::data.
|
static |
Definition at line 2549 of file constraint.c.
References BKE_pose_channel_find_name(), bConstraintTarget::matrix, mul_m4_m4m4(), NULL, OB_ARMATURE, Object::obmat, Object::pose, bPoseChannel::pose_mat, bConstraintTarget::subtarget, bConstraintTarget::tar, Object::type, and unit_m4().
|
static |
Definition at line 2525 of file constraint.c.
References BLI_listbase_count(), data, and bConstraint::data.
|
static |
Definition at line 2538 of file constraint.c.
References data, bConstraint::data, LISTBASE_FOREACH, and bConstraintTarget::tar.
|
static |
Definition at line 1170 of file constraint.c.
Referenced by vectomat().
bConstraint* BKE_constraint_add_for_object | ( | struct Object * | ob, |
const char * | name, | ||
short | type | ||
) |
Add new constraint for the given object.
Definition at line 5870 of file constraint.c.
References add_new_constraint(), NULL, and type.
Referenced by blo_do_version_old_trackto_to_constraints(), constraint_add_exec(), DocumentImporter::create_constraints(), ED_object_parent_set(), blender::io::usd::USDXformReader::read_object_data(), blender::io::alembic::AbcObjectReader::setupObjectTransform(), and track_set_exec().
bConstraint* BKE_constraint_add_for_pose | ( | struct Object * | ob, |
struct bPoseChannel * | pchan, | ||
const char * | name, | ||
short | type | ||
) |
Add new constraint for the given bone.
Definition at line 5858 of file constraint.c.
References add_new_constraint(), NULL, and type.
Referenced by add_temporary_ik_constraint(), and constraint_add_exec().
bool BKE_constraint_apply_and_remove_for_object | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
ListBase * | constraints, | ||
Object * | ob, | ||
bConstraint * | con | ||
) |
Definition at line 5658 of file constraint.c.
References BKE_constraint_apply_for_object(), BKE_constraint_remove_ex(), constraints, depsgraph, and scene.
Referenced by constraint_apply_exec().
bool BKE_constraint_apply_and_remove_for_pose | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
ListBase * | constraints, | ||
Object * | ob, | ||
bConstraint * | con, | ||
bPoseChannel * | pchan | ||
) |
Definition at line 5720 of file constraint.c.
References BKE_constraint_apply_for_pose(), BKE_constraint_remove_ex(), constraints, depsgraph, and scene.
Referenced by constraint_apply_exec().
bool BKE_constraint_apply_for_object | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
struct bConstraint * | con | ||
) |
Apply the specified constraint in the given constraint stack.
Definition at line 5617 of file constraint.c.
References BKE_constraint_duplicate_ex(), BKE_constraint_free_data(), BKE_constraints_clear_evalob(), BKE_constraints_find_name(), BKE_constraints_make_evalob(), BKE_constraints_solve(), BKE_object_apply_mat4(), BKE_scene_frame_get(), BLI_freelinkN(), Object::constinv, CONSTRAINT_OBTYPE_OBJECT, Object::constraints, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), depsgraph, ID_IS_LINKED, bConstraintOb::matrix, mul_m4_m4m4(), bConstraint::name, NULL, Object::obmat, and scene.
Referenced by BKE_constraint_apply_and_remove_for_object().
bool BKE_constraint_apply_for_pose | ( | Depsgraph * | depsgraph, |
Scene * | scene, | ||
Object * | ob, | ||
bPoseChannel * | pchan, | ||
bConstraint * | con | ||
) |
Definition at line 5671 of file constraint.c.
References BKE_armature_mat_pose_to_bone(), BKE_constraint_duplicate_ex(), BKE_constraint_free_data(), BKE_constraints_clear_evalob(), BKE_constraints_find_name(), BKE_constraints_make_evalob(), BKE_constraints_solve(), BKE_pchan_apply_mat4(), BKE_pose_channel_find_name(), BKE_scene_frame_get(), BLI_freelinkN(), bPoseChannel::bone, BONE_CONNECTED, bPoseChannel::constinv, CONSTRAINT_OBTYPE_BONE, bPoseChannel::constraints, copy_v3_v3(), DEG_get_evaluated_object(), DEG_get_evaluated_scene(), depsgraph, ListBase::first, Bone::flag, ID_IS_LINKED, ListBase::last, bConstraintOb::matrix, mul_m4_m4m4(), bPoseChannel::name, bConstraint::name, Object::pose, bPoseChannel::pose_mat, and scene.
Referenced by BKE_constraint_apply_and_remove_for_pose().
void BKE_constraint_blend_read_data | ( | BlendDataReader * | reader, |
ListBase * | lb | ||
) |
Definition at line 6489 of file constraint.c.
References BLO_read_data_address, BLO_read_list(), CONSTRAINT_IK_AUTO, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACEONCE, CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_CHILDOF, CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_PYTHON, CONSTRAINT_TYPE_SPLINEIK, CONSTRAINT_TYPE_TRANSFORM_CACHE, data, bConstraint::data, bConstraint::flag, IDP_BlendDataRead, bConstraint::lin_error, LISTBASE_FOREACH, NULL, bConstraint::ownspace, bConstraint::rot_error, and bConstraint::type.
Referenced by BKE_pose_blend_read_data(), and object_blend_read_data().
void BKE_constraint_blend_read_expand | ( | BlendExpander * | expander, |
ListBase * | lb | ||
) |
Definition at line 6596 of file constraint.c.
References BKE_constraints_id_loop(), BLO_expand, expand_constraint_cb(), and LISTBASE_FOREACH.
Referenced by BKE_pose_blend_read_expand(), and object_blend_read_expand().
void BKE_constraint_blend_read_lib | ( | BlendLibReader * | reader, |
ID * | id, | ||
ListBase * | conlist | ||
) |
Definition at line 6559 of file constraint.c.
References BKE_constraints_id_loop(), BLO_read_id_address, CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, CONSTRAINT_TYPE_NULL, bConstraint::data, bConstraint::flag, tConstraintLinkData::id, id, ID_IS_LINKED, ID::lib, lib_link_constraint_cb(), LISTBASE_FOREACH, NULL, tConstraintLinkData::reader, and bConstraint::type.
Referenced by BKE_pose_blend_read_lib(), and object_blend_read_lib().
void BKE_constraint_blend_write | ( | BlendWriter * | writer, |
ListBase * | conlist | ||
) |
Definition at line 6437 of file constraint.c.
References BKE_constraint_typeinfo_get(), BLO_write_float_array(), BLO_write_struct, BLO_write_struct_by_name(), CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_PYTHON, CONSTRAINT_TYPE_SPLINEIK, data, bConstraint::data, IDP_BlendWrite(), LISTBASE_FOREACH, bConstraintTypeInfo::structName, and bConstraint::type.
Referenced by BKE_pose_blend_write(), and object_blend_write().
bConstraint* BKE_constraint_copy_for_object | ( | struct Object * | ob, |
struct bConstraint * | src | ||
) |
Add a copy of the given constraint for the given object.
Definition at line 5966 of file constraint.c.
References add_new_constraint_to_list(), BKE_constraint_duplicate_ex(), ID_IS_LINKED, NULL, and src.
Referenced by constraint_copy_exec(), constraint_copy_to_selected_exec(), and ED_object_constraint_copy_for_object().
bConstraint* BKE_constraint_copy_for_pose | ( | struct Object * | ob, |
struct bPoseChannel * | pchan, | ||
struct bConstraint * | src | ||
) |
Add a copy of the given constraint for the given bone.
Definition at line 5955 of file constraint.c.
References add_new_constraint_to_list(), BKE_constraint_duplicate_ex(), ID_IS_LINKED, NULL, and src.
Referenced by constraint_copy_exec(), constraint_copy_to_selected_exec(), and ED_object_constraint_copy_for_pose().
void BKE_constraint_custom_object_space_init | ( | struct bConstraintOb * | cob, |
struct bConstraint * | con | ||
) |
Initialize the Custom Space matrix inside cob
(if required by the constraint).
cob | Constraint evaluation context (contains the matrix to be initialized). |
con | Constraint that is about to be evaluated. |
Definition at line 6331 of file constraint.c.
References CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), is_custom_space_needed(), NULL, bConstraintOb::space_obj_world_matrix, bConstraint::space_object, bConstraint::space_subtarget, and unit_m4().
Referenced by BKE_constraint_target_matrix_get(), BKE_constraints_solve(), constraintTransLim(), OVERLAY_relationship_lines(), updateDuplicateActionConstraintSettings(), and updateDuplicateLocRotConstraintSettings().
bConstraint* BKE_constraint_duplicate_ex | ( | struct bConstraint * | src, |
int | flag, | ||
bool | do_extern | ||
) |
Allocate and duplicate a single constraint, outside of any object/pose context.
Definition at line 5947 of file constraint.c.
References constraint_copy_data_ex(), MEM_dupallocN, bConstraint::next, NULL, bConstraint::prev, and src.
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_constraint_copy_for_object(), and BKE_constraint_copy_for_pose().
bConstraint* BKE_constraint_find_from_target | ( | struct Object * | ob, |
struct bConstraintTarget * | tgt, | ||
struct bPoseChannel ** | r_pchan | ||
) |
Finds the constraint that owns the given target within the object.
Definition at line 6052 of file constraint.c.
References bPose::chanbase, constraint_list_find_from_target(), Object::constraints, LISTBASE_FOREACH, NULL, Object::pose, and result.
Referenced by blender::deg::RNANodeQuery::construct_node_identifier().
void BKE_constraint_free_data | ( | bConstraint * | con | ) |
Definition at line 5571 of file constraint.c.
References BKE_constraint_free_data_ex().
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_constraint_remove(), and blo_do_versions_280().
void BKE_constraint_free_data_ex | ( | struct 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 5549 of file constraint.c.
References BKE_constraint_typeinfo_get(), con_invoke_id_looper(), con_unlink_refs_cb(), bConstraint::data, bConstraintTypeInfo::free_data, MEM_freeN, and NULL.
Referenced by BKE_constraint_free_data(), and BKE_constraints_free_ex().
bool BKE_constraint_is_nonlocal_in_liboverride | ( | const Object * | ob, |
const bConstraint * | con | ||
) |
Definition at line 6149 of file constraint.c.
References CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, bConstraint::flag, ID_IS_OVERRIDE_LIBRARY, and NULL.
void BKE_constraint_mat_convertspace | ( | struct Object * | ob, |
struct bPoseChannel * | pchan, | ||
struct bConstraintOb * | cob, | ||
float | mat[4][4], | ||
short | from, | ||
short | to, | ||
bool | keep_scale | ||
) |
This function is responsible for the correct transformations/conversions of a matrix from one space to another for constraint evaluation. For now, this is only implemented for objects and pose-channels.
Definition at line 245 of file constraint.c.
References Bone::arm_mat, BKE_armature_mat_bone_to_pose(), BKE_armature_mat_pose_to_bone(), BKE_constraint_mat_convertspace(), BKE_object_to_mat4(), BLI_assert, bPoseChannel::bone, CONSTRAINT_SPACE_CUSTOM, CONSTRAINT_SPACE_LOCAL, CONSTRAINT_SPACE_OWNLOCAL, CONSTRAINT_SPACE_PARLOCAL, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_WORLD, copy_m4_m4(), ELEM, from, invert_m4_m4(), invert_m4_m4_safe(), mul_m4_m4m4(), mul_m4_series, normalize_m4(), NULL, Object::obmat, Object::parent, Object::parentinv, bConstraintOb::pchan, bConstraintOb::space_obj_world_matrix, and zero_v3().
Referenced by BKE_constraint_mat_convertspace(), BKE_constraints_solve(), constraint_target_to_mat4(), dvar_eval_locDiff(), shrinkwrap_get_tarmat(), updateDuplicateActionConstraintSettings(), and updateDuplicateLocRotConstraintSettings().
void BKE_constraint_panel_expand | ( | bConstraint * | con | ) |
Definition at line 5734 of file constraint.c.
References bConstraint::ui_expand_flag, and UI_PANEL_DATA_EXPAND_ROOT.
Referenced by outliner_set_properties_tab().
bool BKE_constraint_remove | ( | ListBase * | list, |
struct bConstraint * | con | ||
) |
Remove the specified constraint from the given constraint stack.
Definition at line 5592 of file constraint.c.
References BKE_constraint_free_data(), and BLI_freelinkN().
Referenced by BKE_constraint_remove_ex(), object_track_clear_exec(), and pose_ik_clear_exec().
bool BKE_constraint_remove_ex | ( | ListBase * | list, |
Object * | ob, | ||
bConstraint * | con, | ||
bool | clear_dep | ||
) |
Definition at line 5603 of file constraint.c.
References BIK_clear_data(), BKE_constraint_remove(), CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_SPLINEIK, ELEM, Object::pose, type, and bConstraint::type.
Referenced by BKE_constraint_apply_and_remove_for_object(), BKE_constraint_apply_and_remove_for_pose(), constraint_delete_exec(), and constraint_fn().
void BKE_constraint_target_matrix_get | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct bConstraint * | con, | ||
int | index, | ||
short | ownertype, | ||
void * | ownerdata, | ||
float | mat[4][4], | ||
float | ctime | ||
) |
This function is a relic from the prior implementations of the constraints system, when all constraints either had one or no targets. It used to be called during the main constraint solving loop, but is now only used for the remaining cases for a few constraints.
None of the actual calculations of the matrices should be done here! Also, this function is not to be used by any new constraints, particularly any that have multiple targets.
Definition at line 6214 of file constraint.c.
References BKE_constraint_custom_object_space_init(), BKE_constraint_typeinfo_get(), BLI_findlink(), CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, copy_m4_m4(), bConstraintOb::depsgraph, depsgraph, bConstraintTypeInfo::flush_constraint_targets, bConstraintTypeInfo::get_constraint_targets, bConstraintTypeInfo::get_target_matrix, bConstraintOb::matrix, bConstraintTarget::matrix, MEM_callocN, MEM_freeN, NULL, bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bPoseChannel::pose_mat, bConstraintOb::scene, scene, bConstraintOb::startmat, bConstraintOb::type, and unit_m4().
Referenced by base_callback(), ED_object_parent_set(), execute_posetree(), and target_callback().
bool BKE_constraint_target_uses_bbone | ( | struct bConstraint * | con, |
struct bConstraintTarget * | ct | ||
) |
Definition at line 5847 of file constraint.c.
References CONSTRAINT_BBONE_SHAPE, CONSTRAINT_TAR_CUSTOM_SPACE, CONSTRAINT_TYPE_ARMATURE, bConstraint::flag, bConstraintTarget::flag, and bConstraint::type.
Referenced by blender::deg::DepsgraphRelationBuilder::build_constraints().
void BKE_constraint_targets_flush | ( | struct bConstraint * | con, |
struct ListBase * | targets, | ||
bool | no_copy | ||
) |
Copies changed data from the list produced by BKE_constraint_targets_get back to the constraint data structures and frees memory.
targets | List of targets filled by BKE_constraint_targets_get. |
no_copy | Only free memory without copying changes (read-only mode). |
Definition at line 6186 of file constraint.c.
References BKE_constraint_typeinfo_get(), BLI_assert, BLI_freelinkN(), BLI_strncpy(), CONSTRAINT_TAR_CUSTOM_SPACE, bConstraintTarget::flag, bConstraintTypeInfo::flush_constraint_targets, if(), is_custom_space_needed(), ListBase::last, bConstraint::space_object, bConstraint::space_subtarget, bConstraintTarget::subtarget, and bConstraintTarget::tar.
Referenced by BKE_object_modifier_update_subframe(), BKE_pose_channels_remove(), blender::deg::DepsgraphRelationBuilder::build_constraints(), constraint_bone_name_fix(), copy_object_pose(), BCAnimationSampler::is_animated_by_constraint(), joined_armature_fix_links_constraints(), OVERLAY_relationship_lines(), pose_select_constraint_target_exec(), separated_armature_fix_links(), set_constraint_nth_target(), test_constraint(), and updateDuplicateSubtarget().
void BKE_constraint_targets_for_solving_get | ( | struct Depsgraph * | depsgraph, |
struct bConstraint * | con, | ||
struct bConstraintOb * | ob, | ||
struct ListBase * | targets, | ||
float | ctime | ||
) |
Get the list of targets required for solving a constraint.
Definition at line 6293 of file constraint.c.
References BKE_constraint_typeinfo_get(), CONSTRAINT_TYPE_ARMATURE, depsgraph, ELEM, ListBase::first, bConstraintTypeInfo::get_constraint_targets, bConstraintTypeInfo::get_target_matrix, bConstraintTarget::matrix, bConstraintTarget::next, bConstraintTypeInfo::type, and unit_m4().
Referenced by BKE_constraints_solve(), and constraintTransLim().
int BKE_constraint_targets_get | ( | struct bConstraint * | con, |
struct ListBase * | r_targets | ||
) |
Retrieves the list of all constraint targets, including the custom space target. Must be followed by a call to BKE_constraint_targets_flush to free memory.
r_targets | Pointer to the list to be initialized with target data. |
Definition at line 6157 of file constraint.c.
References BKE_constraint_typeinfo_get(), BLI_listbase_clear(), CONSTRAINT_SPACE_WORLD, CONSTRAINT_TAR_CUSTOM_SPACE, count, bConstraintTarget::flag, bConstraintTypeInfo::get_constraint_targets, is_custom_space_needed(), SINGLETARGET_GET_TARS, bConstraintTarget::space, bConstraint::space_object, and bConstraint::space_subtarget.
Referenced by BKE_object_modifier_update_subframe(), BKE_pose_channels_remove(), blender::deg::DepsgraphRelationBuilder::build_constraints(), constraint_bone_name_fix(), copy_object_pose(), BCAnimationSampler::is_animated_by_constraint(), joined_armature_fix_links_constraints(), OVERLAY_relationship_lines(), pose_select_constraint_target_exec(), separated_armature_fix_links(), set_constraint_nth_target(), test_constraint(), and updateDuplicateSubtarget().
const bConstraintTypeInfo* BKE_constraint_typeinfo_from_type | ( | int | type | ) |
This function should be used for getting the appropriate type-info when only a constraint type is known.
Definition at line 5487 of file constraint.c.
References CLOG_WARN, CONSTRAINT_TYPE_NULL, constraints_init_typeinfo(), constraintsTypeInfo, CTI_INIT, LOG, NULL, NUM_CONSTRAINT_TYPES, and type.
Referenced by add_new_constraint_internal(), BKE_constraint_typeinfo_get(), bone_constraint_panel_id(), constraintRotLim(), constraintSizeLim(), constraintTransLim(), and object_constraint_panel_id().
const bConstraintTypeInfo* BKE_constraint_typeinfo_get | ( | struct bConstraint * | con | ) |
This function should always be used to get the appropriate type-info, as it has checks which prevent segfaults in some weird cases.
Definition at line 5506 of file constraint.c.
References BKE_constraint_typeinfo_from_type(), NULL, and bConstraint::type.
Referenced by bc_validateConstraints(), BKE_constraint_blend_write(), BKE_constraint_free_data_ex(), BKE_constraint_target_matrix_get(), BKE_constraint_targets_flush(), BKE_constraint_targets_for_solving_get(), BKE_constraint_targets_get(), BKE_constraints_id_loop(), BKE_constraints_solve(), blender::deg::DepsgraphRelationBuilder::build_constraints(), constraint_copy_data_ex(), object_solver_camera(), object_solver_inverted_matrix(), and OVERLAY_relationship_lines().
void BKE_constraint_unique_name | ( | struct bConstraint * | con, |
struct ListBase * | list | ||
) |
Find the first available, non-duplicate name for a given constraint.
Definition at line 112 of file constraint.c.
References BLI_uniquename(), DATA_, and bConstraint::name.
Referenced by add_new_constraint_to_list().
bConstraint* BKE_constraints_active_get | ( | struct ListBase * | list | ) |
Finds the 'active' constraint in a constraint stack.
Definition at line 6001 of file constraint.c.
References CONSTRAINT_ACTIVE, bConstraint::flag, LISTBASE_FOREACH, and NULL.
Referenced by ED_object_constraint_active_get().
void BKE_constraints_active_set | ( | ListBase * | list, |
struct bConstraint * | con | ||
) |
Set the given constraint as the active one (clearing all the others).
Definition at line 6017 of file constraint.c.
References CONSTRAINT_ACTIVE, and LISTBASE_FOREACH.
Referenced by add_new_constraint_to_list(), constraint_fn(), and ED_object_constraint_active_set().
void BKE_constraints_clear_evalob | ( | struct bConstraintOb * | cob | ) |
Cleanup after constraint evaluation.
Definition at line 196 of file constraint.c.
References bPoseChannel::constinv, Object::constinv, CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, copy_m4_m4(), Object::imat, invert_m4_m4(), bConstraintOb::matrix, MEM_freeN, mul_m4_m4m4(), NULL, bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bPoseChannel::pose_mat, bConstraintOb::startmat, and bConstraintOb::type.
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_object_eval_constraints(), BKE_pose_where_is_bone(), and object_where_is_calc_ex().
Definition at line 5989 of file constraint.c.
References BKE_constraints_copy_ex(), and src.
void BKE_constraints_copy_ex | ( | ListBase * | dst, |
const ListBase * | src, | ||
const int | flag, | ||
bool | do_extern | ||
) |
Definition at line 5973 of file constraint.c.
References BLI_duplicatelist(), BLI_listbase_clear(), constraint_copy_data_ex(), CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, ListBase::first, bConstraint::flag, LIB_ID_COPY_NO_LIB_OVERRIDE_LOCAL_DATA_FLAG, bConstraint::next, and src.
Referenced by BKE_constraints_copy().
bConstraint* BKE_constraints_find_name | ( | ListBase * | list, |
const char * | name | ||
) |
Definition at line 5996 of file constraint.c.
References BLI_findstring().
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), and edit_constraint_property_get().
Definition at line 5587 of file constraint.c.
References BKE_constraints_free_ex().
Referenced by ED_object_constraint_link(), make_object_duplilist_real(), object_constraints_clear_exec(), and pose_constraints_clear_exec().
Free all constraints from a constraint-stack.
Definition at line 5576 of file constraint.c.
References BKE_constraint_free_data_ex(), BLI_freelistN(), and LISTBASE_FOREACH.
Referenced by BKE_constraints_free(), BKE_pose_channel_free_ex(), and object_free_data().
void BKE_constraints_id_loop | ( | struct ListBase * | list, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) |
Run the given callback on all ID-blocks in list of constraints.
Definition at line 5877 of file constraint.c.
References BKE_constraint_typeinfo_get(), con_invoke_id_looper(), and LISTBASE_FOREACH.
Referenced by BKE_constraint_blend_read_expand(), BKE_constraint_blend_read_lib(), blender::deg::DepsgraphNodeBuilder::build_object(), blender::deg::DepsgraphRelationBuilder::build_object(), blender::deg::DepsgraphNodeBuilder::build_pose_constraints(), blender::deg::DepsgraphRelationBuilder::build_rig(), and object_foreach_id().
bConstraintOb* BKE_constraints_make_evalob | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct Object * | ob, | ||
void * | subdata, | ||
short | datatype | ||
) |
Package an object/bone for use in constraint evaluation.
This function MEM_calloc's a bConstraintOb struct, that will need to be freed after evaluation.
Definition at line 119 of file constraint.c.
References CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, copy_m4_m4(), bConstraintOb::depsgraph, depsgraph, EULER_ORDER_DEFAULT, bConstraintOb::matrix, MEM_callocN, mul_m4_m4m4(), bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bPoseChannel::pose_mat, bPoseChannel::rotmode, Object::rotmode, bConstraintOb::rotOrder, bConstraintOb::scene, scene, bConstraintOb::startmat, bConstraintOb::type, and unit_m4().
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_object_eval_constraints(), BKE_pose_where_is_bone(), object_where_is_calc_ex(), and OVERLAY_relationship_lines().
void BKE_constraints_solve | ( | struct Depsgraph * | depsgraph, |
struct ListBase * | conlist, | ||
struct bConstraintOb * | cob, | ||
float | ctime | ||
) |
This function is called whenever constraints need to be evaluated. Currently, all constraints that can be evaluated are every time this gets run.
BKE_constraints_make_evalob and BKE_constraints_clear_evalob should be called before and after running this function, to sort out cob.
Definition at line 6352 of file constraint.c.
References BKE_constraint_custom_object_space_init(), BKE_constraint_mat_convertspace(), BKE_constraint_targets_for_solving_get(), BKE_constraint_typeinfo_get(), CONSTRAINT_DISABLE, CONSTRAINT_OFF, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACEONCE, copy_m4_m4(), depsgraph, bConstraint::enforce, bConstraintTypeInfo::evaluate_constraint, ListBase::first, bConstraint::flag, bConstraintTypeInfo::flush_constraint_targets, interp_m4_m4m4(), bConstraintOb::matrix, bConstraint::next, NULL, bConstraintOb::ob, bConstraint::ownspace, and bConstraintOb::pchan.
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_object_eval_constraints(), BKE_pose_where_is_bone(), and object_where_is_calc_ex().
|
static |
Definition at line 5216 of file constraint.c.
References BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_camera_get_reconstructed_interpolate(), BKE_tracking_object_get_camera(), CAMERASOLVER_ACTIVECLIP, Scene::clip, copy_m4_m4(), data, bConstraint::data, DEG_get_ctime(), bConstraintOb::depsgraph, depsgraph, bConstraintOb::matrix, mul_m4_m4m4(), bConstraintOb::scene, scene, and MovieClip::tracking.
|
static |
Definition at line 5209 of file constraint.c.
References data, and bConstraint::data.
Definition at line 5201 of file constraint.c.
References CAMERASOLVER_ACTIVECLIP, data, and NULL.
|
static |
Definition at line 1002 of file constraint.c.
References CHILDOF_ALL, CHILDOF_LOCX, CHILDOF_LOCY, CHILDOF_LOCZ, CHILDOF_ROTX, CHILDOF_ROTY, CHILDOF_ROTZ, CHILDOF_SET_INVERSE, CHILDOF_SIZEX, CHILDOF_SIZEY, CHILDOF_SIZEZ, constraint_find_original_for_update(), copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, bChildOfConstraint::flag, invert_m4_m4(), bChildOfConstraint::invmat, loc_eulO_size_to_mat4(), mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_series, NULL, bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bConstraintOb::rotOrder, bConstraintTarget::rotOrder, size(), and VALID_CONS_TARGET.
|
static |
Definition at line 991 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 976 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 968 of file constraint.c.
References data, and bConstraint::data.
Definition at line 958 of file constraint.c.
References CHILDOF_LOCX, CHILDOF_LOCY, CHILDOF_LOCZ, CHILDOF_ROTX, CHILDOF_ROTY, CHILDOF_ROTZ, CHILDOF_SET_INVERSE, CHILDOF_SIZEX, CHILDOF_SIZEY, CHILDOF_SIZEZ, data, and unit_m4().
|
static |
Definition at line 3818 of file constraint.c.
References BKE_object_minmax(), BKE_where_on_path(), ceilf, CLAMPTO_AUTO, CLAMPTO_CYCLIC, CLAMPTO_X, CLAMPTO_Y, CLAMPTO_Z, copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, INIT_MINMAX, IS_EQF, len, bConstraintOb::matrix, mul_m4_m4m4(), NULL, OB_CURVES_LEGACY, Object::obmat, offset, size(), sub_v3_v3v3(), bConstraintTarget::tar, Object::type, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 3793 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 3804 of file constraint.c.
References bConstraintTarget::matrix, and unit_m4().
|
static |
Definition at line 3778 of file constraint.c.
References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 3770 of file constraint.c.
References data, and bConstraint::data.
|
static |
Definition at line 5891 of file constraint.c.
References ID_IS_LINKED, and id_lib_extern().
Referenced by constraint_copy_data_ex().
|
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 5905 of file constraint.c.
References id_us_plus().
Referenced by constraint_copy_data_ex().
|
static |
Helper function to invoke the id_looper callback, including custom space.
Definition at line 5537 of file constraint.c.
References bConstraintTypeInfo::id_looper, and bConstraint::space_object.
Referenced by BKE_constraint_free_data_ex(), BKE_constraints_id_loop(), and constraint_copy_data_ex().
|
static |
Helper function for BKE_constraint_free_data() - unlinks references.
Definition at line 5526 of file constraint.c.
References id_us_min().
Referenced by BKE_constraint_free_data_ex().
|
static |
Copies a single constraint's data (dst must already be a shallow copy of src).
Definition at line 5917 of file constraint.c.
References BKE_constraint_typeinfo_get(), con_extern_cb(), con_fix_copied_refs_cb(), con_invoke_id_looper(), bConstraintTypeInfo::copy_data, bConstraint::data, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, NULL, and src.
Referenced by BKE_constraint_duplicate_ex(), and BKE_constraints_copy_ex().
|
static |
Definition at line 6084 of file constraint.c.
References BLI_findindex(), BLI_findlink(), constraints, bPoseChannel::constraints, Object::constraints, DEG_get_original_id(), ELEM, Object::id, bConstraint::name, NULL, bPoseChannel::orig_pchan, STREQ, and bConstraint::type.
Referenced by constraint_find_original_for_update().
|
static |
Definition at line 6132 of file constraint.c.
References constraint_find_original(), DEG_id_tag_update(), DEG_is_active(), bConstraintOb::depsgraph, Object::id, ID_RECALC_COPY_ON_WRITE, ID_RECALC_TRANSFORM, NULL, bConstraintOb::ob, and bConstraintOb::pchan.
Referenced by childof_evaluate(), distlimit_evaluate(), objectsolver_evaluate(), and stretchto_evaluate().
|
static |
Definition at line 6032 of file constraint.c.
References BLI_findindex(), CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_PYTHON, constraints, bConstraint::data, LISTBASE_FOREACH, NULL, and bConstraint::type.
Referenced by BKE_constraint_find_from_target().
|
static |
Definition at line 675 of file constraint.c.
References bPoseChannel_Runtime::bbone_pose_mats, bPoseChannel_Runtime::bbone_segments, BKE_constraint_mat_convertspace(), BKE_pchan_bbone_deform_segment_index(), BKE_pose_channel_find_name(), bPoseChannel::bone, CONSTRAINT_BBONE_SHAPE, CONSTRAINT_BBONE_SHAPE_FULL, contarget_get_lattice_mat(), contarget_get_mesh_mat(), copy_m4_m4(), copy_v3_v3(), from, interp_m4_m4m4(), interp_v3_v3v3(), mul_m4_m4m4(), mul_v3_m4v3(), NULL, OB_LATTICE, OB_MESH, Object::obmat, Object::pose, bPoseChannel::pose_head, bPoseChannel::pose_mat, bPoseChannel::pose_tail, bPoseChannel::runtime, Bone::segments, and Object::type.
Referenced by actcon_get_tarmat(), BKE_constraint_custom_object_space_init(), default_get_tarmat(), default_get_tarmat_full_bbone(), kinematic_get_tarmat(), and pycon_get_tarmat().
Definition at line 5452 of file constraint.c.
References constraintsTypeInfo, CTI_ACTION, CTI_ARMATURE, CTI_CAMERASOLVER, CTI_CHILDOF, CTI_CLAMPTO, CTI_DAMPTRACK, CTI_DISTLIMIT, CTI_FOLLOWPATH, CTI_FOLLOWTRACK, CTI_KINEMATIC, CTI_LOCKTRACK, CTI_LOCLIKE, CTI_LOCLIMIT, CTI_MINMAX, CTI_OBJECTSOLVER, CTI_PIVOT, CTI_PYTHON, CTI_ROTLIKE, CTI_ROTLIMIT, CTI_SAMEVOL, CTI_SHRINKWRAP, CTI_SIZELIKE, CTI_SIZELIMIT, CTI_SPLINEIK, CTI_STRETCHTO, CTI_TRACKTO, CTI_TRANSFORM, CTI_TRANSFORM_CACHE, CTI_TRANSLIKE, and NULL.
Referenced by BKE_constraint_typeinfo_from_type().
|
static |
Definition at line 611 of file constraint.c.
References add_v3_v3(), BKE_defvert_find_index(), BKE_displist_find(), BKE_object_defgroup_name_index(), copy_m4_m4(), copy_v3_v3(), Object_Runtime::curve_cache, Object::data, Lattice::def, CurveCache::disp, DL_VERTS, Lattice::dvert, mul_v3_fl(), mul_v3_m4v3(), NULL, Object::obmat, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::runtime, MDeformVert::totweight, BPoint::vec, and MDeformWeight::weight.
Referenced by constraint_target_to_mat4().
Definition at line 509 of file constraint.c.
References BKE_defvert_find_index(), BKE_editmesh_from_object(), BKE_mesh_vertex_normals_ensure(), BKE_object_defgroup_name_index(), BKE_object_get_evaluated_mesh(), BMEditMesh::bm, BM_ITER_MESH, BM_VERTS_OF_MESH, CD_MDEFORMVERT, BMVert::co, copy_m3_m4(), copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), CustomData_bmesh_get(), CustomData_get_layer(), CustomData_has_layer(), BMHeader::data, float(), BMVert::head, invert_m3_m3(), len_squared_v3(), madd_v3_v3fl(), mul_m3_v3(), mul_v3_fl(), mul_v3_m4v3(), Mesh::mvert, BMVert::no, normal, normalize_m4(), normalize_v3(), Object::obmat, square_f(), Mesh::totvert, transpose_m3(), v, BMesh::vdata, Mesh::vdata, and MDeformWeight::weight.
Referenced by constraint_target_to_mat4().
|
static |
Definition at line 4462 of file constraint.c.
References acosf, asinf, axis_angle_normalized_to_mat3(), copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), cross_v3_v3v3_hi_prec(), dot_v3v3(), fabsf, M_PI, M_PI_2, max_ff(), min_ff(), mul_m4_m3m4(), mul_mat3_m4_v3(), norm(), normalize_v3(), normalize_v3_v3(), track_dir_vecs, and unit_m4().
Referenced by damptrack_evaluate(), shrinkwrap_get_tarmat(), and stretchto_evaluate().
|
static |
Definition at line 4447 of file constraint.c.
References damptrack_do_transform(), data, bConstraint::data, ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, sub_v3_v3v3(), and VALID_CONS_TARGET.
|
static |
Definition at line 4426 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 4411 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 4403 of file constraint.c.
References data, and bConstraint::data.
Definition at line 4396 of file constraint.c.
|
static |
Definition at line 808 of file constraint.c.
References CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), bConstraint::flag, bConstraint::headtail, bConstraintTarget::matrix, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 831 of file constraint.c.
References CONSTRAINT_BBONE_SHAPE_FULL, CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), bConstraint::flag, bConstraint::headtail, bConstraintTarget::matrix, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 3329 of file constraint.c.
References constraint_find_original_for_update(), copy_v3_v3(), data, bConstraint::data, bDistLimitConstraint::dist, expf, ListBase::first, float(), interp_v3_v3v3(), IS_EQF, len_v3v3(), LIMITDIST_INSIDE, LIMITDIST_OUTSIDE, LIMITDIST_USESOFT, bConstraintOb::matrix, bConstraintTarget::matrix, NULL, and VALID_CONS_TARGET.
|
static |
Definition at line 3318 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3303 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3295 of file constraint.c.
References data, and bConstraint::data.
Definition at line 3288 of file constraint.c.
References data.
|
static |
Definition at line 6587 of file constraint.c.
References BLO_expand.
Referenced by BKE_constraint_blend_read_expand().
|
static |
Definition at line 1540 of file constraint.c.
References copy_m4_m4(), data, bConstraint::data, ListBase::first, FOLLOWPATH_RADIUS, mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_m4m4(), mul_v3_fl(), size(), and VALID_CONS_TARGET.
|
static |
Definition at line 1452 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 1463 of file constraint.c.
References CurveCache::anim_path_accum_length, BKE_where_on_path(), CLAMP, copy_m4_m4(), copy_v3_v3(), Curve::ctime, CU_NURB_CYCLIC, CU_PATH_CLAMP, Object_Runtime::curve_cache, data, bConstraint::data, Object::data, ListBase::first, Curve::flag, Nurb::flagu, FOLLOWPATH_FOLLOW, FOLLOWPATH_RADIUS, FOLLOWPATH_STATIC, bConstraintTarget::matrix, mul_m4_m4m4(), NULL, Curve::nurb, OB_CURVES_LEGACY, Object::obmat, Curve::pathlen, quat_apply_track(), quat_to_mat4(), Object::runtime, scale_m4_fl(), bConstraintTarget::tar, Object::type, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 1437 of file constraint.c.
References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 1429 of file constraint.c.
References data, and bConstraint::data.
Definition at line 1419 of file constraint.c.
|
static |
Definition at line 4822 of file constraint.c.
References Scene::camera, data, bConstraint::data, NULL, bConstraintOb::scene, and scene.
Referenced by followtrack_context_init().
|
static |
Definition at line 4853 of file constraint.c.
References BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_track_get_named(), blender::compositor::context, data, bConstraint::data, DEG_get_ctime(), bConstraintOb::depsgraph, followtrack_camera_object_get(), followtrack_tracking_clip_get(), followtrack_tracking_object_get(), NULL, and bConstraintOb::scene.
Referenced by followtrack_evaluate().
|
static |
Definition at line 5017 of file constraint.c.
References BKE_object_where_is_calc_mat4(), blender::compositor::context, copy_v3_v3(), len_v3(), bConstraintOb::matrix, mul_v3_mat3_m4v3(), project_v3_v3v3(), and sub_v3_v3().
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 5168 of file constraint.c.
References blender::compositor::context, data, bConstraint::data, followtrack_context_init(), followtrack_evaluate_using_2d_position(), followtrack_evaluate_using_3d_position(), and FOLLOWTRACK_USE_3D_POSITION.
|
static |
Definition at line 5089 of file constraint.c.
References BKE_camera_params_from_object(), BKE_camera_params_init(), BKE_movieclip_get_size(), BKE_tracking_marker_get_subframe_position(), blender::compositor::context, copy_m4_m4(), copy_v3_v3(), followtrack_distance_from_viewplane_get(), followtrack_fit_frame(), followtrack_project_to_depth_object_if_needed(), followtrack_undistort_if_needed(), bConstraintOb::matrix, mul_m4_m4m4(), mul_v3_m4v3(), NULL, Object::obmat, params, Scene::r, scene, RenderData::xasp, RenderData::xsch, RenderData::yasp, RenderData::ysch, and zero_v3().
Referenced by followtrack_evaluate().
|
static |
Definition at line 4935 of file constraint.c.
References blender::compositor::context, MovieTrackingTrack::flag, followtrack_evaluate_using_3d_position_camera(), followtrack_evaluate_using_3d_position_object(), TRACK_HAS_BUNDLE, and TRACKING_OBJECT_CAMERA.
Referenced by followtrack_evaluate().
|
static |
Definition at line 4918 of file constraint.c.
References BKE_tracking_get_camera_object_matrix(), MovieTrackingTrack::bundle_pos, blender::compositor::context, copy_m4_m4(), bConstraintOb::matrix, mul_m4_m4m4(), and translate_m4().
Referenced by followtrack_evaluate_using_3d_position().
|
static |
Definition at line 4891 of file constraint.c.
References BKE_tracking_camera_get_reconstructed_interpolate(), MovieTrackingTrack::bundle_pos, blender::compositor::context, copy_m4_m4(), invert_m4_m4(), bConstraintOb::matrix, mul_m4_series, Object::obmat, and translate_m4().
Referenced by followtrack_evaluate_using_3d_position().
|
static |
Definition at line 4973 of file constraint.c.
References MovieClip::aspx, MovieClip::aspy, blender::compositor::context, fabsf, float(), FOLLOWTRACK_FRAME_CROP, FOLLOWTRACK_FRAME_STRETCH, Scene::r, scene, RenderData::xasp, RenderData::xsch, RenderData::yasp, and RenderData::ysch.
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 4789 of file constraint.c.
References data, and bConstraint::data.
Definition at line 4781 of file constraint.c.
References data, FOLLOWTRACK_ACTIVECLIP, and NULL.
|
static |
Definition at line 5043 of file constraint.c.
References BKE_bvhtree_from_mesh_get(), BKE_object_get_evaluated_mesh(), BLI_bvhtree_ray_cast(), BVH_RAYCAST_DIST_MAX, BVHTREE_FROM_LOOPTRI, BVHTreeRayHit::co, blender::compositor::context, BVHTreeRayHit::dist, free_bvhtree_from_mesh(), BVHTreeRayHit::index, invert_m4_m4(), bConstraintOb::matrix, mul_v3_m4v3(), normalize_v3(), NULL, NULL_BVHTreeFromMesh, Object::obmat, BVHTreeFromMesh::raycast_callback, result, sub_v3_v3v3(), and BVHTreeFromMesh::tree.
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 4798 of file constraint.c.
References Scene::clip, data, bConstraint::data, FOLLOWTRACK_ACTIVECLIP, bConstraintOb::scene, and scene.
Referenced by followtrack_context_init(), and followtrack_tracking_object_get().
|
static |
Definition at line 4810 of file constraint.c.
References BKE_tracking_object_get_camera(), BKE_tracking_object_get_named(), data, bConstraint::data, followtrack_tracking_clip_get(), and MovieClip::tracking.
Referenced by followtrack_context_init().
|
static |
Definition at line 4951 of file constraint.c.
References BKE_tracking_undistort_v2(), blender::compositor::context, and FOLLOWTRACK_USE_UNDISTORTION.
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 951 of file constraint.c.
References CONSTRAINT_SPACE_CUSTOM, bConstraint::ownspace, and bConstraint::tarspace.
Referenced by BKE_constraint_custom_object_space_init(), BKE_constraint_targets_flush(), and BKE_constraint_targets_get().
|
static |
Definition at line 1351 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1363 of file constraint.c.
References CONSTRAINT_IK_AUTO, CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, bConstraint::flag, bConstraint::headtail, bConstraintTarget::matrix, mul_v3_m4v3(), NULL, bConstraintOb::ob, Object::obmat, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 1335 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1324 of file constraint.c.
References data, and bConstraint::data.
Definition at line 1313 of file constraint.c.
References CONSTRAINT_IK_POS, CONSTRAINT_IK_STRETCH, CONSTRAINT_IK_TIP, and data.
|
static |
Definition at line 6550 of file constraint.c.
References BLO_read_id_address, tConstraintLinkData::id, ID::lib, and tConstraintLinkData::reader.
Referenced by BKE_constraint_blend_read_lib().
|
static |
Definition at line 3014 of file constraint.c.
References copy_m3_m4(), cross_v3_v3v3(), data, bConstraint::data, determinant_m3(), ListBase::first, invert_m3_m3(), LOCK_X, LOCK_Y, LOCK_Z, bConstraintOb::matrix, bConstraintTarget::matrix, mul_m3_m3m3(), mul_m4_m3m4(), negate_v3(), normalize_m3(), normalize_v3(), normalize_v3_v3(), project_v3_v3v3(), sub_v3_v3v3(), TRACK_nX, TRACK_nY, TRACK_nZ, TRACK_X, TRACK_Y, TRACK_Z, unit_m3(), and VALID_CONS_TARGET.
|
static |
Definition at line 3003 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2988 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2980 of file constraint.c.
References data, and bConstraint::data.
Definition at line 2972 of file constraint.c.
|
static |
Definition at line 1839 of file constraint.c.
References copy_v3_v3(), data, bConstraint::data, ListBase::first, LOCLIKE_OFFSET, LOCLIKE_X, LOCLIKE_X_INVERT, LOCLIKE_Y, LOCLIKE_Y_INVERT, LOCLIKE_Z, LOCLIKE_Z_INVERT, bConstraintOb::matrix, bConstraintTarget::matrix, offset, and VALID_CONS_TARGET.
|
static |
Definition at line 1828 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1813 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1805 of file constraint.c.
References data, and bConstraint::data.
|
static |
Definition at line 1597 of file constraint.c.
References data, bConstraint::data, LIMIT_XMAX, LIMIT_XMIN, LIMIT_YMAX, LIMIT_YMIN, LIMIT_ZMAX, LIMIT_ZMIN, and bConstraintOb::matrix.
|
static |
Definition at line 3682 of file constraint.c.
References copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, invert_m4_m4(), bConstraintOb::matrix, bConstraintTarget::matrix, MINMAX_USEROT, mul_m4_m4m4(), TRACK_nX, TRACK_nY, TRACK_nZ, TRACK_X, TRACK_Y, TRACK_Z, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 3671 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3656 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3648 of file constraint.c.
References data, and bConstraint::data.
Definition at line 3639 of file constraint.c.
|
static |
Definition at line 5276 of file constraint.c.
References BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_camera_get_reconstructed_interpolate(), BKE_tracking_object_get_named(), Scene::camera, Scene::clip, constraint_find_original_for_update(), copy_m4_m4(), data, bConstraint::data, DEG_get_ctime(), bConstraintOb::depsgraph, depsgraph, bObjectSolverConstraint::flag, invert_m4_m4(), bObjectSolverConstraint::invmat, bConstraintOb::matrix, mul_m4_m4m4(), mul_m4_series, NULL, OBJECTSOLVER_ACTIVECLIP, OBJECTSOLVER_SET_INVERSE, Object::obmat, bConstraintOb::scene, scene, and MovieClip::tracking.
|
static |
Definition at line 5268 of file constraint.c.
References data, and bConstraint::data.
Definition at line 5259 of file constraint.c.
References data, NULL, OBJECTSOLVER_ACTIVECLIP, and unit_m4().
|
static |
Definition at line 4690 of file constraint.c.
References add_v3_v3v3(), angle(), copy_m3_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, mat3_normalized_to_axis_angle(), mat4_to_eulO(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m3_v3(), normalize_m3(), PIVOTCON_AXIS_NONE, PIVOTCON_AXIS_X, PIVOTCON_FLAG_OFFSET_ABS, project_v3_v3v3(), rot, bConstraintOb::rotOrder, sub_v3_v3(), sub_v3_v3v3(), and VALID_CONS_TARGET.
|
static |
Definition at line 4679 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 4664 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 4656 of file constraint.c.
References data, and bConstraint::data.
|
static |
Definition at line 2388 of file constraint.c.
References BLI_duplicatelist(), bConstraint::data, IDP_CopyProperty(), bPythonConstraint::prop, and bPythonConstraint::targets.
|
static |
Definition at line 2474 of file constraint.c.
References BPY_pyconstraint_exec(), data, bConstraint::data, G, G_FLAG_SCRIPT_AUTOEXEC, and UNUSED_VARS.
|
static |
Definition at line 2377 of file constraint.c.
References BLI_freelistN(), data, bConstraint::data, and IDP_FreeProperty().
|
static |
Definition at line 2434 of file constraint.c.
References BPY_pyconstraint_target(), CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), Object_Runtime::curve_cache, data, bConstraint::data, bConstraint::flag, G, G_FLAG_SCRIPT_AUTOEXEC, bConstraint::headtail, bConstraintTarget::matrix, NULL, OB_CURVES_LEGACY, Object::runtime, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, Object::type, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 2406 of file constraint.c.
References data, bConstraint::data, ListBase::first, and ListBase::last.
|
static |
Definition at line 2420 of file constraint.c.
References data, bConstraint::data, LISTBASE_FOREACH, and bConstraintTarget::tar.
Definition at line 2397 of file constraint.c.
References data, IDP_GROUP, and MEM_callocN.
|
static |
Definition at line 1936 of file constraint.c.
References add_v3_v3(), BLI_assert, compatible_eul(), CONSTRAINT_EULER_AUTO, copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, eulO_to_mat3(), ListBase::first, loc_rot_size_to_mat4(), mat4_to_compatible_eulO(), mat4_to_eulO(), mat4_to_loc_rot_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m3_m3m3(), orthogonalize_m4_stable(), rotate_eulO(), ROTLIKE_MIX_ADD, ROTLIKE_MIX_AFTER, ROTLIKE_MIX_BEFORE, ROTLIKE_MIX_OFFSET, ROTLIKE_MIX_REPLACE, ROTLIKE_X, ROTLIKE_X_INVERT, ROTLIKE_Y, ROTLIKE_Y_INVERT, ROTLIKE_Z, ROTLIKE_Z_INVERT, bConstraintOb::rotOrder, size(), VALID_CONS_TARGET, and zero_v3().
|
static |
Definition at line 1925 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1910 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1902 of file constraint.c.
References data, and bConstraint::data.
|
static |
Definition at line 1650 of file constraint.c.
References CONSTRAINT_EULER_AUTO, copy_v3_v3(), data, bConstraint::data, LIMIT_XROT, LIMIT_YROT, LIMIT_ZROT, loc_eulO_size_to_mat4(), mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, orthogonalize_m4_stable(), bConstraintOb::rotOrder, and size().
|
static |
Definition at line 2316 of file constraint.c.
References data, bConstraint::data, mat4_to_size(), bConstraintOb::matrix, mul_v3_fl(), pow3f(), SAMEVOL_SINGLE_AXIS, SAMEVOL_STRICT, SAMEVOL_UNIFORM, SAMEVOL_X, SAMEVOL_Y, SAMEVOL_Z, and sqrtf.
Definition at line 2308 of file constraint.c.
|
static |
Definition at line 4369 of file constraint.c.
References copy_m4_m4(), ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, and VALID_CONS_TARGET.
|
static |
Definition at line 4195 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 4205 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().
|
static |
Definition at line 4181 of file constraint.c.
References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 4165 of file constraint.c.
References data, and bConstraint::data.
Definition at line 4173 of file constraint.c.
References CONSTRAINT_SPACE_LOCAL, data, and OB_POSZ.
|
static |
Definition at line 2114 of file constraint.c.
References add_v3_fl(), add_v3_v3(), copy_v3_fl(), data, bConstraint::data, fabsf, ListBase::first, mat4_to_size(), mat4_to_volume_scale(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_v3_fl(), mul_v3_v3(), powf, size(), SIZELIKE_MULTIPLY, SIZELIKE_OFFSET, SIZELIKE_UNIFORM, SIZELIKE_X, SIZELIKE_Y, SIZELIKE_Z, and VALID_CONS_TARGET.
|
static |
Definition at line 2103 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2088 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2080 of file constraint.c.
References data, and bConstraint::data.
Definition at line 2072 of file constraint.c.
References data, SIZELIKE_MULTIPLY, SIZELIKE_X, SIZELIKE_Y, and SIZELIKE_Z.
|
static |
Definition at line 1731 of file constraint.c.
References data, bConstraint::data, LIMIT_XMAX, LIMIT_XMIN, LIMIT_YMAX, LIMIT_YMIN, LIMIT_ZMAX, LIMIT_ZMIN, mat4_to_size(), bConstraintOb::matrix, mul_v3_fl(), and size().
|
static |
Definition at line 4569 of file constraint.c.
References bConstraint::data, MEM_dupallocN, bSplineIKConstraint::points, and src.
|
static |
Definition at line 4614 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 4561 of file constraint.c.
References data, bConstraint::data, and MEM_SAFE_FREE.
|
static |
Definition at line 4625 of file constraint.c.
References bConstraintTarget::matrix, and unit_m4().
|
static |
Definition at line 4599 of file constraint.c.
References data, bConstraint::data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 4591 of file constraint.c.
References data, and bConstraint::data.
Definition at line 4578 of file constraint.c.
References CONSTRAINT_SPLINEIK_USE_ORIGINAL_SCALE, CONSTRAINT_SPLINEIK_YS_FIT_CURVE, and data.
|
static |
Definition at line 3477 of file constraint.c.
References atanf, CLAMPIS, constraint_find_original_for_update(), copy_v3_v3(), cross_v3_v3v3(), damptrack_do_transform(), data, bConstraint::data, ListBase::first, float(), interpf(), M_PI_2, bConstraintOb::matrix, bConstraintTarget::matrix, max_ff(), min_ff(), mul_v3_v3(), negate_v3_v3(), NO_VOLUME, normalize_m4_ex(), normalize_v3(), normalize_v3_v3(), NULL, bStretchToConstraint::orglength, orth(), orthogonalize_m4_stable(), PLANE_X, PLANE_Z, powf, rescale_m4(), size(), sqrtf, STRETCHTOCON_USE_BULGE_MAX, STRETCHTOCON_USE_BULGE_MIN, sub_v3_v3v3(), SWING_Y, TRACK_Y, VALID_CONS_TARGET, VOLUME_X, VOLUME_XZ, and VOLUME_Z.
|
static |
Definition at line 3466 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3451 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3443 of file constraint.c.
References data, and bConstraint::data.
Definition at line 3431 of file constraint.c.
|
static |
Definition at line 1261 of file constraint.c.
References data, bConstraint::data, ListBase::first, mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_m3m4(), size(), sub_v3_v3v3(), VALID_CONS_TARGET, and vectomat().
|
static |
Definition at line 1159 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1144 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1136 of file constraint.c.
References data, and bConstraint::data.
Definition at line 1128 of file constraint.c.
|
static |
Definition at line 4004 of file constraint.c.
References add_v3_v3(), BKE_driver_target_matrix_to_rot_channels(), CLAMP, CONSTRAINT_EULER_AUTO, copy_v3_v3(), data, bConstraint::data, eulO_to_mat3(), ListBase::first, is_negative_m4(), loc_rot_size_to_mat4(), mat3_to_eulO(), mat4_to_loc_rot_size(), mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m3_m3m3(), mul_v3_v3(), negate_v3(), rot, bConstraintOb::rotOrder, size(), TRANS_LOCATION, TRANS_MIXLOC_ADD, TRANS_MIXLOC_REPLACE, TRANS_MIXROT_ADD, TRANS_MIXROT_AFTER, TRANS_MIXROT_BEFORE, TRANS_MIXROT_REPLACE, TRANS_MIXSCALE_MULTIPLY, TRANS_MIXSCALE_REPLACE, TRANS_ROTATION, TRANS_SCALE, and VALID_CONS_TARGET.
|
static |
Definition at line 3993 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3978 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3970 of file constraint.c.
References data, and bConstraint::data.
Definition at line 3956 of file constraint.c.
References data.
|
static |
Definition at line 5399 of file constraint.c.
References BLI_strncpy(), bTransformCacheConstraint::cache_file, bConstraint::data, NULL, bTransformCacheConstraint::object_path, bTransformCacheConstraint::reader, bTransformCacheConstraint::reader_object_path, and src.
|
static |
Definition at line 5353 of file constraint.c.
References ABC_get_transform(), BKE_cache_file_uses_render_procedural(), BKE_cachefile_reader_open(), BKE_cachefile_time_offset(), CACHE_FILE_TYPE_INVALID, CACHEFILE_TYPE_ALEMBIC, CACHEFILE_TYPE_USD, data, bConstraint::data, DEG_get_ctime(), bConstraintOb::depsgraph, FPS, bConstraintOb::matrix, bConstraintOb::ob, CacheFile::scale, bConstraintOb::scene, scene, STREQ, STRNCPY, time, CacheFile::type, UNUSED_VARS, and USD_get_transform().
|
static |
Definition at line 5410 of file constraint.c.
References BKE_cachefile_reader_free(), data, and bConstraint::data.
|
static |
Definition at line 5347 of file constraint.c.
References data, and bConstraint::data.
Definition at line 5420 of file constraint.c.
|
static |
Definition at line 2236 of file constraint.c.
References BLI_assert_msg, copy_m4_m4(), data, bConstraint::data, ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_m4m4(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), orthogonalize_m4_stable(), TRANSLIKE_MIX_AFTER, TRANSLIKE_MIX_AFTER_FULL, TRANSLIKE_MIX_AFTER_SPLIT, TRANSLIKE_MIX_BEFORE, TRANSLIKE_MIX_BEFORE_FULL, TRANSLIKE_MIX_BEFORE_SPLIT, TRANSLIKE_MIX_REPLACE, TRANSLIKE_REMOVE_TARGET_SHEAR, and VALID_CONS_TARGET.
|
static |
Definition at line 2225 of file constraint.c.
References data, bConstraint::data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2210 of file constraint.c.
References data, bConstraint::data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2202 of file constraint.c.
References data, and bConstraint::data.
|
static |
Definition at line 1186 of file constraint.c.
References basis_cross(), copy_v3_v3(), cross_v3_v3v3(), float(), negate_v3(), normalize_v3(), normalize_v3_v3(), project_v3_v3v3(), right, sub_v3_v3v3(), TARGET_Z_UP, and unit_m3().
Referenced by trackto_evaluate().
|
static |
Definition at line 5448 of file constraint.c.
Referenced by BKE_constraint_typeinfo_from_type(), and constraints_init_typeinfo().
|
static |
Definition at line 2955 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2739 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5242 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1111 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3939 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4544 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3414 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1580 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5184 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5449 of file constraint.c.
Referenced by BKE_constraint_typeinfo_from_type().
|
static |
Definition at line 1402 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3271 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1878 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1633 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3753 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5330 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4763 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2492 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2055 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1714 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2360 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4379 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2185 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1781 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4639 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3622 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1296 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4148 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5427 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2291 of file constraint.c.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 94 of file constraint.c.
Referenced by BKE_constraint_typeinfo_from_type().
|
static |
Definition at line 4438 of file constraint.c.
Referenced by damptrack_do_transform().