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:
authorRoland Hess <me@harkyman.com>2007-07-31 17:37:59 +0400
committerRoland Hess <me@harkyman.com>2007-07-31 17:37:59 +0400
commit876cfc837e2f065fa370940ca578983d84c48a11 (patch)
tree130225194e0e75d25190625b01149c5d1f5733b2 /source/blender/include/BSE_editipo.h
parent5afc4e051f44804d2a00eb987fe07cb0bae59514 (diff)
Visual Keying refactor
This code was always kludgy and this clean it up a bit. insertmatrixkey() has been properly renamed insertkey_float(). Matrix calculations have been excised from the interface code, and placed in insertmatrixkey(), so that you can call it from anywhere without preliminaries and the proper values are calced based on the passed adr code. By much request, several semi-bug reports and discussion with production animators, visual keying is now used automatic for objects and bones that have constraints that cause them to ignore their Ipos (CopyLoc, TrackTo, etc.). In those cases, visual keying is used instead of the normal Ipo insertion method. This "auto" functionality is toggled from the "Use Visual Keying" button found along with "Needed" and "Available" in the Edit Methods prefs. Logic as to which constraints trigger visual keying on which adrcodes can be tweaked in match_adr_constraint() src/editipo.c This has been tested by a couple of people, myself included, but I may not have hit every constraint case, so evolutionary feedback is welcome.
Diffstat (limited to 'source/blender/include/BSE_editipo.h')
-rw-r--r--source/blender/include/BSE_editipo.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/include/BSE_editipo.h b/source/blender/include/BSE_editipo.h
index f861a2abd7a..66c9cef8693 100644
--- a/source/blender/include/BSE_editipo.h
+++ b/source/blender/include/BSE_editipo.h
@@ -158,8 +158,8 @@ void duplicate_ipo_keys(struct Ipo *ipo);
void borderselect_ipo_key(struct Ipo *ipo, float xmin, float xmax, int val);
void borderselect_icu_key(struct IpoCurve *icu, float xmin, float xmax,
int (*select_function)(struct BezTriple *));
-void insertmatrixkey(ID *id, int blocktype, char *actname, char *constname, int adrcode, float matrixvalue);
-
+int insertmatrixkey(ID *id, int blocktype, char *actname, char *constname, int adrcode);
+void insertfloatkey(ID *id, int blocktype, char *actname, char *constname, int adrcode, float floatkey);
void select_ipo_key(struct Ipo *ipo, float selx, int sel);
void select_icu_key(struct IpoCurve *icu, float selx, int selectmode);
void setexprap_ipoloop(struct Ipo *ipo, int code);