Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2007-06-20 11:11:31 +0400
committerJoshua Leung <aligorith@gmail.com>2007-06-20 11:11:31 +0400
commit0616766f87d3ae1898b904a741ecf963621b02ff (patch)
treec6b060ecc9d27a48c999151a60b744d0a540ca6d /source/blender/src/editconstraint.c
parent2bc96c07a7ff7b17ed2b6826d2fc16c6b5f7a1b2 (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/src/editconstraint.c')
-rw-r--r--source/blender/src/editconstraint.c87
1 files changed, 7 insertions, 80 deletions
diff --git a/source/blender/src/editconstraint.c b/source/blender/src/editconstraint.c
index 32cfde2eb86..95391b37af7 100644
--- a/source/blender/src/editconstraint.c
+++ b/source/blender/src/editconstraint.c
@@ -250,86 +250,13 @@ char *get_con_subtarget_name(bConstraint *con, Object *target)
* If the target for this constraint is target, return a pointer
* to the name for this constraints subtarget ... NULL otherwise
*/
- switch (con->type) {
- case CONSTRAINT_TYPE_PYTHON:
- {
- bPythonConstraint *data = con->data;
- if (data->flag & PYCON_USETARGETS) {
- if (data->tar==target) return data->subtarget;
- }
- }
- break;
- case CONSTRAINT_TYPE_ACTION:
- {
- bActionConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_LOCLIKE:
- {
- bLocateLikeConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_ROTLIKE:
- {
- bRotateLikeConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_SIZELIKE:
- {
- bSizeLikeConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_KINEMATIC:
- {
- bKinematicConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_TRACKTO:
- {
- bTrackToConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_MINMAX:
- {
- bMinMaxConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_LOCKTRACK:
- {
- bLockTrackConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_STRETCHTO:
- {
- bStretchToConstraint *data = con->data;
- if (data->tar==target) return data->subtarget;
- }
- break;
- case CONSTRAINT_TYPE_FOLLOWPATH:
- /* wonder if this is relevent, since this constraint
- * cannot have a subtarget - theeth
- */
- {
- /*
- * bFollowPathConstraint *data = con->data;
- */
- return NULL;
- }
- break;
- case CONSTRAINT_TYPE_CLAMPTO:
- {
- /* cannot have subtarget. if followpath is removed from here, remove this too... */
- return NULL;
- }
- break;
+
+ if (constraint_has_target(con)) {
+ Object *tar;
+ char *subtarget;
+
+ tar = get_constraint_target(con, &subtarget);
+ if (tar==target) return subtarget;
}
return NULL;