Blender V2.61 - r43446
Defines | Functions | Variables

constraint.c File Reference

#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.

Defines

#define M_PI   3.14159265358979323846
#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, nocopy)
#define SINGLETARGETNS_FLUSH_TARS(con, datatar, ct, list, nocopy)

Functions

void unique_constraint_name (bConstraint *con, ListBase *list)
bConstraintObconstraints_make_evalob (Scene *scene, Object *ob, void *subdata, short datatype)
void constraints_clear_evalob (bConstraintOb *cob)
void constraint_mat_convertspace (Object *ob, bPoseChannel *pchan, float mat[][4], short from, short to)
static void contarget_get_mesh_mat (Object *ob, const char *substring, float mat[][4])
static void contarget_get_lattice_mat (Object *ob, const char *substring, float mat[][4])
static void constraint_target_to_mat4 (Object *ob, const char *substring, float mat[][4], short from, short to, float headtail)
static void default_get_tarmat (bConstraint *con, bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
static void childof_new_data (void *cdata)
static void childof_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int childof_get_tars (bConstraint *con, ListBase *list)
static void childof_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void childof_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void trackto_new_data (void *cdata)
static void trackto_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int trackto_get_tars (bConstraint *con, ListBase *list)
static void trackto_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static int basis_cross (int n, int m)
static void vectomat (float *vec, float *target_up, short axis, short upflag, short flags, float m[][3])
static void trackto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void kinematic_new_data (void *cdata)
static void kinematic_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int kinematic_get_tars (bConstraint *con, ListBase *list)
static void kinematic_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void kinematic_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void followpath_new_data (void *cdata)
static void followpath_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int followpath_get_tars (bConstraint *con, ListBase *list)
static void followpath_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void followpath_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void followpath_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void loclimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void rotlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void sizelimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void loclike_new_data (void *cdata)
static void loclike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int loclike_get_tars (bConstraint *con, ListBase *list)
static void loclike_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void loclike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void rotlike_new_data (void *cdata)
static void rotlike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int rotlike_get_tars (bConstraint *con, ListBase *list)
static void rotlike_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void rotlike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void sizelike_new_data (void *cdata)
static void sizelike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int sizelike_get_tars (bConstraint *con, ListBase *list)
static void sizelike_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void sizelike_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void translike_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int translike_get_tars (bConstraint *con, ListBase *list)
static void translike_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void translike_evaluate (bConstraint *UNUSED(con), bConstraintOb *cob, ListBase *targets)
static void samevolume_new_data (void *cdata)
static void samevolume_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void pycon_free (bConstraint *con)
static void pycon_relink (bConstraint *con)
static void pycon_copy (bConstraint *con, bConstraint *srccon)
static void pycon_new_data (void *cdata)
static int pycon_get_tars (bConstraint *con, ListBase *list)
static void pycon_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void actcon_relink (bConstraint *con)
static void actcon_new_data (void *cdata)
static void actcon_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int actcon_get_tars (bConstraint *con, ListBase *list)
static void actcon_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void actcon_evaluate (bConstraint *UNUSED(con), bConstraintOb *cob, ListBase *targets)
static void locktrack_new_data (void *cdata)
static void locktrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int locktrack_get_tars (bConstraint *con, ListBase *list)
static void locktrack_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void locktrack_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void distlimit_new_data (void *cdata)
static void distlimit_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int distlimit_get_tars (bConstraint *con, ListBase *list)
static void distlimit_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void stretchto_new_data (void *cdata)
static void stretchto_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int stretchto_get_tars (bConstraint *con, ListBase *list)
static void stretchto_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void stretchto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void minmax_new_data (void *cdata)
static void minmax_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int minmax_get_tars (bConstraint *con, ListBase *list)
static void minmax_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void minmax_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void rbj_new_data (void *cdata)
static void rbj_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int rbj_get_tars (bConstraint *con, ListBase *list)
static void rbj_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void clampto_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int clampto_get_tars (bConstraint *con, ListBase *list)
static void clampto_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void clampto_get_tarmat (bConstraint *UNUSED(con), bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void clampto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void transform_new_data (void *cdata)
static void transform_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int transform_get_tars (bConstraint *con, ListBase *list)
static void transform_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void transform_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void shrinkwrap_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int shrinkwrap_get_tars (bConstraint *con, ListBase *list)
static void shrinkwrap_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void shrinkwrap_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void shrinkwrap_evaluate (bConstraint *UNUSED(con), bConstraintOb *cob, ListBase *targets)
static void damptrack_new_data (void *cdata)
static void damptrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int damptrack_get_tars (bConstraint *con, ListBase *list)
static void damptrack_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void damptrack_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void splineik_free (bConstraint *con)
static void splineik_copy (bConstraint *con, bConstraint *srccon)
static void splineik_new_data (void *cdata)
static void splineik_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int splineik_get_tars (bConstraint *con, ListBase *list)
static void splineik_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void splineik_get_tarmat (bConstraint *UNUSED(con), bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
static void pivotcon_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static int pivotcon_get_tars (bConstraint *con, ListBase *list)
static void pivotcon_flush_tars (bConstraint *con, ListBase *list, short nocopy)
static void pivotcon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
static void followtrack_new_data (void *cdata)
static void followtrack_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static void followtrack_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void camerasolver_new_data (void *cdata)
static void camerasolver_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static void camerasolver_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void objectsolver_new_data (void *cdata)
static void objectsolver_id_looper (bConstraint *con, ConstraintIDFunc func, void *userdata)
static void objectsolver_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *UNUSED(targets))
static void constraints_init_typeinfo (void)
bConstraintTypeInfoget_constraint_typeinfo (int type)
bConstraintTypeInfoconstraint_get_typeinfo (bConstraint *con)
void free_constraint_data (bConstraint *con)
void free_constraints (ListBase *list)
int remove_constraint (ListBase *list, bConstraint *con)
void remove_constraints_type (ListBase *list, short type, short last_only)
static bConstraintadd_new_constraint_internal (const char *name, short type)
static bConstraintadd_new_constraint (Object *ob, bPoseChannel *pchan, const char *name, short type)
bConstraintadd_pose_constraint (Object *ob, bPoseChannel *pchan, const char *name, short type)
bConstraintadd_ob_constraint (Object *ob, const char *name, short type)
void relink_constraints (ListBase *conlist)
void id_loop_constraints (ListBase *conlist, ConstraintIDFunc func, void *userdata)
static void con_extern_cb (bConstraint *UNUSED(con), ID **idpoin, void *UNUSED(userData))
void copy_constraints (ListBase *dst, const ListBase *src, int do_extern)
bConstraintconstraints_findByName (ListBase *list, const char *name)
bConstraintconstraints_get_active (ListBase *list)
void constraints_set_active (ListBase *list, bConstraint *con)
void extract_proxylocal_constraints (ListBase *dst, ListBase *src)
short proxylocked_constraints_owner (Object *ob, bPoseChannel *pchan)
void get_constraint_target_matrix (struct Scene *scene, bConstraint *con, int n, short ownertype, void *ownerdata, float mat[][4], float ctime)
void get_constraint_targets_for_solving (bConstraint *con, bConstraintOb *cob, ListBase *targets, float ctime)
void solve_constraints (ListBase *conlist, bConstraintOb *cob, float ctime)

Variables

static bConstraintTypeInfo CTI_CHILDOF
static bConstraintTypeInfo CTI_TRACKTO
static bConstraintTypeInfo CTI_KINEMATIC
static bConstraintTypeInfo CTI_FOLLOWPATH
static bConstraintTypeInfo CTI_LOCLIMIT
static bConstraintTypeInfo CTI_ROTLIMIT
static bConstraintTypeInfo CTI_SIZELIMIT
static bConstraintTypeInfo CTI_LOCLIKE
static bConstraintTypeInfo CTI_ROTLIKE
static bConstraintTypeInfo CTI_SIZELIKE
static bConstraintTypeInfo CTI_TRANSLIKE
static bConstraintTypeInfo CTI_SAMEVOL
static bConstraintTypeInfo CTI_PYTHON
static bConstraintTypeInfo CTI_ACTION
static bConstraintTypeInfo CTI_LOCKTRACK
static bConstraintTypeInfo CTI_DISTLIMIT
static bConstraintTypeInfo CTI_STRETCHTO
static bConstraintTypeInfo CTI_MINMAX
static bConstraintTypeInfo CTI_RIGIDBODYJOINT
static bConstraintTypeInfo CTI_CLAMPTO
static bConstraintTypeInfo CTI_TRANSFORM
static bConstraintTypeInfo CTI_SHRINKWRAP
static const float track_dir_vecs [6][3]
static bConstraintTypeInfo CTI_DAMPTRACK
static bConstraintTypeInfo CTI_SPLINEIK
static bConstraintTypeInfo CTI_PIVOT
static bConstraintTypeInfo CTI_FOLLOWTRACK
static bConstraintTypeInfo CTI_CAMERASOLVER
static bConstraintTypeInfo CTI_OBJECTSOLVER
static bConstraintTypeInfoconstraintsTypeInfo [NUM_CONSTRAINT_TYPES]
static short CTI_INIT = 1

Detailed Description

Definition in file constraint.c.


Define Documentation

#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 
)
Value:
{ \
        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 
)
Value:
{ \
        ct= MEM_callocN(sizeof(bConstraintTarget), "tempConstraintTarget"); \
         \
        ct->tar= datatar; \
        BLI_strncpy(ct->subtarget, datasubtarget, sizeof(ct->subtarget)); \
        ct->space= con->tarspace; \
        ct->flag= CONSTRAINT_TAR_TEMP; \
         \
        if (ct->tar) { \
            if ((ct->tar->type==OB_ARMATURE) && (ct->subtarget[0])) { \
                bPoseChannel *pchan= 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 
)
Value:
{ \
        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 
)
Value:
{ \
        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().


Function Documentation

static void actcon_evaluate ( bConstraint UNUSEDcon,
bConstraintOb cob,
ListBase targets 
) [static]
static void actcon_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static void actcon_get_tarmat ( bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
) [static]
static int actcon_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static bConstraint* add_new_constraint_internal ( const char *  name,
short  type 
) [static]
bConstraint* add_ob_constraint ( Object ob,
const char *  name,
short  type 
) [read]
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]
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]
static void childof_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void childof_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int childof_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void clampto_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void clampto_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static void clampto_get_tarmat ( bConstraint UNUSEDcon,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
) [static]
static int clampto_get_tars ( bConstraint con,
ListBase list 
) [static]
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)
void constraint_mat_convertspace ( Object ob,
bPoseChannel pchan,
float  mat[][4],
short  from,
short  to 
)
static void constraint_target_to_mat4 ( Object ob,
const char *  substring,
float  mat[][4],
short  from,
short  to,
float  headtail 
) [static]
void constraints_clear_evalob ( bConstraintOb cob)
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]
static void constraints_init_typeinfo ( void  ) [static]
bConstraintOb* constraints_make_evalob ( Scene scene,
Object ob,
void *  subdata,
short  datatype 
) [read]
void constraints_set_active ( ListBase list,
bConstraint con 
)
static void contarget_get_lattice_mat ( Object ob,
const char *  substring,
float  mat[][4] 
) [static]
static void contarget_get_mesh_mat ( Object ob,
const char *  substring,
float  mat[][4] 
) [static]
void copy_constraints ( ListBase dst,
const ListBase src,
int  do_extern 
)
static void damptrack_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void damptrack_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int damptrack_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void distlimit_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void distlimit_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int distlimit_get_tars ( bConstraint con,
ListBase list 
) [static]
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.

void extract_proxylocal_constraints ( ListBase dst,
ListBase src 
)
static void followpath_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void followpath_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static void followpath_get_tarmat ( bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
) [static]
static int followpath_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
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]
static void followtrack_new_data ( void *  cdata) [static]
void free_constraint_data ( bConstraint con)
void free_constraints ( ListBase list)
void get_constraint_target_matrix ( struct Scene scene,
bConstraint con,
int  n,
short  ownertype,
void *  ownerdata,
float  mat[][4],
float  ctime 
)
void get_constraint_targets_for_solving ( bConstraint con,
bConstraintOb cob,
ListBase targets,
float  ctime 
)
bConstraintTypeInfo* get_constraint_typeinfo ( int  type)
void id_loop_constraints ( ListBase conlist,
ConstraintIDFunc  func,
void *  userdata 
)
static void kinematic_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static void kinematic_get_tarmat ( bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
) [static]
static int kinematic_get_tars ( bConstraint con,
ListBase list 
) [static]
static void kinematic_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
) [static]
static void kinematic_new_data ( void *  cdata) [static]
static void locktrack_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void locktrack_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int locktrack_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void loclike_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void loclike_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int loclike_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void minmax_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void minmax_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int minmax_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void objectsolver_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
) [static]
static void objectsolver_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
) [static]
static void objectsolver_new_data ( void *  cdata) [static]
static void pivotcon_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void pivotcon_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int pivotcon_get_tars ( bConstraint con,
ListBase list 
) [static]
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 
)
static void pycon_copy ( bConstraint con,
bConstraint srccon 
) [static]
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]
static void pycon_get_tarmat ( bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
) [static]
static int pycon_get_tars ( bConstraint con,
ListBase list 
) [static]
static void pycon_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
) [static]
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]
static int rbj_get_tars ( bConstraint con,
ListBase list 
) [static]
static void rbj_id_looper ( bConstraint con,
ConstraintIDFunc  func,
void *  userdata 
) [static]
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)
int remove_constraint ( ListBase list,
bConstraint con 
)
void remove_constraints_type ( ListBase list,
short  type,
short  last_only 
)
static void rotlike_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void rotlike_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int rotlike_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void samevolume_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase UNUSEDtargets 
) [static]
static void samevolume_new_data ( void *  cdata) [static]
static void shrinkwrap_evaluate ( bConstraint UNUSEDcon,
bConstraintOb cob,
ListBase targets 
) [static]
static void shrinkwrap_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static void shrinkwrap_get_tarmat ( bConstraint con,
bConstraintOb cob,
bConstraintTarget ct,
float   UNUSEDctime 
) [static]
static int shrinkwrap_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void sizelike_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int sizelike_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
void solve_constraints ( ListBase conlist,
bConstraintOb cob,
float  ctime 
)
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]
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]
static int splineik_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void stretchto_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int stretchto_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void trackto_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void trackto_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int trackto_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void transform_evaluate ( bConstraint con,
bConstraintOb cob,
ListBase targets 
) [static]
static void transform_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int transform_get_tars ( bConstraint con,
ListBase list 
) [static]
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]
static void translike_flush_tars ( bConstraint con,
ListBase list,
short  nocopy 
) [static]
static int translike_get_tars ( bConstraint con,
ListBase list 
) [static]
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]

Variable Documentation

bConstraintTypeInfo* constraintsTypeInfo[NUM_CONSTRAINT_TYPES] [static]

Definition at line 4264 of file constraint.c.

Initial value:

Definition at line 4168 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:

Definition at line 3258 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:

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.

Initial value:

Definition at line 1618 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:
 {
    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().

Initial value:

Definition at line 4242 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:

Definition at line 3923 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:

Definition at line 3072 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:

Definition at line 1731 of file constraint.c.

Referenced by constraints_init_typeinfo().

Initial value:
 {
    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().

Initial value:
 {
    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().

Initial value:
 {
    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().

Initial value:

Definition at line 1890 of file constraint.c.

Referenced by constraints_init_typeinfo().

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

Definition at line 3632 of file constraint.c.