[Bf-blender-cvs] [0969435] soc-2014-shapekey: Minor cleanup in key.c
Grigory Revzin
noreply at git.blender.org
Fri May 16 02:02:36 CEST 2014
Commit: 09694357dc94acfeb7acfcc075b03b6f9d7582e1
Author: Grigory Revzin
Date: Sat May 10 15:53:09 2014 +0400
https://developer.blender.org/rB09694357dc94acfeb7acfcc075b03b6f9d7582e1
Minor cleanup in key.c
===================================================================
M source/blender/blenkernel/intern/key.c
===================================================================
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index d86a669..3aaa7c4 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -73,10 +73,26 @@
#define IPO_BEZTRIPLE 100
#define IPO_BPOINT 101
+#define ELEMSIZE_MESH (sizeof(float) * 3)
+#define ELEMSIZE_LATTICE (sizeof(float) * 3)
+#define ELEMSIZE_CURVE (sizeof(float) * 4)
+
+int get_elemsize(Object *ob)
+{
+ switch (ob->type) {
+ case OB_MESH:
+ return ELEMSIZE_MESH;
+ case OB_LATTICE:
+ return ELEMSIZE_LATTICE;
+ case OB_CURVE:
+ return ELEMSIZE_CURVE;
+ }
+ return 0;
+}
+
/* extern, not threadsafe */
int slurph_opt = 1;
-
void BKE_key_free(Key *key)
{
KeyBlock *kb;
@@ -122,8 +138,6 @@ Key *BKE_key_add(ID *id) /* common function */
el[1] = IPO_FLOAT;
el[2] = 0;
- key->elemsize = 3 * sizeof(float);
-
break;
case ID_LT:
el = key->elemstr;
@@ -132,8 +146,6 @@ Key *BKE_key_add(ID *id) /* common function */
el[1] = IPO_FLOAT;
el[2] = 0;
- key->elemsize = 3 * sizeof(float);
-
break;
case ID_CU:
el = key->elemstr;
@@ -142,11 +154,11 @@ Key *BKE_key_add(ID *id) /* common function */
el[1] = IPO_BPOINT;
el[2] = 0;
- key->elemsize = 4 * sizeof(float);
-
break;
}
-
+
+ key->elemsize = get_elemsize(id->);
+
return key;
}
More information about the Bf-blender-cvs
mailing list