Ignore:
Timestamp:
05/27/08 11:12:02 (16 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp

    r2715 r2716  
    17551755        { 
    17561756 
    1757           // delete ALL dynamic stuff and rebuild using the new trafos 
    1758           preprocessor->mRayCaster->DeleteDynamicObjects(); 
    1759            
     1757                // delete ALL dynamic stuff and rebuild using the new trafos 
     1758                preprocessor->mRayCaster->DeleteDynamicObjects(); 
     1759 
    17601760#define MULTIPLE_OBJECTS 1 
    17611761 
    17621762#if MULTIPLE_OBJECTS  
    1763           static ObjectContainer objects; 
    1764            
    1765           CLEAR_CONTAINER(objects); 
    1766            
    1767           for (size_t i = 0; i < mDynamicObjects.size(); ++ i) { 
    1768                 SceneGraphLeaf *l = mDynamicObjects[i]; 
    1769                 for (int j=0; j < l->mGeometry.size(); j++) { 
    1770                   if (l->mGeometry[j]->Type() == Intersectable::TRIANGLE_INTERSECTABLE) { 
    1771                         Triangle3 t(((TriangleIntersectable *)l->mGeometry[j])->GetItem()); 
    1772                         t.ApplyTransformation(l->GetTransformation()); 
    1773                         TriangleIntersectable *to = new TriangleIntersectable(t); 
    1774                         to->SetId(l->GetIntersectable()->GetId()); 
    1775  
    1776                         objects.push_back(to); 
    1777                   } 
    1778                 } 
    1779           } 
    1780           mRayCaster->AddDynamicObjecs(objects, IdentityMatrix()); 
     1763                static ObjectContainer objects; 
     1764 
     1765                CLEAR_CONTAINER(objects); 
     1766 
     1767                for (size_t i = 0; i < mDynamicObjects.size(); ++ i)  
     1768                { 
     1769                        SceneGraphLeaf *l = mDynamicObjects[i]; 
     1770 
     1771                        for (size_t j=0; j < l->mGeometry.size(); j++)  
     1772                        { 
     1773                                if (l->mGeometry[j]->Type() == Intersectable::TRIANGLE_INTERSECTABLE)  
     1774                                { 
     1775                                        Triangle3 t(((TriangleIntersectable *)l->mGeometry[j])->GetItem()); 
     1776                                        t.ApplyTransformation(l->GetTransformation()); 
     1777                                        TriangleIntersectable *to = new TriangleIntersectable(t); 
     1778                                        to->SetId(l->GetIntersectable()->GetId()); 
     1779                                        objects.push_back(to); 
     1780                                } 
     1781                        } 
     1782                } 
     1783 
     1784                mRayCaster->AddDynamicObjecs(objects, IdentityMatrix()); 
    17811785#endif     
    17821786 
    1783           SceneGraphLeaf *toUpdate = NULL; 
    1784            
    1785           for (size_t i = 0; i < mDynamicObjects.size(); ++ i)  
    1786           { 
    1787                   SceneGraphLeaf *l = mDynamicObjects[i]; 
     1787                SceneGraphLeaf *toUpdate = NULL; 
     1788 
     1789                for (size_t i = 0; i < mDynamicObjects.size(); ++ i)  
     1790                { 
     1791                        SceneGraphLeaf *l = mDynamicObjects[i]; 
    17881792 
    17891793#if  !MULTIPLE_OBJECTS 
    1790                   PrepareObjectsForRayCaster(l); 
     1794                        PrepareObjectsForRayCaster(l); 
    17911795#endif 
    17921796 
    1793                   if (l->HasChanged()) 
    1794                   { 
    1795                           cout<<"Updating affected PVSs..."<<endl; 
    1796                           preprocessor->ObjectMoved(l); 
    1797                           cout<<"done."<<endl;   
    1798                           l->SetHasChanged(false); 
    1799                   } 
    1800           } 
    1801  
    1802           mUpdateDynamicObjects = false; 
    1803            
     1797                        if (l->HasChanged()) 
     1798                        { 
     1799                                cout<<"Updating affected PVSs..."<<endl; 
     1800                                preprocessor->ObjectMoved(l); 
     1801                                cout<<"done."<<endl;     
     1802                                l->SetHasChanged(false); 
     1803                        } 
     1804                } 
     1805                 
     1806                mUpdateDynamicObjects = false; 
    18041807        } 
    18051808} 
Note: See TracChangeset for help on using the changeset viewer.