diff options
author | Martin Poirier <theeth@yahoo.com> | 2005-09-07 04:11:39 +0400 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2005-09-07 04:11:39 +0400 |
commit | 1dba65e296276ed78222f19a127c90773a1f0416 (patch) | |
tree | 577dba12dfbd157bd0628a3a9fc62db3c226c566 /source/blender/src/editconstraint.c | |
parent | c1155c6a4d8b6fd9b7872bc5aaa86af771022c27 (diff) |
Roland Hess' Floor Constraint patch: https://projects.blender.org/tracker/?func=detail&aid=2993&group_id=9&atid=127
Minor modifications to simplify the code in evaluate_constraint.
The "Stick" feature will need more work as it gives bad results when skipping frames, jumping around on the timeline and when going backward in time.
Suggestion: Would be nice if it could use the local space too, not just global space planes.
Diffstat (limited to 'source/blender/src/editconstraint.c')
-rw-r--r-- | source/blender/src/editconstraint.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/src/editconstraint.c b/source/blender/src/editconstraint.c index e6dbd21c990..5b48986c8fb 100644 --- a/source/blender/src/editconstraint.c +++ b/source/blender/src/editconstraint.c @@ -260,6 +260,12 @@ char *get_con_subtarget_name(bConstraint *con, Object *target) 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; @@ -376,6 +382,24 @@ static void test_constraints (Object *owner, const char* substring) } } break; + case CONSTRAINT_TYPE_MINMAX: + { + bMinMaxConstraint *data = curcon->data; + + if (!exist_object(data->tar)){ + data->tar = NULL; + curcon->flag |= CONSTRAINT_DISABLE; + break; + } + + if ( (data->tar == owner) && + (!get_named_bone(get_armature(owner), + data->subtarget))) { + curcon->flag |= CONSTRAINT_DISABLE; + break; + } + } + break; case CONSTRAINT_TYPE_ROTLIKE: { bRotateLikeConstraint *data = curcon->data; |