00001 // Copyright 2008 Isis Innovation Limited 00002 #include "Map.h" 00003 #include "MapPoint.h" 00004 00005 Map::Map() 00006 { 00007 Reset(); 00008 } 00009 00010 void Map::Reset() 00011 { 00012 for(unsigned int i=0; i<vpPoints.size(); i++) 00013 delete vpPoints[i]; 00014 vpPoints.clear(); 00015 bGood = false; 00016 EmptyTrash(); 00017 } 00018 00019 void Map::MoveBadPointsToTrash() 00020 { 00021 int nBad = 0; 00022 for(int i = vpPoints.size()-1; i>=0; i--) 00023 { 00024 if(vpPoints[i]->bBad) 00025 { 00026 vpPointsTrash.push_back(vpPoints[i]); 00027 vpPoints.erase(vpPoints.begin() + i); 00028 nBad++; 00029 } 00030 }; 00031 }; 00032 00033 void Map::EmptyTrash() 00034 { 00035 for(unsigned int i=0; i<vpPointsTrash.size(); i++) 00036 delete vpPointsTrash[i]; 00037 vpPointsTrash.clear(); 00038 }; 00039 00040 00041 00042