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/src/editconstraint.c | |
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/src/editconstraint.c')
-rw-r--r-- | source/blender/src/editconstraint.c | 87 |
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; |