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:
authorMartin Poirier <theeth@yahoo.com>2005-09-07 04:11:39 +0400
committerMartin Poirier <theeth@yahoo.com>2005-09-07 04:11:39 +0400
commit1dba65e296276ed78222f19a127c90773a1f0416 (patch)
tree577dba12dfbd157bd0628a3a9fc62db3c226c566 /source/blender/src/editconstraint.c
parentc1155c6a4d8b6fd9b7872bc5aaa86af771022c27 (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.c24
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;