Blender V2.61 - r43446
|
#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include <math.h>
#include <float.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_editVert.h"
#include "BLI_kdopbvh.h"
#include "BLI_utildefines.h"
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
#include "DNA_constraint_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_action_types.h"
#include "DNA_curve_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_lattice_types.h"
#include "DNA_scene_types.h"
#include "DNA_text_types.h"
#include "DNA_tracking_types.h"
#include "DNA_movieclip_types.h"
#include "BKE_action.h"
#include "BKE_anim.h"
#include "BKE_armature.h"
#include "BKE_blender.h"
#include "BKE_bvhutils.h"
#include "BKE_camera.h"
#include "BKE_constraint.h"
#include "BKE_displist.h"
#include "BKE_deform.h"
#include "BKE_DerivedMesh.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_object.h"
#include "BKE_ipo.h"
#include "BKE_global.h"
#include "BKE_library.h"
#include "BKE_idprop.h"
#include "BKE_shrinkwrap.h"
#include "BKE_mesh.h"
#include "BKE_tracking.h"
#include "BKE_movieclip.h"
Go to the source code of this file.
Definition in file constraint.c.
#define M_PI 3.14159265358979323846 |
Definition at line 90 of file constraint.c.
Referenced by add_render_lamp(), add_scene(), LbmFsgrSolver::advanceParticles(), angle_normalized_v2v2(), angle_normalized_v3v3(), angle_quad_v3(), angle_tri_v3(), angle_wrap_rad(), AngleBetween(), applyModifier(), axis_angle_to_gimbal_axis(), axisProjection(), BKE_text_to_curve(), blend(), BME_bevel_initialize(), brush_drawcursor(), calc_bevel_sin_cos(), calc_radial_symmetry_feather(), camera_params_from_object(), check_zone(), compatible_eul(), ComputeAttenuatedSunlight(), MeanValueMeshCoords::computeWeights(), costAngle(), KX_Dome::CreateMeshDome250(), ntlMatrix4x4< Scalar >::decompose(), defocus_blur(), detectArcRetargetMode(), dm_calc_normal(), do_kink(), do_radial_symmetry(), do_sky_tex(), do_version_constraints_radians_degrees_250(), do_versions(), draw_manipulator_rotate(), draw_pose_dofs(), draw_rotation_guide(), draw_spot_cone(), draw_uvs_stretch(), drawHelpline(), drawlamp(), drawspeaker(), dvar_eval_rotDiff(), ED_object_add_generic_props(), ED_rollBoneToVector(), ED_view3d_lock(), EM_make_hq_normals(), envmap_transmatrix(), WardClosure::eval_reflect(), MicrofacetBeckmannClosure< Refractive >::eval_reflect(), MicrofacetGGXClosure< Refractive >::eval_reflect(), MicrofacetBeckmannClosure< Refractive >::eval_transmit(), MicrofacetGGXClosure< Refractive >::eval_transmit(), fcm_fn_generator_evaluate(), fdrawXORcirc(), fdrawXORellipse(), ff_quad_form_factor(), fglow(), FHT(), ParticleObject::getMass(), GetSkyXYZRadiance(), ParticleTracer::getTriangles(), gpu_lamp_from_blender(), graphkeys_euler_filter_exec(), icu_to_fcurves(), imp2radangle(), inBetweenAngle(), initBoneRoll(), initData(), initRotation(), ntlMatrix4x4< Scalar >::initRotationX(), ntlMatrix4x4< Scalar >::initRotationY(), ntlMatrix4x4< Scalar >::initRotationZ(), InitSunSky(), initTilt(), ControlParticles::initTimeArray(), initTrackball(), initWarp(), make_prim(), makebevelcurve(), map_to_sphere(), map_to_tube(), node_update_hidden(), noise_wave(), occ_quad_form_factor(), p_abf_compute_gradient(), p_abf_matrix_invert(), p_abf_setup_system(), p_chart_abf_solve(), p_chart_minimum_area_angle(), p_chart_stretch_minimize(), p_edge_boundary_angle(), p_triangle_angles(), p_vec_angle(), paint_draw_cursor(), partial_donut(), particle_billboard(), postInputWarp(), project_from_camera(), psys_get_birth_coordinates(), psys_get_dupli_path_transform(), psys_make_billboard(), psys_render_projected_area(), QMC_sampleDisc(), QMC_sampleHemi(), QMC_samplePhong(), radial_control_modal(), radial_control_paint_cursor(), radial_control_paint_tex(), Rd_rsquare(), ntlWorld::renderScene(), RIG_printArc(), rna_def_brush_texture_slot(), RNA_def_camera(), rna_def_constraint_kinematic(), rna_def_constraint_rigid_body_joint(), rna_def_edit_bone(), rna_def_modifier_screw(), rna_def_pose_channel(), rna_def_scene_game_recast_data(), rna_def_spot_lamp(), rotate(), RotationBetween(), RVBlurBitmap2_byte(), RVBlurBitmap2_float(), saacos(), saacos_d(), saacosf(), saasin(), saasinf(), GenericEmissiveClosure::sample(), WestinBackscatterClosure::sample(), WardClosure::sample(), MicrofacetBeckmannClosure< Refractive >::sample(), MicrofacetGGXClosure< Refractive >::sample(), KX_ObstacleSimulationTOI_rays::sampleRVO(), screen_aligned(), sculpt_update_cache_variants(), select_linked_flat_faces(), select_sharp_edges_exec(), set_boid_values(), set_phong_threshold(), OrenNayarClosure::setup(), sinc(), sk_drawEdge(), sk_drawNormal(), smooth_view(), speedvector_project(), spin_mesh(), spin_nurb(), split_sharp_edges(), tag_and_count_extra_edges(), test_manipulator_axis(), tex_saw(), tex_tri(), TRANSFORM_OT_rotate(), TRANSFORM_OT_tilt(), TRANSFORM_OT_warp(), ui_draw_but_HSVCIRCLE(), ui_draw_but_NORMAL(), ui_hsv_cursor(), ui_hsvcircle_vals_from_pos(), ui_ndofedit_but_HSVCIRCLE(), KX_SteeringActuator::Update(), uv_image_outset(), uv_map_rotation_matrix(), vectorscope_draw_target(), viewnumpad_exec(), vieworbit_exec(), viewrotate_apply(), WardIso_Spec(), wm_gesture_draw_circle(), wm_gesture_evaluate(), xml_read_camera(), and xml_read_transform().
#define SINGLETARGET_FLUSH_TARS | ( | con, | |
datatar, | |||
datasubtarget, | |||
ct, | |||
list, | |||
nocopy | |||
) |
{ \ if (ct) { \ bConstraintTarget *ctn = ct->next; \ if (nocopy == 0) { \ datatar= ct->tar; \ BLI_strncpy(datasubtarget, ct->subtarget, sizeof(datasubtarget)); \ con->tarspace= (char)ct->space; \ } \ \ BLI_freelinkN(list, ct); \ ct= ctn; \ } \ }
Definition at line 745 of file constraint.c.
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 | |||
) |
{ \ ct= MEM_callocN(sizeof(bConstraintTarget), "tempConstraintTarget"); \ \ ct->tar= datatar; \ BLI_strncpy(ct->subtarget, datasubtarget, sizeof(ct->subtarget)); \ ct->space= con->tarspace; \ ct->flag= CONSTRAINT_TAR_TEMP; \ \ if (ct->tar) { \ if ((ct->tar->type==OB_ARMATURE) && (ct->subtarget[0])) { \ bPoseChannel *pchan= get_pose_channel(ct->tar->pose, ct->subtarget); \ ct->type = CONSTRAINT_OBTYPE_BONE; \ ct->rotOrder= (pchan) ? (pchan->rotmode) : EULER_ORDER_DEFAULT; \ }\ else if (OB_TYPE_SUPPORT_VGROUP(ct->tar->type) && (ct->subtarget[0])) { \ ct->type = CONSTRAINT_OBTYPE_VERT; \ ct->rotOrder = EULER_ORDER_DEFAULT; \ } \ else {\ ct->type = CONSTRAINT_OBTYPE_OBJECT; \ ct->rotOrder= ct->tar->rotmode; \ } \ } \ \ BLI_addtail(list, ct); \ }
Definition at line 692 of file constraint.c.
Referenced by actcon_get_tars(), 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, | |||
nocopy | |||
) |
{ \ if (ct) { \ bConstraintTarget *ctn = ct->next; \ if (nocopy == 0) { \ datatar= ct->tar; \ con->tarspace= (char)ct->space; \ } \ \ BLI_freelinkN(list, ct); \ ct= ctn; \ } \ }
Definition at line 766 of file constraint.c.
Referenced by clampto_flush_tars(), followpath_flush_tars(), rbj_flush_tars(), shrinkwrap_flush_tars(), and splineik_flush_tars().
#define SINGLETARGETNS_GET_TARS | ( | con, | |
datatar, | |||
ct, | |||
list | |||
) |
{ \ ct= MEM_callocN(sizeof(bConstraintTarget), "tempConstraintTarget"); \ \ ct->tar= datatar; \ ct->space= con->tarspace; \ ct->flag= CONSTRAINT_TAR_TEMP; \ \ if (ct->tar) ct->type = CONSTRAINT_OBTYPE_OBJECT; \ \ BLI_addtail(list, ct); \ }
Definition at line 726 of file constraint.c.
Referenced by clampto_get_tars(), followpath_get_tars(), rbj_get_tars(), shrinkwrap_get_tars(), and splineik_get_tars().
static void actcon_evaluate | ( | bConstraint * | UNUSEDcon, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 2243 of file constraint.c.
References copy_m4_m4(), ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, mult_m4_m4m4(), and VALID_CONS_TARGET.
static void actcon_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 2144 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bActionConstraint::subtarget, and bActionConstraint::tar.
static void actcon_get_tarmat | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 2155 of file constraint.c.
References bActionConstraint::act, 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, bActionConstraint::end, free_pose(), G, G_DEBUG, bConstraint::headtail, Object::id, mat4_to_eul(), mat4_to_size(), bConstraintTarget::matrix, bActionConstraint::max, MEM_callocN(), bActionConstraint::min, mul_v3_fl(), bPoseChannel::name, ID::name, bConstraint::name, NULL, bConstraintOb::ob, object_to_mat4(), bConstraintOb::pchan, pchan_calc_mat(), RAD2DEGF, bPoseChannel::rotmode, bConstraintTarget::space, bActionConstraint::start, bConstraintTarget::subtarget, bConstraintTarget::tar, bActionConstraint::type, bConstraintOb::type, unit_m4(), VALID_CONS_TARGET, verify_pose_channel(), and what_does_obaction().
static int actcon_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 2129 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bActionConstraint::subtarget, and bActionConstraint::tar.
static void actcon_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 2118 of file constraint.c.
References bActionConstraint::act, data, bConstraint::data, and bActionConstraint::tar.
static void actcon_new_data | ( | void * | cdata | ) | [static] |
Definition at line 2110 of file constraint.c.
References data, and bActionConstraint::type.
static void actcon_relink | ( | bConstraint * | con | ) | [static] |
Definition at line 2104 of file constraint.c.
References bActionConstraint::act, data, bConstraint::data, and ID_NEW.
static bConstraint* add_new_constraint | ( | Object * | ob, |
bPoseChannel * | pchan, | ||
const char * | name, | ||
short | type | ||
) | [static] |
Definition at line 4448 of file constraint.c.
References add_new_constraint_internal(), BLI_addtail(), CONSTRAINT_PROXY_LOCAL, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACEONCE, CONSTRAINT_TYPE_CHILDOF, bPoseChannel::constraints, Object::constraints, constraints_set_active(), bConstraint::flag, bConstraint::ownspace, proxylocked_constraints_owner(), and unique_constraint_name().
Referenced by add_ob_constraint(), and add_pose_constraint().
static bConstraint* add_new_constraint_internal | ( | const char * | name, |
short | type | ||
) | [static] |
Definition at line 4411 of file constraint.c.
References BLI_strncpy(), CONSTRAINT_EXPAND, bConstraint::data, bConstraint::enforce, bConstraint::flag, get_constraint_typeinfo(), MEM_callocN(), bConstraintTypeInfo::name, bConstraint::name, bConstraintTypeInfo::new_data, bConstraintTypeInfo::size, bConstraintTypeInfo::structName, and bConstraint::type.
Referenced by add_new_constraint().
bConstraint* add_ob_constraint | ( | Object * | ob, |
const char * | name, | ||
short | type | ||
) | [read] |
Definition at line 4507 of file constraint.c.
References add_new_constraint(), and NULL.
Referenced by constraint_add_exec(), do_version_old_trackto_to_constraints(), parent_set_exec(), and track_set_exec().
bConstraint* add_pose_constraint | ( | Object * | ob, |
bPoseChannel * | pchan, | ||
const char * | name, | ||
short | type | ||
) | [read] |
Definition at line 4498 of file constraint.c.
References add_new_constraint(), and NULL.
Referenced by constraint_add_exec(), and pose_grab_with_ik_add().
static int basis_cross | ( | int | n, |
int | m | ||
) | [static] |
Definition at line 963 of file constraint.c.
Referenced by vectomat().
static void camerasolver_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 4146 of file constraint.c.
References BKE_tracking_get_camera_object(), BKE_tracking_get_interpolated_camera(), CAMERASOLVER_ACTIVECLIP, RenderData::cfra, bCameraSolverConstraint::clip, Scene::clip, copy_m4_m4(), data, bConstraint::data, bCameraSolverConstraint::flag, bConstraintOb::matrix, mult_m4_m4m4(), Scene::r, bConstraintOb::scene, and MovieClip::tracking.
static void camerasolver_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 4139 of file constraint.c.
References bCameraSolverConstraint::clip, data, and bConstraint::data.
static void camerasolver_new_data | ( | void * | cdata | ) | [static] |
Definition at line 4131 of file constraint.c.
References CAMERASOLVER_ACTIVECLIP, bCameraSolverConstraint::clip, data, bCameraSolverConstraint::flag, and NULL.
static void childof_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 826 of file constraint.c.
References CHILDOF_ALL, CHILDOF_LOCX, CHILDOF_LOCY, CHILDOF_LOCZ, CHILDOF_ROTX, CHILDOF_ROTY, CHILDOF_ROTZ, CHILDOF_SIZEX, CHILDOF_SIZEY, CHILDOF_SIZEZ, copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, bChildOfConstraint::flag, bChildOfConstraint::invmat, loc_eulO_size_to_mat4(), mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mult_m4_m4m4(), bConstraintTarget::rotOrder, bConstraintOb::rotOrder, size(), and VALID_CONS_TARGET.
static void childof_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 815 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bChildOfConstraint::subtarget, and bChildOfConstraint::tar.
static int childof_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 800 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bChildOfConstraint::subtarget, and bChildOfConstraint::tar.
static void childof_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 792 of file constraint.c.
References data, bConstraint::data, and bChildOfConstraint::tar.
static void childof_new_data | ( | void * | cdata | ) | [static] |
Definition at line 782 of file constraint.c.
References CHILDOF_LOCX, CHILDOF_LOCY, CHILDOF_LOCZ, CHILDOF_ROTX, CHILDOF_ROTY, CHILDOF_ROTZ, CHILDOF_SIZEX, CHILDOF_SIZEY, CHILDOF_SIZEZ, data, bChildOfConstraint::flag, bChildOfConstraint::invmat, and unit_m4().
static void clampto_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 3145 of file constraint.c.
References CLAMPTO_AUTO, CLAMPTO_CYCLIC, CLAMPTO_X, CLAMPTO_Y, CLAMPTO_Z, copy_m4_m4(), copy_v3_v3(), Object::data, data, bConstraint::data, Path::data, ListBase::first, bClampToConstraint::flag, bClampToConstraint::flag2, INIT_MINMAX, IS_EQ, len(), MAT4_UNITY, bConstraintOb::matrix, minmax_object(), mul_serie_m4(), NULL, OB_CURVE, Object::obmat, Curve::path, size(), sub_v3_v3v3(), bConstraintTarget::tar, bClampToConstraint::tar, Object::type, unit_m4(), VALID_CONS_TARGET, and where_on_path().
static void clampto_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3113 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGETNS_FLUSH_TARS, and bClampToConstraint::tar.
static void clampto_get_tarmat | ( | bConstraint * | UNUSEDcon, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 3124 of file constraint.c.
References Object::data, Path::data, makeDispListCurveTypes(), bConstraintTarget::matrix, NULL, Curve::path, bConstraintOb::scene, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
static int clampto_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3098 of file constraint.c.
References data, bConstraint::data, SINGLETARGETNS_GET_TARS, and bClampToConstraint::tar.
static void clampto_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3090 of file constraint.c.
References data, bConstraint::data, and bClampToConstraint::tar.
static void con_extern_cb | ( | bConstraint * | UNUSEDcon, |
ID ** | idpoin, | ||
void * | UNUSEDuserData | ||
) | [static] |
Definition at line 4562 of file constraint.c.
References id_lib_extern(), and ID::lib.
Referenced by copy_constraints().
bConstraintTypeInfo* constraint_get_typeinfo | ( | bConstraint * | con | ) |
Definition at line 4329 of file constraint.c.
References get_constraint_typeinfo(), NULL, and bConstraint::type.
Referenced by armature_delete_selected_exec(), build_dag_object(), constraint_bone_name_fix(), copy_constraints(), copy_object_pose(), dag_id_flush_update(), dag_object_time_update_flags(), DAG_pose_sort(), do_versions(), draw_constraint(), draw_object(), free_constraint_data(), get_constraint_target_matrix(), get_constraint_targets_for_solving(), id_loop_constraints(), joined_armature_fix_links(), BL_ArmatureObject::LoadConstraints(), object_solver_camera(), object_solver_inverted_matrix(), pose_proxy_synchronize(), pose_select_constraint_target_exec(), relink_constraints(), RIG_reconnectControlBones(), separated_armature_fix_links(), set_constraint_nth_target(), solve_constraints(), subframe_updateObject(), test_constraints(), unlink_movieclip(), unlink_object(), updateDuplicateSubtargetObjects(), and write_constraints().
void constraint_mat_convertspace | ( | Object * | ob, |
bPoseChannel * | pchan, | ||
float | mat[][4], | ||
short | from, | ||
short | to | ||
) |
Definition at line 227 of file constraint.c.
References Bone::arm_mat, bPoseChannel::bone, BONE_HINGE, Bone::bone_mat, constraint_mat_convertspace(), CONSTRAINT_SPACE_LOCAL, CONSTRAINT_SPACE_PARLOCAL, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_WORLD, copy_m4_m3(), copy_m4_m4(), copy_v3_v3(), ELEM, Bone::flag, Bone::head, invert_m4_m4(), Bone::length, mul_m4_v3(), mult_m4_m4m4(), normalize_m4(), NULL, object_to_mat4(), Object::obmat, bPoseChannel::parent, Bone::parent, Object::parent, Object::parentinv, bPoseChannel::pose_mat, and zero_v3().
Referenced by constraint_mat_convertspace(), constraint_target_to_mat4(), dvar_eval_locDiff(), dvar_eval_transChan(), solve_constraints(), and visualkey_get_value().
static void constraint_target_to_mat4 | ( | Object * | ob, |
const char * | substring, | ||
float | mat[][4], | ||
short | from, | ||
short | to, | ||
float | headtail | ||
) | [static] |
Definition at line 581 of file constraint.c.
References constraint_mat_convertspace(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), copy_m4_m4(), copy_v3_v3(), get_pose_channel(), interp_v3_v3v3(), mult_m4_m4m4(), NULL, OB_LATTICE, OB_MESH, Object::obmat, Object::pose, bPoseChannel::pose_head, bPoseChannel::pose_mat, bPoseChannel::pose_tail, strlen(), and Object::type.
Referenced by actcon_get_tarmat(), default_get_tarmat(), kinematic_get_tarmat(), and pycon_get_tarmat().
void constraints_clear_evalob | ( | bConstraintOb * | cob | ) |
Definition at line 177 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(), mult_m4_m4m4(), NULL, bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bPoseChannel::pose_mat, bConstraintOb::startmat, and bConstraintOb::type.
Referenced by draw_object(), where_is_object_simul(), where_is_object_time(), and where_is_pose_bone().
bConstraint* constraints_findByName | ( | ListBase * | list, |
const char * | name | ||
) | [read] |
Definition at line 4600 of file constraint.c.
References BLI_findstring().
Referenced by edit_constraint_property_get().
bConstraint* constraints_get_active | ( | ListBase * | list | ) | [read] |
Definition at line 4606 of file constraint.c.
References CONSTRAINT_ACTIVE, ListBase::first, bConstraint::flag, bConstraint::next, and NULL.
Referenced by get_active_constraint().
static void constraints_init_typeinfo | ( | void | ) | [static] |
Definition at line 4268 of file constraint.c.
References CTI_ACTION, 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_RIGIDBODYJOINT, CTI_ROTLIKE, CTI_ROTLIMIT, CTI_SAMEVOL, CTI_SHRINKWRAP, CTI_SIZELIKE, CTI_SIZELIMIT, CTI_SPLINEIK, CTI_STRETCHTO, CTI_TRACKTO, CTI_TRANSFORM, CTI_TRANSLIKE, and NULL.
Referenced by get_constraint_typeinfo().
bConstraintOb* constraints_make_evalob | ( | Scene * | scene, |
Object * | ob, | ||
void * | subdata, | ||
short | datatype | ||
) | [read] |
Definition at line 113 of file constraint.c.
References CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, copy_m4_m4(), EULER_ORDER_DEFAULT, bConstraintOb::matrix, MEM_callocN(), mult_m4_m4m4(), bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bPoseChannel::pose_mat, bPoseChannel::rotmode, bConstraintOb::rotOrder, bConstraintOb::scene, bConstraintOb::startmat, bConstraintOb::type, and unit_m4().
Referenced by draw_object(), where_is_object_simul(), where_is_object_time(), and where_is_pose_bone().
void constraints_set_active | ( | ListBase * | list, |
bConstraint * | con | ||
) |
Definition at line 4623 of file constraint.c.
References CONSTRAINT_ACTIVE, ListBase::first, bConstraint::flag, and bConstraint::next.
Referenced by add_new_constraint(), constraint_delete_exec(), and ED_object_constraint_set_active().
static void contarget_get_lattice_mat | ( | Object * | ob, |
const char * | substring, | ||
float | mat[][4] | ||
) | [static] |
Definition at line 528 of file constraint.c.
References add_v3_v3(), co, copy_m4_m4(), copy_v3_v3(), Object::data, Lattice::def, defgroup_name_index(), defvert_find_index(), Object::disp, DL_VERTS, Lattice::dvert, find_displist(), i, mul_v3_fl(), mul_v3_m4v3(), NULL, Object::obmat, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, MDeformVert::totweight, BPoint::vec, and MDeformWeight::weight.
Referenced by constraint_target_to_mat4().
static void contarget_get_mesh_mat | ( | Object * | ob, |
const char * | substring, | ||
float | mat[][4] | ||
) | [static] |
Definition at line 433 of file constraint.c.
References add_v3_v3(), BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CD_MDEFORMVERT, CDDM_from_editmesh(), co, copy_m3_m4(), copy_m4_m3(), copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), Object::data, defgroup_name_index(), defvert_find_index(), Object::derivedFinal, DerivedMesh::getNumVerts, DerivedMesh::getVertCo, DerivedMesh::getVertDataArray, DerivedMesh::getVertNo, i, invert_m3_m3(), mul_m3_v3(), mul_v3_fl(), mul_v3_m4v3(), normalize_m4(), normalize_v3(), NULL, Object::obmat, DerivedMesh::release, transpose_m3(), and MDeformWeight::weight.
Referenced by constraint_target_to_mat4().
Definition at line 4569 of file constraint.c.
References BLI_duplicatelist(), con_extern_cb(), constraint_get_typeinfo(), bConstraintTypeInfo::copy_data, bConstraint::data, ListBase::first, bConstraintTypeInfo::id_looper, ListBase::last, MEM_dupallocN(), bConstraint::next, and NULL.
static void damptrack_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 3637 of file constraint.c.
References acos(), axis_angle_to_mat3(), copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), data, bConstraint::data, dot_v3v3(), ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, MAX2, MIN2, mul_m4_m3m4(), mul_mat3_m4_v3(), normalize_v3(), sub_v3_v3v3(), bDampTrackConstraint::trackflag, unit_m4(), and VALID_CONS_TARGET.
static void damptrack_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3620 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bDampTrackConstraint::subtarget, and bDampTrackConstraint::tar.
static int damptrack_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3605 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bDampTrackConstraint::subtarget, and bDampTrackConstraint::tar.
static void damptrack_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3597 of file constraint.c.
References data, bConstraint::data, and bDampTrackConstraint::tar.
static void damptrack_new_data | ( | void * | cdata | ) | [static] |
Definition at line 3590 of file constraint.c.
References data, TRACK_Y, and bDampTrackConstraint::trackflag.
static void default_get_tarmat | ( | bConstraint * | con, |
bConstraintOb * | UNUSEDcob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 678 of file constraint.c.
References CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), bConstraint::headtail, bConstraintTarget::matrix, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
static void distlimit_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 2629 of file constraint.c.
References copy_v3_v3(), data, bConstraint::data, bDistLimitConstraint::dist, expf, ListBase::first, bDistLimitConstraint::flag, interp_v3_v3v3(), IS_EQF, len_v3v3(), LIMITDIST_INSIDE, LIMITDIST_OUTSIDE, LIMITDIST_USESOFT, bConstraintOb::matrix, bConstraintTarget::matrix, bDistLimitConstraint::mode, bDistLimitConstraint::soft, and VALID_CONS_TARGET.
static void distlimit_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 2618 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bDistLimitConstraint::subtarget, and bDistLimitConstraint::tar.
static int distlimit_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 2603 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bDistLimitConstraint::subtarget, and bDistLimitConstraint::tar.
static void distlimit_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 2595 of file constraint.c.
References data, bConstraint::data, and bDistLimitConstraint::tar.
static void distlimit_new_data | ( | void * | cdata | ) | [static] |
Definition at line 2588 of file constraint.c.
References data, and bDistLimitConstraint::dist.
Definition at line 4640 of file constraint.c.
References BLI_addtail(), BLI_remlink(), CONSTRAINT_PROXY_LOCAL, ListBase::first, bConstraint::flag, bConstraint::next, and next.
Referenced by pose_proxy_synchronize().
static void followpath_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 1325 of file constraint.c.
References copy_m4_m4(), data, bConstraint::data, ListBase::first, bFollowPathConstraint::followflag, FOLLOWPATH_RADIUS, mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_serie_m4(), mul_v3_fl(), NULL, size(), and VALID_CONS_TARGET.
static void followpath_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 1225 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGETNS_FLUSH_TARS, and bFollowPathConstraint::tar.
static void followpath_get_tarmat | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 1236 of file constraint.c.
References CLAMP(), copy_m4_m4(), copy_v3_v3(), cos(), Curve::ctime, CU_NURB_CYCLIC, Object::data, data, bConstraint::data, Path::data, ListBase::first, Nurb::flagu, bFollowPathConstraint::followflag, FOLLOWPATH_FOLLOW, FOLLOWPATH_RADIUS, FOLLOWPATH_STATIC, makeDispListCurveTypes(), MAT4_UNITY, bConstraintTarget::matrix, mul_qt_qtqt(), mul_serie_m4(), mult_m4_m4m4(), normalize_v3(), NULL, Curve::nurb, Object::obmat, bFollowPathConstraint::offset, bFollowPathConstraint::offset_fac, Curve::path, Curve::pathlen, quat_apply_track(), quat_to_mat4(), scale_m4_fl(), bConstraintOb::scene, sin(), bConstraintTarget::tar, bFollowPathConstraint::trackflag, unit_m4(), bFollowPathConstraint::upflag, VALID_CONS_TARGET, vec_to_quat(), and where_on_path().
static int followpath_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 1210 of file constraint.c.
References data, bConstraint::data, SINGLETARGETNS_GET_TARS, and bFollowPathConstraint::tar.
static void followpath_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 1202 of file constraint.c.
References data, bConstraint::data, and bFollowPathConstraint::tar.
static void followpath_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1192 of file constraint.c.
References data, bFollowPathConstraint::followflag, bFollowPathConstraint::offset, TRACK_Y, bFollowPathConstraint::trackflag, UP_Z, and bFollowPathConstraint::upflag.
static void followtrack_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 3958 of file constraint.c.
References add_v2_v2v2(), BKE_get_tracking_mat(), BKE_tracking_get_camera_object(), BKE_tracking_get_interpolated_camera(), BKE_tracking_get_marker(), BKE_tracking_named_object(), BKE_tracking_named_track(), BLI_bvhtree_ray_cast(), MovieTrackingTrack::bundle_pos, bvhtree_from_mesh_faces(), bFollowTrackConstraint::camera, Scene::camera, camera_params_from_object(), camera_params_init(), RenderData::cfra, bFollowTrackConstraint::clip, Scene::clip, BVHTreeRayHit::co, copy_m4_m4(), copy_v3_v3(), simple_enum_gen::d, data, bConstraint::data, bFollowTrackConstraint::depth_ob, Object::derivedFinal, BVHTreeRayHit::dist, bFollowTrackConstraint::flag, MovieTrackingObject::flag, MovieTrackingTrack::flag, FLT_MAX, FOLLOWTRACK_ACTIVECLIP, FOLLOWTRACK_USE_3D_POSITION, free_bvhtree_from_mesh(), BVHTreeRayHit::index, invert_m4(), invert_m4_m4(), CameraParams::is_ortho, len(), len_v3(), CameraParams::lens, bConstraintOb::matrix, mul_serie_m4(), mul_v3_m4v3(), mult_m4_m4m4(), NULL, NULL_BVHTreeFromMesh, bFollowTrackConstraint::object, Object::obmat, MovieTrackingTrack::offset, CameraParams::ortho_scale, MovieTrackingMarker::pos, project_v3_v3v3(), Scene::r, BVHTreeFromMesh::raycast_callback, bConstraintOb::scene, CameraParams::sensor_x, CameraParams::shiftx, CameraParams::shifty, sub_v3_v3(), sub_v3_v3v3(), bFollowTrackConstraint::track, TRACK_HAS_BUNDLE, MovieClip::tracking, TRACKING_OBJECT_CAMERA, translate_m4(), BVHTreeFromMesh::tree, where_is_object_mat(), RenderData::xasp, RenderData::xsch, RenderData::yasp, RenderData::ysch, and zero_v3().
static void followtrack_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3949 of file constraint.c.
References bFollowTrackConstraint::camera, bFollowTrackConstraint::clip, data, bConstraint::data, and bFollowTrackConstraint::depth_ob.
static void followtrack_new_data | ( | void * | cdata | ) | [static] |
Definition at line 3941 of file constraint.c.
References bFollowTrackConstraint::clip, data, bFollowTrackConstraint::flag, FOLLOWTRACK_ACTIVECLIP, and NULL.
void free_constraint_data | ( | bConstraint * | con | ) |
Definition at line 4348 of file constraint.c.
References constraint_get_typeinfo(), bConstraint::data, bConstraintTypeInfo::free_data, and MEM_freeN().
Referenced by free_constraints(), and remove_constraint().
void free_constraints | ( | ListBase * | list | ) |
Definition at line 4363 of file constraint.c.
References BLI_freelistN(), ListBase::first, free_constraint_data(), and bConstraint::next.
Referenced by free_object(), free_pose_channel(), object_constraints_clear_exec(), and pose_constraints_clear_exec().
void get_constraint_target_matrix | ( | struct Scene * | scene, |
bConstraint * | con, | ||
int | n, | ||
short | ownertype, | ||
void * | ownerdata, | ||
float | mat[][4], | ||
float | ctime | ||
) |
Definition at line 4686 of file constraint.c.
References constraint_get_typeinfo(), CONSTRAINT_OBTYPE_BONE, CONSTRAINT_OBTYPE_OBJECT, copy_m4_m4(), ListBase::first, bConstraintTypeInfo::flush_constraint_targets, bConstraintTypeInfo::get_constraint_targets, bConstraintTypeInfo::get_target_matrix, bConstraintTarget::matrix, bConstraintOb::matrix, MEM_callocN(), MEM_freeN(), bConstraintTarget::next, NULL, bConstraintOb::ob, Object::obmat, bConstraintOb::pchan, bPoseChannel::pose_mat, bConstraintOb::scene, bConstraintOb::startmat, bConstraintOb::type, and unit_m4().
Referenced by base_callback(), execute_posetree(), parent_set_exec(), and target_callback().
void get_constraint_targets_for_solving | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets, | ||
float | ctime | ||
) |
Definition at line 4755 of file constraint.c.
References constraint_get_typeinfo(), ListBase::first, bConstraintTypeInfo::get_constraint_targets, bConstraintTypeInfo::get_target_matrix, bConstraintTarget::matrix, bConstraintTarget::next, and unit_m4().
Referenced by constraintTransLim(), and solve_constraints().
bConstraintTypeInfo* get_constraint_typeinfo | ( | int | type | ) |
Definition at line 4304 of file constraint.c.
References CONSTRAINT_TYPE_NULL, constraints_init_typeinfo(), NULL, and NUM_CONSTRAINT_TYPES.
Referenced by add_new_constraint_internal(), constraint_get_typeinfo(), constraintRotLim(), constraintSizeLim(), and constraintTransLim().
void id_loop_constraints | ( | ListBase * | conlist, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) |
Definition at line 4545 of file constraint.c.
References constraint_get_typeinfo(), ListBase::first, bConstraintTypeInfo::id_looper, and bConstraint::next.
Referenced by expand_constraints(), and lib_link_constraints().
static void kinematic_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 1136 of file constraint.c.
References data, bConstraint::data, ListBase::first, bKinematicConstraint::polesubtarget, bKinematicConstraint::poletar, SINGLETARGET_FLUSH_TARS, bKinematicConstraint::subtarget, and bKinematicConstraint::tar.
static void kinematic_get_tarmat | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 1148 of file constraint.c.
References CONSTRAINT_IK_AUTO, CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, bKinematicConstraint::flag, bKinematicConstraint::grabtarget, 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 int kinematic_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 1120 of file constraint.c.
References data, bConstraint::data, bKinematicConstraint::polesubtarget, bKinematicConstraint::poletar, SINGLETARGET_GET_TARS, bKinematicConstraint::subtarget, and bKinematicConstraint::tar.
static void kinematic_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 1109 of file constraint.c.
References data, bConstraint::data, bKinematicConstraint::poletar, and bKinematicConstraint::tar.
static void kinematic_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1098 of file constraint.c.
References CONSTRAINT_IK_POS, CONSTRAINT_IK_STRETCH, CONSTRAINT_IK_TIP, data, bKinematicConstraint::dist, bKinematicConstraint::flag, bKinematicConstraint::iterations, bKinematicConstraint::orientweight, and bKinematicConstraint::weight.
static void locktrack_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 2318 of file constraint.c.
References copy_m3_m4(), copy_m4_m4(), cross_v3_v3v3(), data, bConstraint::data, determinant_m3(), ListBase::first, invert_m3_m3(), LOCK_X, LOCK_Y, LOCK_Z, bLockTrackConstraint::lockflag, 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, bLockTrackConstraint::trackflag, unit_m3(), and VALID_CONS_TARGET.
static void locktrack_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 2307 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bLockTrackConstraint::subtarget, and bLockTrackConstraint::tar.
static int locktrack_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 2292 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bLockTrackConstraint::subtarget, and bLockTrackConstraint::tar.
static void locktrack_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 2284 of file constraint.c.
References data, bConstraint::data, and bLockTrackConstraint::tar.
static void locktrack_new_data | ( | void * | cdata | ) | [static] |
Definition at line 2276 of file constraint.c.
References data, LOCK_Z, bLockTrackConstraint::lockflag, TRACK_Y, and bLockTrackConstraint::trackflag.
static void loclike_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 1586 of file constraint.c.
References copy_v3_v3(), data, bConstraint::data, ListBase::first, bLocateLikeConstraint::flag, 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 void loclike_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 1575 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bLocateLikeConstraint::subtarget, and bLocateLikeConstraint::tar.
static int loclike_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 1560 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bLocateLikeConstraint::subtarget, and bLocateLikeConstraint::tar.
static void loclike_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 1552 of file constraint.c.
References data, bConstraint::data, and bLocateLikeConstraint::tar.
static void loclike_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1545 of file constraint.c.
References data, bLocateLikeConstraint::flag, LOCLIKE_X, LOCLIKE_Y, and LOCLIKE_Z.
static void loclimit_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 1379 of file constraint.c.
References data, bConstraint::data, bLocLimitConstraint::flag, LIMIT_XMAX, LIMIT_XMIN, LIMIT_YMAX, LIMIT_YMIN, LIMIT_ZMAX, LIMIT_ZMIN, bConstraintOb::matrix, bLocLimitConstraint::xmax, bLocLimitConstraint::xmin, bLocLimitConstraint::ymax, bLocLimitConstraint::ymin, bLocLimitConstraint::zmax, and bLocLimitConstraint::zmin.
static void minmax_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 2928 of file constraint.c.
References bMinMaxConstraint::cache, copy_m4_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, bMinMaxConstraint::flag, invert_m4_m4(), bConstraintOb::matrix, bConstraintTarget::matrix, MINMAX_STICKY, MINMAX_STUCK, MINMAX_USEROT, bMinMaxConstraint::minmaxflag, mult_m4_m4m4(), bMinMaxConstraint::offset, TRACK_nX, TRACK_nY, TRACK_nZ, TRACK_X, TRACK_Y, TRACK_Z, unit_m4(), and VALID_CONS_TARGET.
static void minmax_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 2917 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bMinMaxConstraint::subtarget, and bMinMaxConstraint::tar.
static int minmax_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 2902 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bMinMaxConstraint::subtarget, and bMinMaxConstraint::tar.
static void minmax_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 2894 of file constraint.c.
References data, bConstraint::data, and bMinMaxConstraint::tar.
static void minmax_new_data | ( | void * | cdata | ) | [static] |
Definition at line 2884 of file constraint.c.
References bMinMaxConstraint::cache, data, bMinMaxConstraint::flag, bMinMaxConstraint::minmaxflag, bMinMaxConstraint::offset, and TRACK_Z.
static void objectsolver_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 4203 of file constraint.c.
References BKE_tracking_get_interpolated_camera(), BKE_tracking_named_object(), bObjectSolverConstraint::camera, Scene::camera, RenderData::cfra, bObjectSolverConstraint::clip, Scene::clip, copy_m4_m4(), data, bConstraint::data, bObjectSolverConstraint::flag, invert_m4_m4(), bObjectSolverConstraint::invmat, bConstraintOb::matrix, mul_serie_m4(), mult_m4_m4m4(), NULL, bObjectSolverConstraint::object, OBJECTSOLVER_ACTIVECLIP, Object::obmat, Scene::r, bConstraintOb::scene, MovieClip::tracking, and where_is_object_mat().
static void objectsolver_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 4195 of file constraint.c.
References bObjectSolverConstraint::camera, bObjectSolverConstraint::clip, data, and bConstraint::data.
static void objectsolver_new_data | ( | void * | cdata | ) | [static] |
Definition at line 4186 of file constraint.c.
References bObjectSolverConstraint::clip, data, bObjectSolverConstraint::flag, bObjectSolverConstraint::invmat, NULL, OBJECTSOLVER_ACTIVECLIP, and unit_m4().
static void pivotcon_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 3850 of file constraint.c.
References add_v3_v3v3(), angle(), copy_m3_m4(), copy_v3_v3(), data, bConstraint::data, ListBase::first, bPivotConstraint::flag, mat3_to_axis_angle(), mat4_to_eulO(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m3_v3(), normalize_m3(), bPivotConstraint::offset, PIVOTCON_AXIS_NONE, PIVOTCON_AXIS_X, PIVOTCON_FLAG_OFFSET_ABS, project_v3_v3v3(), rot, bPivotConstraint::rotAxis, bConstraintOb::rotOrder, sub_v3_v3(), sub_v3_v3v3(), and VALID_CONS_TARGET.
static void pivotcon_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3839 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bPivotConstraint::subtarget, and bPivotConstraint::tar.
static int pivotcon_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3824 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bPivotConstraint::subtarget, and bPivotConstraint::tar.
static void pivotcon_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3816 of file constraint.c.
References data, bConstraint::data, and bPivotConstraint::tar.
short proxylocked_constraints_owner | ( | Object * | ob, |
bPoseChannel * | pchan | ||
) |
Definition at line 4657 of file constraint.c.
References bPoseChannel::bone, Object::data, Bone::layer, bArmature::layer_protected, Object::pose, and Object::proxy.
Referenced by add_new_constraint(), and draw_constraint().
static void pycon_copy | ( | bConstraint * | con, |
bConstraint * | srccon | ||
) | [static] |
Definition at line 1984 of file constraint.c.
References BLI_duplicatelist(), bConstraint::data, IDP_CopyProperty(), bPythonConstraint::prop, and bPythonConstraint::targets.
static void pycon_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 2061 of file constraint.c.
References BPY_pyconstraint_exec(), data, bConstraint::data, G, and G_SCRIPT_AUTOEXEC.
static void pycon_free | ( | bConstraint * | con | ) | [static] |
Definition at line 1965 of file constraint.c.
References BLI_freelistN(), data, bConstraint::data, IDP_FreeProperty(), MEM_freeN(), bPythonConstraint::prop, and bPythonConstraint::targets.
static void pycon_get_tarmat | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 2030 of file constraint.c.
References BPY_pyconstraint_target(), CONSTRAINT_SPACE_WORLD, constraint_target_to_mat4(), Object::data, data, bConstraint::data, Path::data, G, G_SCRIPT_AUTOEXEC, bConstraint::headtail, makeDispListCurveTypes(), bConstraintTarget::matrix, NULL, OB_CURVE, Curve::path, bConstraintOb::scene, bConstraintTarget::space, bConstraintTarget::subtarget, bConstraintTarget::tar, Object::type, unit_m4(), and VALID_CONS_TARGET.
static int pycon_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 2002 of file constraint.c.
References data, bConstraint::data, ListBase::first, ListBase::last, bPythonConstraint::targets, and bPythonConstraint::tarnum.
static void pycon_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 2016 of file constraint.c.
References data, bConstraint::data, ListBase::first, bConstraintTarget::next, bConstraintTarget::tar, bPythonConstraint::targets, and bPythonConstraint::text.
static void pycon_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1993 of file constraint.c.
References data, IDP_GROUP, MEM_callocN(), bPythonConstraint::prop, and IDProperty::type.
static void pycon_relink | ( | bConstraint * | con | ) | [static] |
Definition at line 1977 of file constraint.c.
References data, bConstraint::data, ID_NEW, and bPythonConstraint::text.
static void rbj_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3061 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGETNS_FLUSH_TARS, and bRigidBodyJointConstraint::tar.
static int rbj_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3046 of file constraint.c.
References data, bConstraint::data, SINGLETARGETNS_GET_TARS, and bRigidBodyJointConstraint::tar.
static void rbj_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3037 of file constraint.c.
References bRigidBodyJointConstraint::child, data, bConstraint::data, and bRigidBodyJointConstraint::tar.
static void rbj_new_data | ( | void * | cdata | ) | [static] |
Definition at line 3029 of file constraint.c.
References data, and bRigidBodyJointConstraint::type.
void relink_constraints | ( | ListBase * | conlist | ) |
Definition at line 4515 of file constraint.c.
References constraint_get_typeinfo(), ListBase::first, bConstraintTypeInfo::flush_constraint_targets, bConstraintTypeInfo::get_constraint_targets, ID_NEW, bConstraintTarget::next, bConstraint::next, NULL, bConstraintTypeInfo::relink_data, and bConstraintTarget::tar.
Referenced by object_relink().
int remove_constraint | ( | ListBase * | list, |
bConstraint * | con | ||
) |
Definition at line 4377 of file constraint.c.
References BLI_freelinkN(), and free_constraint_data().
Referenced by constraint_delete_exec(), object_track_clear_exec(), pose_ik_clear_exec(), and remove_constraints_type().
void remove_constraints_type | ( | ListBase * | list, |
short | type, | ||
short | last_only | ||
) |
Definition at line 4389 of file constraint.c.
References ListBase::last, NULL, bConstraint::prev, remove_constraint(), and bConstraint::type.
static void rotlike_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 1677 of file constraint.c.
References compatible_eul(), copy_v3_v3(), data, bConstraint::data, ListBase::first, bRotateLikeConstraint::flag, loc_eulO_size_to_mat4(), mat4_to_compatible_eulO(), mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, rotate_eulO(), ROTLIKE_OFFSET, ROTLIKE_X, ROTLIKE_X_INVERT, ROTLIKE_Y, ROTLIKE_Y_INVERT, ROTLIKE_Z, ROTLIKE_Z_INVERT, bConstraintOb::rotOrder, size(), and VALID_CONS_TARGET.
static void rotlike_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 1666 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bRotateLikeConstraint::subtarget, and bRotateLikeConstraint::tar.
static int rotlike_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 1651 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bRotateLikeConstraint::subtarget, and bRotateLikeConstraint::tar.
static void rotlike_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 1643 of file constraint.c.
References data, bConstraint::data, and bChildOfConstraint::tar.
static void rotlike_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1636 of file constraint.c.
References data, bRotateLikeConstraint::flag, ROTLIKE_X, ROTLIKE_Y, and ROTLIKE_Z.
static void rotlimit_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 1427 of file constraint.c.
References copy_v3_v3(), data, bConstraint::data, bRotLimitConstraint::flag, LIMIT_XROT, LIMIT_YROT, LIMIT_ZROT, loc_eulO_size_to_mat4(), mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, bConstraintOb::rotOrder, size(), bRotLimitConstraint::xmax, bRotLimitConstraint::xmin, bRotLimitConstraint::ymax, bRotLimitConstraint::ymin, bRotLimitConstraint::zmax, and bRotLimitConstraint::zmin.
static void samevolume_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 1916 of file constraint.c.
References data, bConstraint::data, bSameVolumeConstraint::flag, mat4_to_size(), bConstraintOb::matrix, mul_v3_fl(), SAMEVOL_X, SAMEVOL_Y, SAMEVOL_Z, sqrtf, and bSameVolumeConstraint::volume.
static void samevolume_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1908 of file constraint.c.
References data, bSameVolumeConstraint::flag, SAMEVOL_Y, and bSameVolumeConstraint::volume.
static void shrinkwrap_evaluate | ( | bConstraint * | UNUSEDcon, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 3561 of file constraint.c.
References copy_v3_v3(), ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, and VALID_CONS_TARGET.
static void shrinkwrap_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3446 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGETNS_FLUSH_TARS, and bShrinkwrapConstraint::target.
static void shrinkwrap_get_tarmat | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 3457 of file constraint.c.
References BLI_bvhtree_find_nearest(), bvhtree_from_mesh_faces(), bvhtree_from_mesh_verts(), co, BVHTreeRayHit::co, BVHTreeNearest::co, copy_v3_v3(), bConstraint::data, BVHTreeNearest::dist, bShrinkwrapConstraint::dist, BVHTreeRayHit::dist, FALSE, FLT_MAX, free_bvhtree_from_mesh(), BVHTreeRayHit::index, BVHTreeNearest::index, INPR, interp_v3_v3v3(), len_v3v3(), bConstraintOb::matrix, bConstraintTarget::matrix, MOD_SHRINKWRAP_NEAREST_SURFACE, MOD_SHRINKWRAP_NEAREST_VERTEX, MOD_SHRINKWRAP_PROJECT, MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS, MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS, MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS, mul_m4_v3(), BVHTreeFromMesh::nearest_callback, normal_projection_project_vertex(), normalize_v3(), NULL, OB_MESH, object_get_derived_final(), Object::obmat, bShrinkwrapConstraint::projAxis, BVHTreeFromMesh::raycast_callback, DerivedMesh::release, bShrinkwrapConstraint::shrinkType, space_transform_apply(), space_transform_from_matrixs(), space_transform_invert(), bConstraintTarget::tar, transform(), BVHTreeFromMesh::tree, TRUE, Object::type, unit_m4(), and VALID_CONS_TARGET.
static int shrinkwrap_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3431 of file constraint.c.
References data, bConstraint::data, SINGLETARGETNS_GET_TARS, and bShrinkwrapConstraint::target.
static void shrinkwrap_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3423 of file constraint.c.
References data, bConstraint::data, and bShrinkwrapConstraint::target.
static void sizelike_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 1790 of file constraint.c.
References data, bConstraint::data, ListBase::first, bSizeLikeConstraint::flag, mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_v3_fl(), size(), SIZELIKE_OFFSET, SIZELIKE_X, SIZELIKE_Y, SIZELIKE_Z, and VALID_CONS_TARGET.
static void sizelike_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 1779 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bSizeLikeConstraint::subtarget, and bSizeLikeConstraint::tar.
static int sizelike_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 1764 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bSizeLikeConstraint::subtarget, and bSizeLikeConstraint::tar.
static void sizelike_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 1756 of file constraint.c.
References data, bConstraint::data, and bSizeLikeConstraint::tar.
static void sizelike_new_data | ( | void * | cdata | ) | [static] |
Definition at line 1749 of file constraint.c.
References data, bSizeLikeConstraint::flag, SIZELIKE_X, SIZELIKE_Y, and SIZELIKE_Z.
static void sizelimit_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | UNUSEDtargets | ||
) | [static] |
Definition at line 1486 of file constraint.c.
References data, bConstraint::data, bSizeLimitConstraint::flag, LIMIT_XMAX, LIMIT_XMIN, LIMIT_YMAX, LIMIT_YMIN, LIMIT_ZMAX, LIMIT_ZMIN, mat4_to_size(), bConstraintOb::matrix, mul_v3_fl(), size(), bSizeLimitConstraint::xmax, bSizeLimitConstraint::xmin, bSizeLimitConstraint::ymax, bSizeLimitConstraint::ymin, bSizeLimitConstraint::zmax, and bSizeLimitConstraint::zmin.
void solve_constraints | ( | ListBase * | conlist, |
bConstraintOb * | cob, | ||
float | ctime | ||
) |
Definition at line 4790 of file constraint.c.
References blend_m4_m4m4(), CONSTRAINT_DISABLE, constraint_get_typeinfo(), constraint_mat_convertspace(), CONSTRAINT_OFF, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACEONCE, copy_m4_m4(), bConstraint::enforce, bConstraintTypeInfo::evaluate_constraint, ListBase::first, bConstraint::flag, bConstraintTypeInfo::flush_constraint_targets, get_constraint_targets_for_solving(), bConstraintOb::matrix, bConstraint::next, NULL, bConstraintOb::ob, bConstraint::ownspace, and bConstraintOb::pchan.
Referenced by where_is_object_simul(), where_is_object_time(), and where_is_pose_bone().
static void splineik_copy | ( | bConstraint * | con, |
bConstraint * | srccon | ||
) | [static] |
Definition at line 3727 of file constraint.c.
References bConstraint::data, MEM_dupallocN(), and bSplineIKConstraint::points.
static void splineik_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3766 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGETNS_FLUSH_TARS, and bSplineIKConstraint::tar.
static void splineik_free | ( | bConstraint * | con | ) | [static] |
Definition at line 3718 of file constraint.c.
References data, bConstraint::data, MEM_freeN(), and bSplineIKConstraint::points.
static void splineik_get_tarmat | ( | bConstraint * | UNUSEDcon, |
bConstraintOb * | cob, | ||
bConstraintTarget * | ct, | ||
float | UNUSEDctime | ||
) | [static] |
Definition at line 3777 of file constraint.c.
References Object::data, Path::data, makeDispListCurveTypes(), bConstraintTarget::matrix, NULL, Curve::path, bConstraintOb::scene, bConstraintTarget::tar, unit_m4(), and VALID_CONS_TARGET.
static int splineik_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3751 of file constraint.c.
References data, bConstraint::data, SINGLETARGETNS_GET_TARS, and bSplineIKConstraint::tar.
static void splineik_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3743 of file constraint.c.
References data, bConstraint::data, and bSplineIKConstraint::tar.
static void splineik_new_data | ( | void * | cdata | ) | [static] |
Definition at line 3736 of file constraint.c.
References bSplineIKConstraint::chainlen, and data.
static void stretchto_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 2757 of file constraint.c.
References bStretchToConstraint::bulge, copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), data, bConstraint::data, ListBase::first, mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_m3m4(), negate_v3_v3(), NO_VOLUME, normalize_v3(), normalize_v3_v3(), bStretchToConstraint::orglength, orth(), bStretchToConstraint::plane, PLANE_X, PLANE_Z, size(), sqrt(), sub_v3_v3v3(), VALID_CONS_TARGET, bStretchToConstraint::volmode, VOLUME_X, VOLUME_XZ, and VOLUME_Z.
static void stretchto_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 2746 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bStretchToConstraint::subtarget, and bStretchToConstraint::tar.
static int stretchto_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 2731 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bStretchToConstraint::subtarget, and bStretchToConstraint::tar.
static void stretchto_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 2723 of file constraint.c.
References data, bConstraint::data, and bStretchToConstraint::tar.
static void stretchto_new_data | ( | void * | cdata | ) | [static] |
Definition at line 2713 of file constraint.c.
References bStretchToConstraint::bulge, data, bStretchToConstraint::orglength, bStretchToConstraint::plane, and bStretchToConstraint::volmode.
static void trackto_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 1043 of file constraint.c.
References copy_m4_m4(), data, bConstraint::data, ListBase::first, bTrackToConstraint::flags, mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_m4_m3m4(), bTrackToConstraint::reserved1, bTrackToConstraint::reserved2, size(), sub_v3_v3v3(), VALID_CONS_TARGET, and vectomat().
static void trackto_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 951 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bTrackToConstraint::subtarget, and bTrackToConstraint::tar.
static int trackto_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 936 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bTrackToConstraint::subtarget, and bTrackToConstraint::tar.
static void trackto_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 928 of file constraint.c.
References data, bConstraint::data, and bTrackToConstraint::tar.
static void trackto_new_data | ( | void * | cdata | ) | [static] |
Definition at line 920 of file constraint.c.
References data, bTrackToConstraint::reserved1, bTrackToConstraint::reserved2, TRACK_Y, and UP_Z.
static void transform_evaluate | ( | bConstraint * | con, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 3319 of file constraint.c.
References add_v3_v3v3(), CLAMP(), copy_v3_v3(), data, bConstraint::data, DEG2RADF, bTransformConstraint::expo, ListBase::first, bTransformConstraint::from, bTransformConstraint::from_max, bTransformConstraint::from_min, i, loc_eulO_size_to_mat4(), bTransformConstraint::map, mat4_to_eulO(), mat4_to_size(), bConstraintOb::matrix, bConstraintTarget::matrix, mul_v3_fl(), RAD2DEGF, bConstraintOb::rotOrder, size(), bTransformConstraint::to, bTransformConstraint::to_max, bTransformConstraint::to_min, and VALID_CONS_TARGET.
static void transform_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 3308 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bTransformConstraint::subtarget, and bTransformConstraint::tar.
static int transform_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 3293 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bTransformConstraint::subtarget, and bTransformConstraint::tar.
static void transform_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 3285 of file constraint.c.
References data, bConstraint::data, and bTransformConstraint::tar.
static void transform_new_data | ( | void * | cdata | ) | [static] |
Definition at line 3276 of file constraint.c.
References data, and bTransformConstraint::map.
static void translike_evaluate | ( | bConstraint * | UNUSEDcon, |
bConstraintOb * | cob, | ||
ListBase * | targets | ||
) | [static] |
Definition at line 1880 of file constraint.c.
References copy_m4_m4(), ListBase::first, bConstraintOb::matrix, bConstraintTarget::matrix, and VALID_CONS_TARGET.
static void translike_flush_tars | ( | bConstraint * | con, |
ListBase * | list, | ||
short | nocopy | ||
) | [static] |
Definition at line 1869 of file constraint.c.
References data, bConstraint::data, ListBase::first, SINGLETARGET_FLUSH_TARS, bTransLikeConstraint::subtarget, and bTransLikeConstraint::tar.
static int translike_get_tars | ( | bConstraint * | con, |
ListBase * | list | ||
) | [static] |
Definition at line 1854 of file constraint.c.
References data, bConstraint::data, SINGLETARGET_GET_TARS, bTransLikeConstraint::subtarget, and bTransLikeConstraint::tar.
static void translike_id_looper | ( | bConstraint * | con, |
ConstraintIDFunc | func, | ||
void * | userdata | ||
) | [static] |
Definition at line 1846 of file constraint.c.
References data, bConstraint::data, and bTransLikeConstraint::tar.
void unique_constraint_name | ( | bConstraint * | con, |
ListBase * | list | ||
) |
Definition at line 104 of file constraint.c.
References BLI_uniquename(), and bConstraint::name.
Referenced by add_new_constraint().
static void vectomat | ( | float * | vec, |
float * | target_up, | ||
short | axis, | ||
short | upflag, | ||
short | flags, | ||
float | m[][3] | ||
) | [static] |
Definition at line 979 of file constraint.c.
References basis_cross(), copy_v3_v3(), cross_v3_v3v3(), negate_v3(), normalize_v3(), normalize_v3_v3(), project_v3_v3v3(), sub_v3_v3v3(), TARGET_Z_UP, and unit_m3().
Referenced by trackto_evaluate().
bConstraintTypeInfo* constraintsTypeInfo[NUM_CONSTRAINT_TYPES] [static] |
Definition at line 4264 of file constraint.c.
bConstraintTypeInfo CTI_ACTION [static] |
{ CONSTRAINT_TYPE_ACTION, sizeof(bActionConstraint), "Action", "bActionConstraint", NULL, actcon_relink, actcon_id_looper, NULL, actcon_new_data, actcon_get_tars, actcon_flush_tars, actcon_get_tarmat, actcon_evaluate }
Definition at line 2258 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_CAMERASOLVER [static] |
{ CONSTRAINT_TYPE_CAMERASOLVER, sizeof(bCameraSolverConstraint), "Camera Solver", "bCameraSolverConstraint", NULL, NULL, camerasolver_id_looper, NULL, camerasolver_new_data, NULL, NULL, NULL, camerasolver_evaluate }
Definition at line 4168 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_CHILDOF [static] |
{ CONSTRAINT_TYPE_CHILDOF, sizeof(bChildOfConstraint), "ChildOf", "bChildOfConstraint", NULL, NULL, childof_id_looper, NULL, childof_new_data, childof_get_tars, childof_flush_tars, default_get_tarmat, childof_evaluate }
Definition at line 902 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_CLAMPTO [static] |
{ CONSTRAINT_TYPE_CLAMPTO, sizeof(bClampToConstraint), "Clamp To", "bClampToConstraint", NULL, NULL, clampto_id_looper, NULL, NULL, clampto_get_tars, clampto_flush_tars, clampto_get_tarmat, clampto_evaluate }
Definition at line 3258 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_DAMPTRACK [static] |
{ CONSTRAINT_TYPE_DAMPTRACK, sizeof(bDampTrackConstraint), "Damped Track", "bDampTrackConstraint", NULL, NULL, damptrack_id_looper, NULL, damptrack_new_data, damptrack_get_tars, damptrack_flush_tars, default_get_tarmat, damptrack_evaluate }
Definition at line 3700 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_DISTLIMIT [static] |
{ CONSTRAINT_TYPE_DISTLIMIT, sizeof(bDistLimitConstraint), "Limit Distance", "bDistLimitConstraint", NULL, NULL, distlimit_id_looper, NULL, distlimit_new_data, distlimit_get_tars, distlimit_flush_tars, default_get_tarmat, distlimit_evaluate }
Definition at line 2695 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_FOLLOWPATH [static] |
{ CONSTRAINT_TYPE_FOLLOWPATH, sizeof(bFollowPathConstraint), "Follow Path", "bFollowPathConstraint", NULL, NULL, followpath_id_looper, NULL, followpath_new_data, followpath_get_tars, followpath_flush_tars, followpath_get_tarmat, followpath_evaluate }
Definition at line 1360 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_FOLLOWTRACK [static] |
{ CONSTRAINT_TYPE_FOLLOWTRACK, sizeof(bFollowTrackConstraint), "Follow Track", "bFollowTrackConstraint", NULL, NULL, followtrack_id_looper, NULL, followtrack_new_data, NULL, NULL, NULL, followtrack_evaluate }
Definition at line 4113 of file constraint.c.
Referenced by constraints_init_typeinfo().
short CTI_INIT = 1 [static] |
Definition at line 4265 of file constraint.c.
bConstraintTypeInfo CTI_KINEMATIC [static] |
{ CONSTRAINT_TYPE_KINEMATIC, sizeof(bKinematicConstraint), "IK", "bKinematicConstraint", NULL, NULL, kinematic_id_looper, NULL, kinematic_new_data, kinematic_get_tars, kinematic_flush_tars, kinematic_get_tarmat, NULL }
Definition at line 1174 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_LOCKTRACK [static] |
{ CONSTRAINT_TYPE_LOCKTRACK, sizeof(bLockTrackConstraint), "Locked Track", "bLockTrackConstraint", NULL, NULL, locktrack_id_looper, NULL, locktrack_new_data, locktrack_get_tars, locktrack_flush_tars, default_get_tarmat, locktrack_evaluate }
Definition at line 2570 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_LOCLIKE [static] |
{ CONSTRAINT_TYPE_LOCLIKE, sizeof(bLocateLikeConstraint), "Copy Location", "bLocateLikeConstraint", NULL, NULL, loclike_id_looper, NULL, loclike_new_data, loclike_get_tars, loclike_flush_tars, default_get_tarmat, loclike_evaluate }
Definition at line 1618 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_LOCLIMIT [static] |
{ CONSTRAINT_TYPE_LOCLIMIT, sizeof(bLocLimitConstraint), "Limit Location", "bLocLimitConstraint", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, loclimit_evaluate }
Definition at line 1409 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_MINMAX [static] |
{ CONSTRAINT_TYPE_MINMAX, sizeof(bMinMaxConstraint), "Floor", "bMinMaxConstraint", NULL, NULL, minmax_id_looper, NULL, minmax_new_data, minmax_get_tars, minmax_flush_tars, default_get_tarmat, minmax_evaluate }
Definition at line 3011 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_OBJECTSOLVER [static] |
{ CONSTRAINT_TYPE_OBJECTSOLVER, sizeof(bObjectSolverConstraint), "Object Solver", "bObjectSolverConstraint", NULL, NULL, objectsolver_id_looper, NULL, objectsolver_new_data, NULL, NULL, NULL, objectsolver_evaluate }
Definition at line 4242 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_PIVOT [static] |
{ CONSTRAINT_TYPE_PIVOT, sizeof(bPivotConstraint), "Pivot", "bPivotConstraint", NULL, NULL, pivotcon_id_looper, NULL, NULL, pivotcon_get_tars, pivotcon_flush_tars, default_get_tarmat, pivotcon_evaluate }
Definition at line 3923 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_PYTHON [static] |
{ CONSTRAINT_TYPE_PYTHON, sizeof(bPythonConstraint), "Script", "bPythonConstraint", pycon_free, pycon_relink, pycon_id_looper, pycon_copy, pycon_new_data, pycon_get_tars, NULL, pycon_get_tarmat, pycon_evaluate }
Definition at line 2086 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_RIGIDBODYJOINT [static] |
{ CONSTRAINT_TYPE_RIGIDBODYJOINT, sizeof(bRigidBodyJointConstraint), "Rigid Body Joint", "bRigidBodyJointConstraint", NULL, NULL, rbj_id_looper, NULL, rbj_new_data, rbj_get_tars, rbj_flush_tars, default_get_tarmat, NULL }
Definition at line 3072 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_ROTLIKE [static] |
{ CONSTRAINT_TYPE_ROTLIKE, sizeof(bRotateLikeConstraint), "Copy Rotation", "bRotateLikeConstraint", NULL, NULL, rotlike_id_looper, NULL, rotlike_new_data, rotlike_get_tars, rotlike_flush_tars, default_get_tarmat, rotlike_evaluate }
Definition at line 1731 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_ROTLIMIT [static] |
{ CONSTRAINT_TYPE_ROTLIMIT, sizeof(bRotLimitConstraint), "Limit Rotation", "bRotLimitConstraint", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, rotlimit_evaluate }
Definition at line 1467 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_SAMEVOL [static] |
{ CONSTRAINT_TYPE_SAMEVOL, sizeof(bSameVolumeConstraint), "Maintain Volume", "bSameVolumeConstraint", NULL, NULL, NULL, NULL, samevolume_new_data, NULL, NULL, NULL, samevolume_evaluate }
Definition at line 1947 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_SHRINKWRAP [static] |
{ CONSTRAINT_TYPE_SHRINKWRAP, sizeof(bShrinkwrapConstraint), "Shrinkwrap", "bShrinkwrapConstraint", NULL, NULL, shrinkwrap_id_looper, NULL, NULL, shrinkwrap_get_tars, shrinkwrap_flush_tars, shrinkwrap_get_tarmat, shrinkwrap_evaluate }
Definition at line 3572 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_SIZELIKE [static] |
{ CONSTRAINT_TYPE_SIZELIKE, sizeof(bSizeLikeConstraint), "Copy Scale", "bSizeLikeConstraint", NULL, NULL, sizelike_id_looper, NULL, sizelike_new_data, sizelike_get_tars, sizelike_flush_tars, default_get_tarmat, sizelike_evaluate }
Definition at line 1828 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_SIZELIMIT [static] |
{ CONSTRAINT_TYPE_SIZELIMIT, sizeof(bSizeLimitConstraint), "Limit Scaling", "bSizeLimitConstraint", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, sizelimit_evaluate }
Definition at line 1527 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_SPLINEIK [static] |
{ CONSTRAINT_TYPE_SPLINEIK, sizeof(bSplineIKConstraint), "Spline IK", "bSplineIKConstraint", splineik_free, NULL, splineik_id_looper, splineik_copy, splineik_new_data, splineik_get_tars, splineik_flush_tars, splineik_get_tarmat, NULL }
Definition at line 3798 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_STRETCHTO [static] |
{ CONSTRAINT_TYPE_STRETCHTO, sizeof(bStretchToConstraint), "Stretch To", "bStretchToConstraint", NULL, NULL, stretchto_id_looper, NULL, stretchto_new_data, stretchto_get_tars, stretchto_flush_tars, default_get_tarmat, stretchto_evaluate }
Definition at line 2866 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_TRACKTO [static] |
{ CONSTRAINT_TYPE_TRACKTO, sizeof(bTrackToConstraint), "TrackTo", "bTrackToConstraint", NULL, NULL, trackto_id_looper, NULL, trackto_new_data, trackto_get_tars, trackto_flush_tars, default_get_tarmat, trackto_evaluate }
Definition at line 1080 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_TRANSFORM [static] |
{ CONSTRAINT_TYPE_TRANSFORM, sizeof(bTransformConstraint), "Transform", "bTransformConstraint", NULL, NULL, transform_id_looper, NULL, transform_new_data, transform_get_tars, transform_flush_tars, default_get_tarmat, transform_evaluate }
Definition at line 3405 of file constraint.c.
Referenced by constraints_init_typeinfo().
bConstraintTypeInfo CTI_TRANSLIKE [static] |
{ CONSTRAINT_TYPE_TRANSLIKE, sizeof(bTransLikeConstraint), "Copy Transforms", "bTransLikeConstraint", NULL, NULL, translike_id_looper, NULL, NULL, translike_get_tars, translike_flush_tars, default_get_tarmat, translike_evaluate }
Definition at line 1890 of file constraint.c.
Referenced by constraints_init_typeinfo().
const float track_dir_vecs[6][3] [static] |
{ {+1,0,0}, {0,+1,0}, {0,0,+1}, {-1,0,0}, {0,-1,0}, {0,0,-1} }
Definition at line 3632 of file constraint.c.