Ignore:
Timestamp:
10/29/06 18:17:38 (18 years ago)
Author:
mattausch
Message:

removed memory leaks

File:
1 edited

Legend:

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

    r1693 r1696  
    214214BvHierarchy::~BvHierarchy() 
    215215{ 
    216         // delete kd intersectables 
     216        // delete bvh intersectables 
    217217        BvhIntersectableMap::iterator it, it_end = mBvhIntersectables.end(); 
    218218 
     
    222222        } 
    223223 
     224        // delete the local subdivision candidates 
    224225        DEL_PTR(mSubdivisionCandidates); 
    225226 
     227        // delete the presorted objects 
    226228        for (int i = 0; i < 3; ++ i) 
    227229        { 
    228230                DEL_PTR(mSortedObjects[i]); 
    229231        } 
    230         mSubdivisionStats.close(); 
     232         
     233        // delete the tree 
     234        DEL_PTR(mRoot); 
    231235} 
    232236 
     
    329333        for (oit = objects.begin(); oit != oit_end; ++ oit) 
    330334        { 
    331                 nRays += (int)(*oit)->mVssRays.size(); 
     335                nRays += (int)(*oit)->GetOrCreateRays()->size(); 
    332336        } 
    333337 
     
    13361340                if (ray->mTerminationObject) 
    13371341                { 
    1338                         ray->mTerminationObject->mVssRays.push_back(ray); 
     1342                        ray->mTerminationObject->GetOrCreateRays()->push_back(ray); 
    13391343                        if (!ray->Mailed()) 
    13401344                        { 
     
    13461350                if (ray->mOriginObject) 
    13471351                { 
    1348                         ray->mOriginObject->mVssRays.push_back(ray); 
     1352                        ray->mOriginObject->GetOrCreateRays()->push_back(ray); 
    13491353 
    13501354                        if (!ray->Mailed()) 
     
    13851389        { 
    13861390                Intersectable *obj = *oit; 
    1387                 VssRayContainer::const_iterator rit, rit_end = obj->mVssRays.end(); 
    1388  
    1389                 for (rit = obj->mVssRays.begin(); rit < rit_end; ++ rit) 
     1391                VssRayContainer::const_iterator rit, rit_end = obj->GetOrCreateRays()->end(); 
     1392 
     1393                for (rit = obj->GetOrCreateRays()->begin(); rit < rit_end; ++ rit) 
    13901394                { 
    13911395                        VssRay *ray = (*rit); 
     
    15141518                                                                   const bool setCounter) const 
    15151519{ 
    1516         VssRayContainer::const_iterator rit, rit_end = obj->mVssRays.end(); 
    1517  
    1518         for (rit = obj->mVssRays.begin(); rit < rit_end; ++ rit) 
     1520        VssRayContainer::const_iterator rit, rit_end = obj->GetOrCreateRays()->end(); 
     1521 
     1522        for (rit = obj->GetOrCreateRays()->begin(); rit < rit_end; ++ rit) 
    15191523        { 
    15201524                VssRay *ray = (*rit); 
     
    15571561        int result = 0; 
    15581562         
    1559         VssRayContainer::const_iterator rit, rit_end = obj->mVssRays.end(); 
    1560  
    1561         for (rit = obj->mVssRays.begin(); rit < rit_end; ++ rit) 
     1563        VssRayContainer::const_iterator rit, rit_end = obj->GetOrCreateRays()->end(); 
     1564 
     1565        for (rit = obj->GetOrCreateRays()->begin(); rit < rit_end; ++ rit) 
    15621566        { 
    15631567                VssRay *ray = (*rit); 
Note: See TracChangeset for help on using the changeset viewer.