[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12078] trunk/blender/source/blender: A user submitted a BVH file that took a long time to import ( I didnt end up finishing since it was so slow)
Campbell Barton
cbarton at metavr.com
Tue Sep 18 08:41:29 CEST 2007
Revision: 12078
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12078
Author: campbellbarton
Date: 2007-09-18 08:41:29 +0200 (Tue, 18 Sep 2007)
Log Message:
-----------
A user submitted a BVH file that took a long time to import (I didnt end up finishing since it was so slow)
this is mainly because adding pose keyframes recalculates every handle so importing became increasingly slow.
added a 'fast' argument to insertkey that python api's insertPoseKey can make use of since it alredy accepts a 'fast' option.
The ~4450 frame, 31 bone BVH imports in ~108sec now
Seperated editmode switch statement in space.c's event handling,
if editmode is disabled, or the images is a render or composite, UV editing operations are ignored.
In previous releases it has given an annoying warning if selecting or scaling is attempted when out of UV/Face mode.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c
trunk/blender/source/blender/include/BSE_editipo.h
trunk/blender/source/blender/python/api2_2x/Camera.c
trunk/blender/source/blender/python/api2_2x/Constraint.c
trunk/blender/source/blender/python/api2_2x/Ipo.c
trunk/blender/source/blender/python/api2_2x/Ipocurve.c
trunk/blender/source/blender/python/api2_2x/Lamp.c
trunk/blender/source/blender/python/api2_2x/Material.c
trunk/blender/source/blender/python/api2_2x/Object.c
trunk/blender/source/blender/python/api2_2x/Pose.c
trunk/blender/source/blender/python/api2_2x/World.c
trunk/blender/source/blender/src/buttons_object.c
trunk/blender/source/blender/src/drawaction.c
trunk/blender/source/blender/src/editaction.c
trunk/blender/source/blender/src/editipo.c
trunk/blender/source/blender/src/editkey.c
trunk/blender/source/blender/src/editview.c
trunk/blender/source/blender/src/poseobject.c
trunk/blender/source/blender/src/space.c
trunk/blender/source/blender/src/transform_conversions.c
Modified: trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c
===================================================================
--- trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/blenkernel/bad_level_call_stubs/stubs.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -59,7 +59,7 @@
struct bConstraintOb;
char *getIpoCurveName( struct IpoCurve * icu );
-void insert_vert_icu(struct IpoCurve *icu, float x, float y);
+void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast);
struct IpoCurve *verify_ipocurve(struct ID *id, short a, char *b, char *d, int e);
void elbeemDebugOut(char *msg);
void fluidsimSettingsFree(struct FluidsimSettings* sb);
@@ -83,7 +83,7 @@
return 0;
}
-void insert_vert_icu(struct IpoCurve *icu, float x, float y)
+void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast)
{
}
Modified: trunk/blender/source/blender/include/BSE_editipo.h
===================================================================
--- trunk/blender/source/blender/include/BSE_editipo.h 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/include/BSE_editipo.h 2007-09-18 06:41:29 UTC (rev 12078)
@@ -92,7 +92,7 @@
int texchannel_to_adrcode(int channel);
int insert_bezt_icu(struct IpoCurve *icu, struct BezTriple *bezt);
-void insert_vert_icu(struct IpoCurve *icu, float x, float y);
+void insert_vert_icu(struct IpoCurve *icu, float x, float y, short fast);
void add_vert_ipo(void);
void add_duplicate_editipo(void);
@@ -121,7 +121,7 @@
void set_exprap_ipo(int mode);
void set_speed_editipo(float speed);
-void insertkey(ID *id, int blocktype, char *actname, char *constname, int adrcode);
+void insertkey(ID *id, int blocktype, char *actname, char *constname, int adrcode, short fast);
void insertkey_smarter(ID *id, int blocktype, char *actname, char *constname, int adrcode);
void insertkey_editipo(void);
void common_insertkey(void);
Modified: trunk/blender/source/blender/python/api2_2x/Camera.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Camera.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/python/api2_2x/Camera.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -1040,11 +1040,11 @@
"expected int argument" ) );
if (key == IPOKEY_LENS){
- insertkey((ID *)self->camera, ID_CA, NULL, NULL, CAM_LENS);
+ insertkey((ID *)self->camera, ID_CA, NULL, NULL, CAM_LENS, 0);
}
else if (key == IPOKEY_CLIPPING){
- insertkey((ID *)self->camera, ID_CA, NULL, NULL, CAM_STA);
- insertkey((ID *)self->camera, ID_CA, NULL, NULL, CAM_END);
+ insertkey((ID *)self->camera, ID_CA, NULL, NULL, CAM_STA, 0);
+ insertkey((ID *)self->camera, ID_CA, NULL, NULL, CAM_END, 0);
}
allspace(REMAKEIPO, 0);
Modified: trunk/blender/source/blender/python/api2_2x/Constraint.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Constraint.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/python/api2_2x/Constraint.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -431,9 +431,9 @@
"cannot get a curve from this IPO, may be using libdata" );
if( ob->action )
- insert_vert_icu( icu, get_action_frame(ob, cfra), con->enforce);
+ insert_vert_icu( icu, get_action_frame(ob, cfra), con->enforce, 0);
else
- insert_vert_icu( icu, cfra, con->enforce);
+ insert_vert_icu( icu, cfra, con->enforce, 0);
Py_RETURN_NONE;
}
Modified: trunk/blender/source/blender/python/api2_2x/Ipo.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Ipo.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/python/api2_2x/Ipo.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -1483,7 +1483,7 @@
icu->flag |= IPO_VISIBLE|IPO_AUTO_HORIZ;
set_icu_vars( icu );
BLI_addtail( &(ipo->curve), icu);
- insert_vert_icu( icu, time, curval );
+ insert_vert_icu( icu, time, curval, 0);
allspace( REMAKEIPO, 0 );
EXPP_allqueue( REDRAWIPO, 0 );
Modified: trunk/blender/source/blender/python/api2_2x/Ipocurve.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Ipocurve.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/python/api2_2x/Ipocurve.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -531,7 +531,7 @@
Py_DECREF( xobj );
y = (float)PyFloat_AsDouble( yobj );
Py_DECREF( yobj );
- insert_vert_icu( icu, x, y);
+ insert_vert_icu( icu, x, y, 0);
}
Py_RETURN_NONE;
@@ -745,7 +745,7 @@
/* insert a key at the specified time */
- insert_vert_icu( self->ipocurve, time, curval );
+ insert_vert_icu( self->ipocurve, time, curval, 0);
allspace(REMAKEIPO, 0);
return 0;
}
Modified: trunk/blender/source/blender/python/api2_2x/Lamp.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Lamp.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/python/api2_2x/Lamp.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -1287,25 +1287,25 @@
map = texchannel_to_adrcode(self->lamp->texact);
if (key == IPOKEY_RGB ) {
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, LA_COL_R);
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_COL_G);
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_COL_B);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, LA_COL_R, 0);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_COL_G, 0);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_COL_B, 0);
}
if (key == IPOKEY_ENERGY ) {
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_ENERGY);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_ENERGY, 0);
}
if (key == IPOKEY_SPOTSIZE ) {
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_SPOTSI);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL,LA_SPOTSI, 0);
}
if (key == IPOKEY_OFFSET ) {
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_OFS_X);
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_OFS_Y);
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_OFS_Z);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_OFS_X, 0);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_OFS_Y, 0);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_OFS_Z, 0);
}
if (key == IPOKEY_SIZE ) {
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_SIZE_X);
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_SIZE_Y);
- insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_SIZE_Z);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_SIZE_X, 0);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_SIZE_Y, 0);
+ insertkey((ID *)self->lamp, ID_LA, NULL, NULL, map+MAP_SIZE_Z, 0);
}
allspace(REMAKEIPO, 0);
Modified: trunk/blender/source/blender/python/api2_2x/Material.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Material.c 2007-09-18 06:33:24 UTC (rev 12077)
+++ trunk/blender/source/blender/python/api2_2x/Material.c 2007-09-18 06:41:29 UTC (rev 12078)
@@ -1691,58 +1691,58 @@
map = texchannel_to_adrcode(self->material->texact);
if(key==IPOKEY_RGB || key==IPOKEY_ALLCOLOR) {
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_COL_R);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_COL_G);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_COL_B);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_COL_R, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_COL_G, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_COL_B, 0);
}
if(key==IPOKEY_ALPHA || key==IPOKEY_ALLCOLOR) {
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_ALPHA);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_ALPHA, 0);
}
if(key==IPOKEY_HALOSIZE || key==IPOKEY_ALLCOLOR) {
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_HASIZE);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_HASIZE, 0);
}
if(key==IPOKEY_MODE || key==IPOKEY_ALLCOLOR) {
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_MODE);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_MODE, 0);
}
if(key==IPOKEY_ALLCOLOR) {
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC_R);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC_G);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC_B);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_REF);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_EMIT);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_AMB);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_HARD);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_MODE);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_TRANSLU);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_ADD);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC_R, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC_G, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC_B, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_REF, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_EMIT, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_AMB, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_SPEC, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_HARD, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_MODE, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_TRANSLU, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_ADD, 0);
}
if(key==IPOKEY_ALLMIRROR) {
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_RAYM);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_FRESMIR);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_FRESMIRI);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_FRESTRA);
- insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_FRESTRAI);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_RAYM, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_FRESMIR, 0);
+ insertkey((ID *)self->material, ID_MA, NULL, NULL, MA_FRESMIRI, 0);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list