diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-06-20 11:11:31 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-06-20 11:11:31 +0400 |
commit | 0616766f87d3ae1898b904a741ecf963621b02ff (patch) | |
tree | c6b060ecc9d27a48c999151a60b744d0a540ca6d /source/blender/blenkernel/intern | |
parent | 2bc96c07a7ff7b17ed2b6826d2fc16c6b5f7a1b2 (diff) |
== Constraints - Code Cleanup ==
Simplified the code in two functions where checking for targets/subtargets could really have been done using Constraint API methods (constraint_has_target, get_constraint_target).
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 112 |
1 files changed, 7 insertions, 105 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 9c03db824af..4ca9d7e316a 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -128,111 +128,13 @@ void relink_constraints (struct ListBase *list) bConstraint *con; for (con = list->first; con; con=con->next) { - switch (con->type) { - case CONSTRAINT_TYPE_PYTHON: - { - bPythonConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_KINEMATIC: - { - bKinematicConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_TRACKTO: - { - bTrackToConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_MINMAX: - { - bMinMaxConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_LOCKTRACK: - { - bLockTrackConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_ACTION: - { - bActionConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_LOCLIKE: - { - bLocateLikeConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_ROTLIKE: - { - bRotateLikeConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_SIZELIKE: - { - bSizeLikeConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_FOLLOWPATH: - { - bFollowPathConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_STRETCHTO: - { - bStretchToConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_RIGIDBODYJOINT: - { - bRigidBodyJointConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; - case CONSTRAINT_TYPE_CLAMPTO: - { - bClampToConstraint *data; - data = con->data; - - ID_NEW(data->tar); - } - break; + /* check if constraint has a target that needs relinking */ + if (constraint_has_target(con)) { + Object *tar; + char *subtarget; + + tar = get_constraint_target(con, &subtarget); + ID_NEW(tar); } } } |