From b22e3414cafdc0fe0cf151665b753f817513375d Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 14 Jul 2005 18:04:27 +0000 Subject: - add mesh_get_bb function to return mesh boundbox and calc if needed - switch all mesh boundbox access to go through mesh_get_bb - switch object_handle_update to call mesh_changed instead of making the displist data immediately (delayed calculation) --- source/blender/src/drawobject.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'source/blender/src/drawobject.c') diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index f41dc5d07af..03f730b5016 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -1932,8 +1932,9 @@ static void draw_mesh_object(Base *base, int dt) baseDM->release(baseDM); } else { - if(me->bb==NULL) tex_space_mesh(me); - if(me->totface<=4 || boundbox_clip(ob->obmat, me->bb)) { + BoundBox *bb = mesh_get_bb(me); + + if(me->totface<=4 || boundbox_clip(ob->obmat, bb)) { DerivedMesh *baseDM = mesh_get_base_derived(ob); DerivedMesh *realDM = mesh_get_derived(ob); @@ -3222,11 +3223,7 @@ void get_local_bounds(Object *ob, float *centre, float *size) /* uses boundbox, function used by Ketsji */ if(ob->type==OB_MESH) { - bb= ( (Mesh *)ob->data )->bb; - if(bb==0) { - tex_space_mesh(ob->data); - bb= ( (Mesh *)ob->data )->bb; - } + bb = mesh_get_bb(ob->data); } else if ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT) { bb= ( (Curve *)ob->data )->bb; @@ -3295,11 +3292,7 @@ static void draw_bounding_volume(Object *ob) BoundBox *bb=0; if(ob->type==OB_MESH) { - bb= ( (Mesh *)ob->data )->bb; - if(bb==0) { - tex_space_mesh(ob->data); - bb= ( (Mesh *)ob->data )->bb; - } + bb= mesh_get_bb(ob->data); } else if ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT) { bb= ( (Curve *)ob->data )->bb; -- cgit v1.2.3