Ignore:
Timestamp:
02/17/07 22:48:12 (17 years ago)
Author:
mattausch
Message:

worded on obj loading in Ogre

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBoundingBoxConverter.h

    r2115 r2123  
    217217 
    218218                        // we are only interested in scene entities 
    219                         if (mo->getMovableType() != "Entity") 
     219                        if ((mo->getMovableType() != "Entity") && 
     220                                (mo->getMovableType() != "ManualObject")) 
    220221                                continue; 
    221222                         
     
    237238} 
    238239 
     240static void AddToObjects(EntityContainer *entites,  
     241                                                 GtpVisibilityPreprocessor::ObjectContainer &objects, 
     242                                                 const int id) 
     243{ 
     244        // TODO: can actually just put single objects into pvs with same id,  
     245        // this can be sorted out later!! 
     246#if 0 
     247        EntityContainer::const_iterator eit, eit_end = entryObjects.end(); 
     248 
     249        for (eit = entryObjects.begin(); eit != eit_end; ++ eit) 
     250        { 
     251                Entity *ent = *eit; 
     252 
     253        // warning: multiple ids possible 
     254                OgreMeshInstance *omi = new OgreMeshInstance(ent); 
     255                omi->SetId(id); 
     256                objects.push_back(omi); 
     257        } 
     258 
     259        delete entryObjects; 
     260 
     261#else 
     262 
     263        EngineIntersectable *entry = new EngineIntersectable(entites); 
     264 
     265        entry->SetId(id); 
     266        objects.push_back(entry); 
     267#endif 
     268} 
     269 
    239270#if USE_KD_PVS 
    240271//------------------------------------------------------------------------- 
     
    255286                        OgreTypeConverter::ConvertToOgre(pbox); 
    256287                 
    257                 EntityContainer entryObjects; 
     288                EntityContainer *entryObjects = new EntityContainer(); 
    258289 
    259290                // find all objects that intersect the bounding box 
    260                 FindIntersectingObjects(box, entryObjects); 
    261  
    262                 // TODO: can actually just put single objects into pvs with same id,  
    263                 // this can be sorted out later!! 
    264 #if 1 
    265                 EntityContainer::const_iterator eit, eit_end = entryObjects.end(); 
    266  
    267                 for (eit = entryObjects.begin(); eit != eit_end; ++ eit) 
    268                 { 
    269                         Entity *ent = *eit; 
    270  
    271             // warning: multiple ids possible 
    272                         OgreMeshInstance *omi = new OgreMeshInstance(ent); 
    273                         omi->SetId(id); 
    274                         objects.push_back(omi); 
    275                 } 
    276 #else 
    277                 EngineIntersectable *entry =  
    278                         new EngineIntersectable(entryObjects); 
    279  
    280                 entry->SetId(id); 
    281                 objects.push_back(entry); 
    282 #endif 
     291                FindIntersectingObjects(box, *entryObjects); 
     292 
     293                AddToObjects(entryObjects, objects, id); 
    283294        } 
    284295 
Note: See TracChangeset for help on using the changeset viewer.