[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33173] trunk/blender/source/blender/ blenkernel/intern/object.c: edit on last commit, for calculating drivers on obdata just check for animdata rather then the object type .
Campbell Barton
ideasman42 at gmail.com
Fri Nov 19 08:40:17 CET 2010
Revision: 33173
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33173
Author: campbellbarton
Date: 2010-11-19 08:40:17 +0100 (Fri, 19 Nov 2010)
Log Message:
-----------
edit on last commit, for calculating drivers on obdata just check for animdata rather then the object type.
also use switch rather then if checks.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/object.c
Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c 2010-11-19 07:31:24 UTC (rev 33172)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2010-11-19 07:40:17 UTC (rev 33173)
@@ -2534,52 +2534,53 @@
if (G.f & G_DEBUG)
printf("recalcdata %s\n", ob->id.name+2);
-
- /* includes all keys and modifiers */
- if(ob->type==OB_MESH) {
- EditMesh *em = (ob == scene->obedit)? BKE_mesh_get_editmesh(ob->data): NULL;
-
+
+ if(adt) {
/* evaluate drivers */
- // XXX: should we push this to derivedmesh instead?
+ // XXX: for mesh types, should we push this to derivedmesh instead?
BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
-
- // here was vieweditdatamask? XXX
- if(em) {
- makeDerivedMesh(scene, ob, em, CD_MASK_BAREMESH);
- BKE_mesh_end_editmesh(ob->data, em);
- } else
- makeDerivedMesh(scene, ob, NULL, CD_MASK_BAREMESH);
}
- else if(ob->type==OB_MBALL) {
- /* evaluate drivers */
- BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
- makeDispListMBall(scene, ob);
- }
- else if(ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
- /* evaluate drivers */
- BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
- makeDispListCurveTypes(scene, ob, 0);
- }
- else if(ELEM(ob->type, OB_CAMERA, OB_LAMP)) {
- /* evaluate drivers */
- BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
- }
- else if(ob->type==OB_LATTICE) {
- lattice_calc_modifiers(scene, ob);
- }
- else if(ob->type==OB_ARMATURE) {
- /* evaluate drivers */
- BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
-
+
+ /* includes all keys and modifiers */
+ switch(ob->type) {
+ case OB_MESH:
+ {
+ EditMesh *em = (ob == scene->obedit)? BKE_mesh_get_editmesh(ob->data): NULL;
+ // here was vieweditdatamask? XXX
+ if(em) {
+ makeDerivedMesh(scene, ob, em, CD_MASK_BAREMESH);
+ BKE_mesh_end_editmesh(ob->data, em);
+ } else
+ makeDerivedMesh(scene, ob, NULL, CD_MASK_BAREMESH);
+ }
+ break;
+
+ case OB_ARMATURE:
if(ob->id.lib && ob->proxy_from) {
+ // printf("pose proxy copy, lib ob %s proxy %s\n", ob->id.name, ob->proxy_from->id.name);
copy_pose_result(ob->pose, ob->proxy_from->pose);
- // printf("pose proxy copy, lib ob %s proxy %s\n", ob->id.name, ob->proxy_from->id.name);
}
else {
where_is_pose(scene, ob);
}
+ break;
+
+ case OB_MBALL:
+ makeDispListMBall(scene, ob);
+ break;
+
+ case OB_CURVE:
+ case OB_SURF:
+ case OB_FONT:
+ makeDispListCurveTypes(scene, ob, 0);
+ break;
+
+ case OB_LATTICE:
+ lattice_calc_modifiers(scene, ob);
+ break;
}
+
if(ob->particlesystem.first) {
ParticleSystem *tpsys, *psys;
DerivedMesh *dm;
More information about the Bf-blender-cvs
mailing list