|
Blender V5.0
|
#include <algorithm>#include <cfloat>#include <cmath>#include <cstddef>#include <cstdio>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_kdopbvh.hh"#include "BLI_listbase.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_math_vector.hh"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLI_string_utils.hh"#include "BLI_utildefines.h"#include "BLT_translation.hh"#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.hh"#include "BKE_anim_path.h"#include "BKE_animsys.h"#include "BKE_armature.hh"#include "BKE_bvhutils.hh"#include "BKE_cachefile.hh"#include "BKE_camera.h"#include "BKE_constraint.h"#include "BKE_curve.hh"#include "BKE_deform.hh"#include "BKE_displist.h"#include "BKE_editmesh.hh"#include "BKE_fcurve_driver.h"#include "BKE_geometry_set_instances.hh"#include "BKE_global.hh"#include "BKE_idprop.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_library.hh"#include "BKE_mesh_runtime.hh"#include "BKE_movieclip.h"#include "BKE_object.hh"#include "BKE_object_types.hh"#include "BKE_scene.hh"#include "BKE_shrinkwrap.hh"#include "BKE_tracking.h"#include "BIK_api.h"#include "RNA_prototypes.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "BLO_read_write.hh"#include "CLG_log.h"Go to the source code of this file.
Classes | |
| struct | FollowTrackContext |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
| #define | VALID_CONS_TARGET(ct) |
| #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) |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 10 of file constraint.cc.
| #define SINGLETARGET_FLUSH_TARS | ( | con, | |
| datatar, | |||
| datasubtarget, | |||
| ct, | |||
| list, | |||
| no_copy ) |
Definition at line 936 of file constraint.cc.
Referenced by actcon_flush_tars(), childof_flush_tars(), damptrack_flush_tars(), distlimit_flush_tars(), kinematic_flush_tars(), locktrack_flush_tars(), loclike_flush_tars(), minmax_flush_tars(), pivotcon_flush_tars(), rotlike_flush_tars(), sizelike_flush_tars(), stretchto_flush_tars(), trackto_flush_tars(), transform_flush_tars(), and translike_flush_tars().
| #define SINGLETARGET_GET_TARS | ( | con, | |
| datatar, | |||
| datasubtarget, | |||
| ct, | |||
| list ) |
Definition at line 880 of file constraint.cc.
Referenced by actcon_get_tars(), BKE_constraint_targets_get(), childof_get_tars(), damptrack_get_tars(), distlimit_get_tars(), kinematic_get_tars(), locktrack_get_tars(), loclike_get_tars(), minmax_get_tars(), pivotcon_get_tars(), rotlike_get_tars(), sizelike_get_tars(), stretchto_get_tars(), trackto_get_tars(), transform_get_tars(), and translike_get_tars().
| #define SINGLETARGETNS_FLUSH_TARS | ( | con, | |
| datatar, | |||
| ct, | |||
| list, | |||
| no_copy ) |
Definition at line 958 of file constraint.cc.
Referenced by clampto_flush_tars(), followpath_flush_tars(), geometry_attribute_flush_tars(), shrinkwrap_flush_tars(), and splineik_flush_tars().
| #define SINGLETARGETNS_GET_TARS | ( | con, | |
| datatar, | |||
| ct, | |||
| list ) |
Definition at line 915 of file constraint.cc.
Referenced by clampto_get_tars(), followpath_get_tars(), geometry_attribute_get_tars(), shrinkwrap_get_tars(), and splineik_get_tars().
| #define VALID_CONS_TARGET | ( | ct | ) |
Definition at line 103 of file constraint.cc.
Referenced by actcon_evaluate(), actcon_get_tarmat(), armdef_evaluate(), armdef_get_tarmat(), childof_evaluate(), clampto_evaluate(), damptrack_evaluate(), default_get_tarmat(), default_get_tarmat_full_bbone(), distlimit_evaluate(), followpath_evaluate(), followpath_get_tarmat(), geometry_attribute_evaluate(), geometry_attribute_get_tarmat(), kinematic_get_tarmat(), locktrack_evaluate(), loclike_evaluate(), minmax_evaluate(), pivotcon_evaluate(), rotlike_evaluate(), shrinkwrap_evaluate(), shrinkwrap_get_tarmat(), sizelike_evaluate(), stretchto_evaluate(), trackto_evaluate(), transform_evaluate(), and translike_evaluate().
|
static |
Definition at line 2910 of file constraint.cc.
References ACTCON_MIX_AFTER, ACTCON_MIX_AFTER_FULL, ACTCON_MIX_AFTER_SPLIT, ACTCON_MIX_BEFORE, ACTCON_MIX_BEFORE_FULL, ACTCON_MIX_BEFORE_SPLIT, ACTCON_MIX_REPLACE, ACTCON_USE_EVAL_TIME, BLI_assert_msg, copy_m4_m4(), bConstraint::data, 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 2756 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2767 of file constraint.cc.
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(), bConstraint::data, data, depsgraph, bConstraint::flag, G, G_DEBUG, bConstraint::headtail, Object::id, mat4_to_eul(), mat4_to_size(), bConstraintTarget::matrix, mul_v3_fl(), bConstraint::name, bPoseChannel::name, ID::name, bConstraintOb::ob, bConstraintOb::pchan, printf, RAD2DEGF, bPoseChannel::rotmode, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, bConstraintOb::type, unit_m4(), VALID_CONS_TARGET, and what_does_obaction().
|
static |
Definition at line 2741 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2730 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 2719 of file constraint.cc.
References ACTCON_MIX_AFTER, and data.
|
static |
Definition at line 6101 of file constraint.cc.
References ACTCON_MIX_BEFORE_SPLIT, add_new_constraint_internal(), add_new_constraint_to_list(), CONSTRAINT_SPACE_LOCAL, CONSTRAINT_SPACE_POSE, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_CHILDOF, bConstraint::data, data, name, and bConstraint::ownspace.
Referenced by BKE_constraint_add_for_object(), and BKE_constraint_add_for_pose().
|
static |
Definition at line 6036 of file constraint.cc.
References BKE_constraint_typeinfo_from_type(), CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_SPLINEIK, bConstraint::data, DATA_, ELEM, bConstraint::enforce, bConstraint::flag, MEM_callocN(), bConstraint::name, bConstraintTypeInfo::name, name, bConstraintTypeInfo::new_data, bConstraintTypeInfo::size, STRNCPY_UTF8, bConstraintTypeInfo::struct_name, 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 6081 of file constraint.cc.
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 2566 of file constraint.cc.
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, invert_m4_m4(), Mat4::mat, mul_m4_m4m4(), mul_v3_m4v3(), Bone::rad_head, Bone::rad_tail, bPoseChannel::runtime, Bone::segments, bConstraintTarget::tar, and bConstraintTarget::weight.
Referenced by armdef_evaluate().
|
static |
Definition at line 2531 of file constraint.cc.
References add_weighted_dq_dq_pivot(), madd_m4_m4m4fl(), mat4_to_dquat(), mul_m4_m4m4(), mul_m4_series, and orthogonalize_m4_stable().
Referenced by armdef_accumulate_bone().
|
static |
Definition at line 2478 of file constraint.cc.
References BLI_duplicatelist(), bConstraint::data, and bArmatureConstraint::targets.
|
static |
Definition at line 2643 of file constraint.cc.
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(), bConstraint::data, data, dquat_to_mat4(), LISTBASE_FOREACH, bConstraintOb::matrix, mul_m4_fl(), mul_m4_m4m4(), mul_m4_v3(), normalize_dq(), bConstraintOb::ob, OB_ARMATURE, bConstraintOb::pchan, and VALID_CONS_TARGET.
|
static |
Definition at line 2470 of file constraint.cc.
References BLI_freelistN(), bConstraint::data, and data.
|
static |
Definition at line 2510 of file constraint.cc.
References BKE_pose_channel_find_name(), bConstraintTarget::matrix, mul_m4_m4m4(), OB_ARMATURE, Object::pose, bPoseChannel::pose_mat, bConstraintTarget::subtarget, bConstraintTarget::tar, Object::type, unit_ct_matrix_nullsafe(), unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 2486 of file constraint.cc.
References BLI_listbase_count(), bConstraint::data, and data.
|
static |
Definition at line 2499 of file constraint.cc.
References bConstraint::data, data, and LISTBASE_FOREACH.
|
static |
Definition at line 1204 of file constraint.cc.
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 6163 of file constraint.cc.
References add_new_constraint(), and name.
Referenced by blo_do_version_old_trackto_to_constraints(), blender::ed::object::constraint_add_exec(), blender::ed::object::parent_set_with_depsgraph(), blender::io::usd::USDXformReader::read_object_data(), blender::io::alembic::AbcObjectReader::setupObjectTransform(), and blender::ed::object::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 6151 of file constraint.cc.
References add_new_constraint(), and name.
Referenced by blender::ed::transform::add_temporary_ik_constraint(), and blender::ed::object::constraint_add_exec().
| bool BKE_constraint_apply_and_remove_for_object | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| ListBase * | constraints, | ||
| Object * | ob, | ||
| bConstraint * | con ) |
Definition at line 5952 of file constraint.cc.
References BKE_constraint_apply_for_object(), BKE_constraint_remove_ex(), constraints, and depsgraph.
Referenced by blender::ed::object::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 6014 of file constraint.cc.
References BKE_constraint_apply_for_pose(), BKE_constraint_remove_ex(), constraints, and depsgraph.
Referenced by blender::ed::object::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 5911 of file constraint.cc.
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(), DEG_get_evaluated_scene(), depsgraph, ID_IS_EDITABLE, bConstraintOb::matrix, mul_m4_m4m4(), and bConstraint::name.
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 5965 of file constraint.cc.
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(), DEG_get_evaluated_scene(), depsgraph, ListBase::first, Bone::flag, ID_IS_EDITABLE, ListBase::last, bConstraintOb::matrix, mul_m4_m4m4(), bConstraint::name, bPoseChannel::name, Object::pose, and bPoseChannel::pose_mat.
Referenced by BKE_constraint_apply_and_remove_for_pose().
| void BKE_constraint_blend_read_data | ( | BlendDataReader * | reader, |
| ID * | id_owner, | ||
| ListBase * | lb ) |
Definition at line 6771 of file constraint.cc.
References BKE_constraint_typeinfo_get(), BLO_read_float_array(), BLO_read_string(), BLO_read_struct_by_name_array(), BLO_read_struct_list, CONSTRAINT_IK_AUTO, CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_GEOMETRY_ATTRIBUTE, CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_NULL, CONSTRAINT_TYPE_SPLINEIK, CONSTRAINT_TYPE_TRANSFORM_CACHE, data, ID_IS_LINKED, LISTBASE_FOREACH, and bConstraintTypeInfo::struct_name.
Referenced by BKE_pose_blend_read_data(), and object_blend_read_data().
| void BKE_constraint_blend_write | ( | BlendWriter * | writer, |
| ListBase * | conlist ) |
Definition at line 6727 of file constraint.cc.
References BKE_constraint_typeinfo_get(), BLO_write_float_array(), BLO_write_string(), BLO_write_struct, BLO_write_struct_by_name(), CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_GEOMETRY_ATTRIBUTE, CONSTRAINT_TYPE_SPLINEIK, data, LISTBASE_FOREACH, and bConstraintTypeInfo::struct_name.
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 6262 of file constraint.cc.
References add_new_constraint_to_list(), BKE_constraint_duplicate_ex(), and ID_IS_EDITABLE.
Referenced by blender::ed::object::constraint_copy_exec(), blender::ed::object::constraint_copy_for_object(), and blender::ed::object::constraint_copy_to_selected_exec().
| 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 6251 of file constraint.cc.
References add_new_constraint_to_list(), BKE_constraint_duplicate_ex(), and ID_IS_EDITABLE.
Referenced by blender::ed::object::constraint_copy_exec(), blender::ed::object::constraint_copy_for_pose(), and blender::ed::object::constraint_copy_to_selected_exec().
| 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 6622 of file constraint.cc.
References CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), is_custom_space_needed(), bConstraintOb::space_obj_world_matrix, bConstraint::space_object, bConstraint::space_subtarget, and unit_m4().
Referenced by BKE_constraint_target_matrix_get(), BKE_constraints_solve(), blender::ed::transform::constraintTransLim(), blender::draw::overlay::Relations::object_sync(), update_duplicate_action_constraint_settings(), update_duplicate_loc_rot_constraint_settings(), and update_duplicate_transform_constraint_settings().
| 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 6243 of file constraint.cc.
References constraint_copy_data_ex(), flag, MEM_dupallocN(), bConstraint::next, and bConstraint::prev.
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 6348 of file constraint.cc.
References bPose::chanbase, constraint_list_find_from_target(), Object::constraints, LISTBASE_FOREACH, Object::pose, and result.
Referenced by blender::deg::RNANodeQuery::construct_node_identifier().
| void BKE_constraint_free_data | ( | bConstraint * | con | ) |
Definition at line 5863 of file constraint.cc.
References BKE_constraint_free_data_ex().
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), and constraint_remove().
| 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 5841 of file constraint.cc.
References BKE_constraint_typeinfo_get(), con_invoke_id_looper(), con_unlink_refs_cb(), bConstraint::data, bConstraintTypeInfo::free_data, IDWALK_NOP, and MEM_freeN().
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 6445 of file constraint.cc.
References CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, bConstraint::flag, and ID_IS_OVERRIDE_LIBRARY.
| 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 256 of file constraint.cc.
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, invert_m4_m4(), invert_m4_m4_safe(), mul_m4_m4m4(), mul_m4_series, normalize_m4(), 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(), dvar_eval_transChan(), shrinkwrap_get_tarmat(), update_duplicate_action_constraint_settings(), update_duplicate_loc_rot_constraint_settings(), and update_duplicate_transform_constraint_settings().
| void BKE_constraint_panel_expand | ( | bConstraint * | con | ) |
Definition at line 6028 of file constraint.cc.
References bConstraint::ui_expand_flag, and UI_PANEL_DATA_EXPAND_ROOT.
Referenced by blender::ed::outliner::outliner_set_properties_tab().
| bool BKE_constraint_remove_ex | ( | ListBase * | list, |
| struct Object * | ob, | ||
| struct bConstraint * | con ) |
Remove the specified constraint from the given constraint stack.
Definition at line 5895 of file constraint.cc.
References BIK_clear_data(), BKE_animdata_drivers_remove_for_rna_struct(), constraint_remove(), CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_SPLINEIK, ELEM, Object::id, Object::pose, and bConstraint::type.
Referenced by BKE_constraint_apply_and_remove_for_object(), BKE_constraint_apply_and_remove_for_pose(), blender::ed::object::constraint_delete_exec(), blender::ed::outliner::constraint_fn(), blender::ed::object::object_track_clear_exec(), and blender::ed::object::pose_ik_clear_exec().
| 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 6510 of file constraint.cc.
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(), bConstraintOb::ob, bConstraintOb::pchan, bPoseChannel::pose_mat, bConstraintOb::scene, bConstraintOb::startmat, bConstraintOb::type, and unit_m4().
Referenced by base_callback(), execute_posetree(), blender::ed::object::parent_set_with_depsgraph(), and target_callback().
| bool BKE_constraint_target_uses_bbone | ( | bConstraint * | con, |
| bConstraintTarget * | ct ) |
Definition at line 6140 of file constraint.cc.
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 6482 of file constraint.cc.
References BKE_constraint_typeinfo_get(), BLI_assert, BLI_freelinkN(), CONSTRAINT_TAR_CUSTOM_SPACE, bConstraintTarget::flag, bConstraintTypeInfo::flush_constraint_targets, is_custom_space_needed(), ListBase::last, bConstraint::space_object, bConstraint::space_subtarget, STRNCPY_UTF8, bConstraintTarget::subtarget, and bConstraintTarget::tar.
Referenced by BKE_pose_channels_remove(), blender::deg::DepsgraphRelationBuilder::build_constraints(), constraint_bone_name_fix(), copy_object_pose(), joined_armature_fix_links_constraints(), object_modifier_recurse_for_update_subframe(), blender::draw::overlay::Relations::object_sync(), pose_select_constraint_target_exec(), separated_armature_fix_links(), blender::ed::object::set_constraint_nth_target(), blender::ed::object::test_constraint(), and update_duplicate_subtarget().
| 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 6589 of file constraint.cc.
References BKE_constraint_typeinfo_get(), CONSTRAINT_TYPE_ARMATURE, depsgraph, ELEM, bConstraintTypeInfo::get_constraint_targets, bConstraintTypeInfo::get_target_matrix, LISTBASE_FOREACH, bConstraintTypeInfo::type, and unit_m4().
Referenced by BKE_constraints_solve(), and blender::ed::transform::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 6453 of file constraint.cc.
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_pose_channels_remove(), blender::deg::DepsgraphRelationBuilder::build_constraints(), constraint_bone_name_fix(), copy_object_pose(), joined_armature_fix_links_constraints(), object_modifier_recurse_for_update_subframe(), blender::draw::overlay::Relations::object_sync(), pose_select_constraint_target_exec(), separated_armature_fix_links(), blender::ed::object::set_constraint_nth_target(), blender::ed::object::test_constraint(), and update_duplicate_subtarget().
| 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 5773 of file constraint.cc.
References CLOG_WARN, CONSTRAINT_TYPE_NULL, constraints_init_typeinfo(), constraintsTypeInfo, CTI_INIT, LOG, and NUM_CONSTRAINT_TYPES.
Referenced by add_new_constraint_internal(), BKE_constraint_typeinfo_get(), bone_constraint_panel_id(), blender::ed::transform::constraintRotLim(), blender::ed::transform::constraintScaleLim(), blender::ed::transform::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 5792 of file constraint.cc.
References BKE_constraint_typeinfo_from_type(), and bConstraint::type.
Referenced by BKE_constraint_blend_read_data(), 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 blender::draw::overlay::Relations::object_sync().
| 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 123 of file constraint.cc.
References BLI_uniquename(), DATA_, bConstraint::name, name, and offsetof.
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 6300 of file constraint.cc.
References CONSTRAINT_ACTIVE, and LISTBASE_FOREACH.
Referenced by blender::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 6316 of file constraint.cc.
References CONSTRAINT_ACTIVE, and LISTBASE_FOREACH.
Referenced by add_new_constraint_to_list(), blender::ed::object::constraint_active_set(), and blender::ed::outliner::constraint_fn().
| void BKE_constraints_clear_evalob | ( | struct bConstraintOb * | cob | ) |
Cleanup after constraint evaluation.
Definition at line 207 of file constraint.cc.
References bPoseChannel::constinv, Object::constinv, CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, copy_m4_m4(), invert_m4_m4(), bConstraintOb::matrix, MEM_freeN(), mul_m4_m4m4(), bConstraintOb::ob, bConstraintOb::pchan, bPoseChannel::pose_mat, Object::runtime, 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 6288 of file constraint.cc.
References BKE_constraints_copy_ex().
| void BKE_constraints_copy_ex | ( | ListBase * | dst, |
| const ListBase * | src, | ||
| const int | flag, | ||
| bool | do_extern ) |
Definition at line 6269 of file constraint.cc.
References BLI_duplicatelist(), BLI_listbase_clear(), constraint_copy_data_ex(), CONSTRAINT_OVERRIDE_LIBRARY_LOCAL, ListBase::first, bConstraint::flag, flag, LIB_ID_COPY_NO_LIB_OVERRIDE_LOCAL_DATA_FLAG, and bConstraint::next.
Referenced by BKE_constraints_copy().
| bConstraint * BKE_constraints_find_name | ( | ListBase * | list, |
| const char * | name ) |
Definition at line 6295 of file constraint.cc.
References BLI_findstring(), name, and offsetof.
Referenced by BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), and blender::ed::object::edit_constraint_property_get().
| void BKE_constraints_free | ( | ListBase * | list | ) |
Definition at line 5879 of file constraint.cc.
References BKE_constraints_free_ex().
Referenced by blender::ed::object::constraint_link(), blender::ed::object::make_object_duplilist_real(), blender::ed::object::object_constraints_clear_exec(), and blender::ed::object::pose_constraints_clear_exec().
| void BKE_constraints_free_ex | ( | struct ListBase * | list, |
| bool | do_id_user ) |
Free all constraints from a constraint-stack.
Definition at line 5868 of file constraint.cc.
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, | ||
| const int | flag, | ||
| void * | userdata ) |
Run the given callback on all ID-blocks in list of constraints.
| flag | the IDWALK_ flags controlling the behavior of the foreach_id code, see BKE_lib_query.hh |
Definition at line 6170 of file constraint.cc.
References BKE_constraint_typeinfo_get(), con_invoke_id_looper(), flag, and LISTBASE_FOREACH.
Referenced by 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 130 of file constraint.cc.
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, bConstraintOb::pchan, bPoseChannel::pose_mat, bPoseChannel::rotmode, Object::rotmode, bConstraintOb::rotOrder, bConstraintOb::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(), blender::draw::overlay::Relations::object_sync(), and object_where_is_calc_ex().
| 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 6643 of file constraint.cc.
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, bConstraintTypeInfo::evaluate_constraint, bConstraintTypeInfo::flush_constraint_targets, interp_m4_m4m4(), LISTBASE_FOREACH, bConstraintOb::matrix, bConstraintOb::ob, 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 5223 of file constraint.cc.
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(), bConstraint::data, data, DEG_get_ctime(), bConstraintOb::depsgraph, depsgraph, bConstraintOb::matrix, mul_m4_m4m4(), bConstraintOb::scene, and MovieClip::tracking.
|
static |
Definition at line 5216 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 5208 of file constraint.cc.
References CAMERASOLVER_ACTIVECLIP, and data.
|
static |
Definition at line 1024 of file constraint.cc.
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(), CONSTRAINT_SPACEONCE, copy_m4_m4(), copy_v3_v3(), bConstraint::data, data, ListBase::first, bChildOfConstraint::flag, bConstraint::flag, invert_m4_m4(), bChildOfConstraint::invmat, loc_eulO_size_to_mat4(), mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_series, bConstraintOb::ob, bConstraintOb::pchan, bConstraintOb::rotOrder, bConstraintTarget::rotOrder, size(), and VALID_CONS_TARGET.
|
static |
Definition at line 1013 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 998 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 990 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 980 of file constraint.cc.
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().
Clamps an angle between min and max.
All angles are in radians.
This function treats angles as existing in a looping (cyclic) space, and is therefore specifically not equivalent to a simple clamp(angle, min, max). min and max are treated as a directed range on the unit circle and angle is treated as a point on the unit circle. angle is then clamped to be within the directed range defined by min and max.
Definition at line 1707 of file constraint.cc.
References angle(), M_PI, max, min, and wrap_rad_angle().
Referenced by rotlimit_evaluate().
|
static |
Definition at line 3817 of file constraint.cc.
References BKE_object_boundbox_get(), BKE_where_on_path(), bounds(), ceilf, CLAMPTO_AUTO, CLAMPTO_CYCLIC, CLAMPTO_X, CLAMPTO_Y, CLAMPTO_Z, copy_m4_m4(), copy_v3_v3(), bConstraint::data, data, ListBase::first, INIT_MINMAX, IS_EQF, len, bConstraintOb::matrix, mul_m4_m4m4(), OB_CURVES_LEGACY, size(), sub_v3_v3v3(), bConstraintTarget::tar, Object::type, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 3793 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 3804 of file constraint.cc.
References unit_ct_matrix_nullsafe().
|
static |
Definition at line 3778 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 3770 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 5498 of file constraint.cc.
Referenced by find_source_component().
|
static |
Definition at line 6187 of file constraint.cc.
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 6201 of file constraint.cc.
References id_us_plus().
Referenced by constraint_copy_data_ex().
|
static |
Helper function to invoke the id_looper callback, including custom space.
| flag | is unused right now, but it's kept as a reminder that new code may need to check flags as well. See enum LibraryForeachIDFlag in BKE_lib_query.hh. |
Definition at line 5828 of file constraint.cc.
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 5812 of file constraint.cc.
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 6213 of file constraint.cc.
References BKE_constraint_typeinfo_get(), con_extern_cb(), con_fix_copied_refs_cb(), con_invoke_id_looper(), bConstraintTypeInfo::copy_data, bConstraint::data, flag, IDWALK_NOP, LIB_ID_CREATE_NO_USER_REFCOUNT, and MEM_dupallocN().
Referenced by BKE_constraint_duplicate_ex(), and BKE_constraints_copy_ex().
|
static |
Definition at line 6380 of file constraint.cc.
References BLI_findindex(), BLI_findlink(), bPoseChannel::constraints, constraints, Object::constraints, DEG_get_original(), ELEM, bConstraint::name, bPoseChannel::orig_pchan, STREQ, and bConstraint::type.
Referenced by constraint_find_original_for_update().
|
static |
Definition at line 6428 of file constraint.cc.
References constraint_find_original(), DEG_id_tag_update(), DEG_is_active(), bConstraintOb::depsgraph, Object::id, ID_RECALC_SYNC_TO_EVAL, ID_RECALC_TRANSFORM, bConstraintOb::ob, and bConstraintOb::pchan.
Referenced by childof_evaluate(), distlimit_evaluate(), objectsolver_evaluate(), and stretchto_evaluate().
|
static |
Definition at line 6331 of file constraint.cc.
References BLI_findindex(), CONSTRAINT_TYPE_ARMATURE, constraints, and LISTBASE_FOREACH.
Referenced by BKE_constraint_find_from_target().
|
static |
Definition at line 5884 of file constraint.cc.
References BKE_constraint_free_data(), and BLI_freelinkN().
Referenced by BKE_constraint_remove_ex().
|
static |
Definition at line 686 of file constraint.cc.
References bPoseChannel_Runtime::bbone_pose_mats, bPoseChannel_Runtime::bbone_segments, BKE_constraint_mat_convertspace(), BKE_pchan_bbone_deform_clamp_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(), flag, interp_m4_m4m4(), interp_v3_v3v3(), mul_m4_m4m4(), mul_v3_m4v3(), OB_LATTICE, OB_MESH, 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(), and kinematic_get_tarmat().
|
static |
Definition at line 5737 of file constraint.cc.
References constraintsTypeInfo, CTI_ACTION, CTI_ARMATURE, CTI_ATTRIBUTE, 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_ROTLIKE, CTI_ROTLIMIT, CTI_SAMEVOL, CTI_SHRINKWRAP, CTI_SIZELIKE, CTI_SIZELIMIT, CTI_SPLINEIK, CTI_STRETCHTO, CTI_TRACKTO, CTI_TRANSFORM, CTI_TRANSFORM_CACHE, and CTI_TRANSLIKE.
Referenced by BKE_constraint_typeinfo_from_type().
Definition at line 621 of file constraint.cc.
References add_v3_v3(), BKE_defvert_find_index(), BKE_displist_find(), BKE_object_defgroup_name_index(), copy_m4_m4(), copy_v3_v3(), Object::data, Lattice::def, DL_VERTS, Lattice::dvert, i, mul_v3_fl(), mul_v3_m4v3(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::runtime, MDeformVert::totweight, BPoint::vec, DispList::verts, and MDeformWeight::weight.
Referenced by constraint_target_to_mat4().
Definition at line 521 of file constraint.cc.
References BKE_defvert_find_index(), BKE_editmesh_from_object(), BKE_object_defgroup_name_index(), BKE_object_get_evaluated_mesh(), BMEditMesh::bm, BM_ITER_MESH, BM_VERTS_OF_MESH, CD_MDEFORMVERT, copy_m3_m4(), copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), CustomData_bmesh_get(), CustomData_has_layer(), i, blender::Span< T >::index_range(), invert_m3_m3(), blender::Span< T >::is_empty(), len_squared_v3(), madd_v3_v3fl(), mul_m3_v3(), mul_v3_fl(), mul_v3_m4v3(), normalize_m4(), normalize_v3(), square_f(), transpose_m3(), v, BMesh::vdata, and MDeformWeight::weight.
Referenced by constraint_target_to_mat4().
Definition at line 4467 of file constraint.cc.
References acosf, asinf, axis_angle_normalized_to_mat3(), copy_m4_m4(), copy_v3_v3(), blender::math::cross_high_precision(), cross_v3_v3v3(), 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 4452 of file constraint.cc.
References damptrack_do_transform(), bConstraint::data, data, ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, sub_v3_v3v3(), and VALID_CONS_TARGET.
|
static |
Definition at line 4431 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 4416 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 4408 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 4401 of file constraint.cc.
|
static |
Definition at line 828 of file constraint.cc.
References CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), bConstraint::flag, bConstraint::headtail, bConstraintTarget::matrix, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, unit_ct_matrix_nullsafe(), and VALID_CONS_TARGET.
|
static |
Definition at line 852 of file constraint.cc.
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_ct_matrix_nullsafe(), and VALID_CONS_TARGET.
|
static |
Definition at line 3329 of file constraint.cc.
References constraint_find_original_for_update(), copy_v3_v3(), bConstraint::data, data, bDistLimitConstraint::dist, expf, ListBase::first, interp_v3_v3v3(), IS_EQF, len_v3v3(), LIMITDIST_INSIDE, LIMITDIST_OUTSIDE, LIMITDIST_USESOFT, bConstraintOb::matrix, bConstraintTarget::matrix, and VALID_CONS_TARGET.
|
static |
Definition at line 3318 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3303 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3295 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 3288 of file constraint.cc.
References data.
|
static |
Definition at line 5446 of file constraint.cc.
References BLI_assert_unreachable, CON_ATTRIBUTE_DOMAIN_CURVE, CON_ATTRIBUTE_DOMAIN_EDGE, CON_ATTRIBUTE_DOMAIN_FACE, CON_ATTRIBUTE_DOMAIN_FACE_CORNER, CON_ATTRIBUTE_DOMAIN_INSTANCE, CON_ATTRIBUTE_DOMAIN_POINT, blender::bke::Corner, blender::bke::Curve, blender::bke::Edge, blender::bke::Face, blender::bke::Instance, and blender::bke::Point.
Referenced by geometry_attribute_get_tarmat().
|
static |
Definition at line 5508 of file constraint.cc.
References component_is_available(), blender::bke::GeometryComponent::Curve, blender::bke::GeometryComponent::GreasePencil, blender::bke::GeometryComponent::Instance, blender::bke::GeometryComponent::Mesh, and blender::bke::GeometryComponent::PointCloud.
Referenced by geometry_attribute_get_tarmat().
|
static |
Definition at line 1590 of file constraint.cc.
References copy_m4_m4(), bConstraint::data, 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 1493 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 1504 of file constraint.cc.
References BKE_where_on_path(), CLAMP, copy_m4_m4(), copy_v3_v3(), Curve::ctime, CU_NURB_CYCLIC, CU_PATH_CLAMP, bConstraint::data, data, Object::data, ListBase::first, Curve::flag, Nurb::flagu, FOLLOWPATH_FOLLOW, FOLLOWPATH_RADIUS, FOLLOWPATH_STATIC, bConstraintTarget::matrix, mul_m4_m4m4(), Curve::nurb, OB_CURVES_LEGACY, Curve::pathlen, quat_apply_track(), quat_to_mat4(), Object::runtime, scale_m4_fl(), bConstraintTarget::tar, Object::type, unit_ct_matrix_nullsafe(), unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 1478 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 1470 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 1460 of file constraint.cc.
|
static |
Definition at line 4832 of file constraint.cc.
References Scene::camera, bConstraint::data, data, and bConstraintOb::scene.
Referenced by followtrack_context_init().
|
static |
Definition at line 4863 of file constraint.cc.
References BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_object_find_track_with_name(), bConstraint::data, data, DEG_get_ctime(), bConstraintOb::depsgraph, followtrack_camera_object_get(), followtrack_tracking_clip_get(), followtrack_tracking_object_get(), and bConstraintOb::scene.
Referenced by followtrack_evaluate().
|
static |
Definition at line 5026 of file constraint.cc.
References BKE_object_where_is_calc_mat4(), 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 5175 of file constraint.cc.
References bConstraint::data, data, followtrack_context_init(), followtrack_evaluate_using_2d_position(), followtrack_evaluate_using_3d_position(), and FOLLOWTRACK_USE_3D_POSITION.
|
static |
Definition at line 5096 of file constraint.cc.
References BKE_camera_params_from_object(), BKE_camera_params_init(), BKE_movieclip_get_size(), BKE_tracking_marker_get_subframe_position(), 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(), params, Scene::r, RenderData::xasp, RenderData::xsch, RenderData::yasp, RenderData::ysch, and zero_v3().
Referenced by followtrack_evaluate().
|
static |
Definition at line 4944 of file constraint.cc.
References 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 4927 of file constraint.cc.
References BKE_tracking_get_camera_object_matrix(), MovieTrackingTrack::bundle_pos, copy_m4_m4(), bConstraintOb::matrix, mul_m4_m4m4(), and translate_m4().
Referenced by followtrack_evaluate_using_3d_position().
|
static |
Definition at line 4900 of file constraint.cc.
References BKE_tracking_camera_get_reconstructed_interpolate(), MovieTrackingTrack::bundle_pos, copy_m4_m4(), invert_m4_m4(), bConstraintOb::matrix, mul_m4_series, and translate_m4().
Referenced by followtrack_evaluate_using_3d_position().
|
static |
Definition at line 4982 of file constraint.cc.
References MovieClip::aspx, MovieClip::aspy, fabsf, float, FOLLOWTRACK_FRAME_CROP, FOLLOWTRACK_FRAME_STRETCH, Scene::r, RenderData::xasp, RenderData::xsch, RenderData::yasp, and RenderData::ysch.
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 4799 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 4791 of file constraint.cc.
References data, and FOLLOWTRACK_ACTIVECLIP.
|
static |
Definition at line 5052 of file constraint.cc.
References BKE_object_get_evaluated_mesh(), BLI_bvhtree_ray_cast(), BVH_RAYCAST_DIST_MAX, BVHTreeRayHit::co, BVHTreeRayHit::dist, BVHTreeRayHit::index, invert_m4_m4(), bConstraintOb::matrix, mul_v3_m4v3(), normalize_v3(), blender::bke::BVHTreeFromMesh::raycast_callback, result, sub_v3_v3v3(), and blender::bke::BVHTreeFromMesh::tree.
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 4808 of file constraint.cc.
References Scene::clip, bConstraint::data, data, FOLLOWTRACK_ACTIVECLIP, and bConstraintOb::scene.
Referenced by followtrack_context_init(), and followtrack_tracking_object_get().
|
static |
Definition at line 4820 of file constraint.cc.
References BKE_tracking_object_get_camera(), BKE_tracking_object_get_named(), bConstraint::data, data, followtrack_tracking_clip_get(), and MovieClip::tracking.
Referenced by followtrack_context_init().
|
static |
Definition at line 4960 of file constraint.cc.
References BKE_tracking_undistort_v2(), and FOLLOWTRACK_USE_UNDISTORTION.
Referenced by followtrack_evaluate_using_2d_position().
|
static |
Definition at line 5540 of file constraint.cc.
References bGeometryAttributeConstraint::attribute_name, BLI_strdup_null(), and bConstraint::data.
|
static |
Definition at line 5631 of file constraint.cc.
References CON_ATTRIBUTE_4X4MATRIX, CON_ATTRIBUTE_MIX_AFTER_FULL, CON_ATTRIBUTE_MIX_AFTER_SPLIT, CON_ATTRIBUTE_MIX_BEFORE_FULL, CON_ATTRIBUTE_MIX_BEFORE_SPLIT, CON_ATTRIBUTE_MIX_REPLACE, CON_ATTRIBUTE_QUATERNION, CON_ATTRIBUTE_VECTOR, copy_m3_m3(), copy_m4_m4(), copy_v3_v3(), bConstraint::data, data, ListBase::first, loc_rot_size_to_mat4(), mat4_to_loc_rot_size(), bConstraintOb::matrix, bConstraintTarget::matrix, MIX_LOC, MIX_ROT, MIX_SCALE, mul_m4_m4m4(), mul_m4_m4m4_split_channels(), bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 5567 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 5528 of file constraint.cc.
References bConstraint::data, data, and MEM_SAFE_FREE.
|
static |
Definition at line 5578 of file constraint.cc.
References bGeometryAttributeConstraint::attribute_name, blender::bke::GeometryComponent::attributes(), BUFFER_FOR_CPP_TYPE_VALUE, bConstraint::data, bGeometryAttributeConstraint::data_type, CPPType::destruct(), bGeometryAttributeConstraint::domain, domain_value_to_attribute(), find_source_component(), blender::GVArrayCommon::get_to_uninitialized(), blender::GVArrayCommon::is_empty(), blender::bke::AttributeAccessor::lookup(), bConstraintTarget::matrix, blender::bke::object_get_evaluated_geometry_set(), bGeometryAttributeConstraint::sample_index, blender::GVArrayCommon::size(), bConstraintTarget::tar, blender::GVArrayCommon::type(), type_value_to_attribute(), unit_m4(), VALID_CONS_TARGET, and value_attribute_to_matrix().
|
static |
Definition at line 5554 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 5534 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 5547 of file constraint.cc.
References BLI_strdup(), data, MIX_LOC, MIX_ROT, and MIX_SCALE.
|
static |
Definition at line 973 of file constraint.cc.
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 1388 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1400 of file constraint.cc.
References CONSTRAINT_IK_AUTO, CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), copy_m4_m4(), copy_v3_v3(), bConstraint::data, data, bConstraint::flag, bConstraint::headtail, bConstraintTarget::matrix, mul_v3_m4v3(), bConstraintOb::ob, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
|
static |
Definition at line 1372 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1361 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 1350 of file constraint.cc.
References CONSTRAINT_IK_POS, CONSTRAINT_IK_STRETCH, CONSTRAINT_IK_TIP, and data.
|
static |
Definition at line 3014 of file constraint.cc.
References copy_m3_m4(), cross_v3_v3v3(), bConstraint::data, 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.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2988 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2980 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 2972 of file constraint.cc.
|
static |
Definition at line 1932 of file constraint.cc.
References copy_v3_v3(), bConstraint::data, data, ListBase::first, LOCLIKE_OFFSET, LOCLIKE_X, LOCLIKE_X_INVERT, LOCLIKE_Y, LOCLIKE_Y_INVERT, LOCLIKE_Z, LOCLIKE_Z_INVERT, bConstraintOb::matrix, bConstraintTarget::matrix, and VALID_CONS_TARGET.
|
static |
Definition at line 1921 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1906 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1898 of file constraint.cc.
References bConstraint::data, and data.
|
static |
|
static |
Definition at line 1647 of file constraint.cc.
References bConstraint::data, data, LIMIT_XMAX, LIMIT_XMIN, LIMIT_YMAX, LIMIT_YMIN, LIMIT_ZMAX, LIMIT_ZMIN, and bConstraintOb::matrix.
|
static |
Definition at line 3682 of file constraint.cc.
References copy_m4_m4(), copy_v3_v3(), bConstraint::data, 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.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3656 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3648 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 3639 of file constraint.cc.
|
static |
Definition at line 5283 of file constraint.cc.
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(), bConstraint::data, data, DEG_get_ctime(), bConstraintOb::depsgraph, depsgraph, bObjectSolverConstraint::flag, invert_m4_m4(), bObjectSolverConstraint::invmat, bConstraintOb::matrix, mul_m4_m4m4(), mul_m4_series, OBJECTSOLVER_ACTIVECLIP, OBJECTSOLVER_SET_INVERSE, bConstraintOb::scene, and MovieClip::tracking.
|
static |
Definition at line 5275 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 5266 of file constraint.cc.
References data, OBJECTSOLVER_ACTIVECLIP, and unit_m4().
|
static |
Definition at line 4696 of file constraint.cc.
References add_v3_v3v3(), angle(), copy_m3_m4(), copy_v3_v3(), bConstraint::data, 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_AXIS_Z, PIVOTCON_FLAG_OFFSET_ABS, project_v3_v3v3(), rot, bConstraintOb::rotOrder, sub_v3_v3(), sub_v3_v3v3(), and VALID_CONS_TARGET.
|
static |
Definition at line 4685 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 4670 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 4662 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 2029 of file constraint.cc.
References add_v3_v3(), BLI_assert, compatible_eul(), CONSTRAINT_EULER_AUTO, copy_m4_m4(), copy_v3_v3(), bConstraint::data, 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 2018 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2003 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1995 of file constraint.cc.
References bConstraint::data, and data.
|
static |
|
static |
Definition at line 1746 of file constraint.cc.
References clamp_angle(), clamp_f(), CONSTRAINT_EULER_AUTO, copy_v3_v3(), bConstraint::data, data, LIMIT_ROT_LEGACY_BEHAVIOR, 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 2409 of file constraint.cc.
References bConstraint::data, 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.
|
static |
Definition at line 2401 of file constraint.cc.
|
static |
Definition at line 4374 of file constraint.cc.
References copy_m4_m4(), ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, and VALID_CONS_TARGET.
|
static |
Definition at line 4194 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 4204 of file constraint.cc.
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, bShrinkwrapConstraint::dist, BVHTreeRayHit::dist, BVHTreeNearest::dist_sq, bShrinkwrapConstraint::flag, FLT_MAX, 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(), bConstraintOb::ob, OB_MESH, OB_NEGX, OB_NEGY, OB_NEGZ, OB_POSX, OB_POSY, OB_POSZ, 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 4180 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 4164 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 4172 of file constraint.cc.
References CONSTRAINT_SPACE_LOCAL, data, and OB_POSZ.
|
static |
Definition at line 2207 of file constraint.cc.
References add_v3_fl(), add_v3_v3(), copy_v3_fl(), bConstraint::data, data, fabsf, ListBase::first, i, 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 2196 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2181 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2173 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 2165 of file constraint.cc.
References data, SIZELIKE_MULTIPLY, SIZELIKE_X, SIZELIKE_Y, and SIZELIKE_Z.
|
static |
Definition at line 1835 of file constraint.cc.
References copy_v3_v3(), bConstraint::data, 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 4576 of file constraint.cc.
References bConstraint::data, MEM_dupallocN(), and bSplineIKConstraint::points.
|
static |
Definition at line 4621 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGETNS_FLUSH_TARS.
|
static |
Definition at line 4568 of file constraint.cc.
References bConstraint::data, data, and MEM_SAFE_FREE.
|
static |
Definition at line 4632 of file constraint.cc.
References unit_ct_matrix_nullsafe().
|
static |
Definition at line 4606 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGETNS_GET_TARS.
|
static |
Definition at line 4598 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 4585 of file constraint.cc.
References CONSTRAINT_SPLINEIK_USE_ORIGINAL_SCALE, CONSTRAINT_SPLINEIK_YS_FIT_CURVE, and data.
|
static |
Definition at line 3476 of file constraint.cc.
References atanf, constraint_find_original_for_update(), copy_v3_v3(), cross_v3_v3v3(), damptrack_do_transform(), bConstraint::data, 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(), bStretchToConstraint::orglength, orth(), orthogonalize_m4_stable(), PLANE_X, PLANE_Z, powf, rescale_m4(), blender::math::safe_divide(), 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 3465 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3450 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3442 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 3430 of file constraint.cc.
|
static |
Definition at line 1295 of file constraint.cc.
References bConstraint::data, 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 1193 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 1178 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 1170 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 1162 of file constraint.cc.
|
static |
Definition at line 4003 of file constraint.cc.
References add_v3_v3(), BKE_driver_target_matrix_to_rot_channels(), CLAMP, CONSTRAINT_EULER_AUTO, copy_v3_v3(), bConstraint::data, data, eulO_to_mat3(), ListBase::first, i, 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 3992 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 3977 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 3969 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 3955 of file constraint.cc.
|
static |
Definition at line 5401 of file constraint.cc.
References bTransformCacheConstraint::cache_file, bConstraint::data, bTransformCacheConstraint::object_path, bTransformCacheConstraint::reader, bTransformCacheConstraint::reader_object_path, and STRNCPY().
|
static |
Definition at line 5358 of file constraint.cc.
References ABC_get_transform(), BKE_cachefile_reader_open(), BKE_cachefile_time_offset(), CACHE_FILE_TYPE_INVALID, CACHEFILE_TYPE_ALEMBIC, CACHEFILE_TYPE_USD, bConstraint::data, data, DEG_get_ctime(), bConstraintOb::depsgraph, bConstraintOb::matrix, bConstraintOb::ob, CacheFile::scale, bConstraintOb::scene, STREQ, STRNCPY(), CacheFile::type, UNUSED_VARS, and blender::io::usd::USD_get_transform().
|
static |
Definition at line 5412 of file constraint.cc.
References BKE_cachefile_reader_free(), bConstraint::data, and data.
|
static |
Definition at line 5352 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 5422 of file constraint.cc.
References data.
|
static |
Definition at line 2329 of file constraint.cc.
References BLI_assert_msg, copy_m4_m4(), bConstraint::data, 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 2318 of file constraint.cc.
References bConstraint::data, data, ListBase::first, and SINGLETARGET_FLUSH_TARS.
|
static |
Definition at line 2303 of file constraint.cc.
References bConstraint::data, data, and SINGLETARGET_GET_TARS.
|
static |
Definition at line 2295 of file constraint.cc.
References bConstraint::data, and data.
|
static |
Definition at line 5466 of file constraint.cc.
References BLI_assert_unreachable, CON_ATTRIBUTE_4X4MATRIX, CON_ATTRIBUTE_QUATERNION, CON_ATTRIBUTE_VECTOR, blender::bke::Float3, blender::bke::Float4x4, and blender::bke::Quaternion.
Referenced by geometry_attribute_get_tarmat().
|
inlinestatic |
Definition at line 816 of file constraint.cc.
References bConstraintTarget::matrix, and unit_m4().
Referenced by armdef_get_tarmat(), clampto_get_tarmat(), default_get_tarmat(), default_get_tarmat_full_bbone(), followpath_get_tarmat(), and splineik_get_tarmat().
|
static |
Definition at line 5480 of file constraint.cc.
References BLI_assert_unreachable, CON_ATTRIBUTE_4X4MATRIX, CON_ATTRIBUTE_QUATERNION, CON_ATTRIBUTE_VECTOR, copy_m4_m4(), copy_v3_v3(), blender::GPointer::get(), and quat_to_mat4().
Referenced by geometry_attribute_get_tarmat().
|
static |
Definition at line 1220 of file constraint.cc.
References basis_cross(), copy_v3_v3(), cross_v3_v3v3(), float, negate_v3(), normalize_v3(), normalize_v3_v3(), project_v3_v3v3(), sub_v3_v3v3(), TARGET_Z_UP, and unit_m3().
Referenced by trackto_evaluate().
Wraps a number to be in [-PI, +PI].
Definition at line 1691 of file constraint.cc.
References angle(), b, and M_PI.
Referenced by clamp_angle().
|
static |
Definition at line 5733 of file constraint.cc.
Referenced by BKE_constraint_typeinfo_from_type(), and constraints_init_typeinfo().
|
static |
Definition at line 2955 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2702 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5712 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5249 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1145 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3938 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4551 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3413 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1630 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5191 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5734 of file constraint.cc.
Referenced by BKE_constraint_typeinfo_from_type().
|
static |
Definition at line 1443 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3271 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1971 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1671 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3753 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5335 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4773 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2148 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1818 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2453 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4384 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2278 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1874 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4645 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 3622 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 1333 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 4147 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 5429 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 2384 of file constraint.cc.
Referenced by constraints_init_typeinfo().
|
static |
Definition at line 105 of file constraint.cc.
|
static |
Definition at line 4443 of file constraint.cc.
Referenced by damptrack_do_transform().