void set_boundbox(void) { Object *ob; Mesh *me; ModifierData *md; ob= G.main->object.first; while(ob) { me=get_mesh(ob); if(me){ if(ob->dt_save==0)ob->dt_save= OB_SHADED; if(me->totvert>(U.limit_vertice*1000)) ob->dt= OB_BOUNDBOX; md = modifiers_getVirtualModifierList(ob); while(md) { if(md->type==eModifierType_Subsurf) { md->mode &= ~eModifierMode_Realtime; //SubsurfModifierData *smd = (SubsurfModifierData*) md; //if(me->totvert*(pow(4,smd->levels))>(U.limit_vertice*1000)) ob->dt= OB_BOUNDBOX; } md=md->next; } } ob= ob->id.next; } scrarea_queue_winredraw(curarea); }