Map.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Copyright 2008 Isis Innovation Limited
00003 //
00004 // This header declares the Map class.
00005 // This is pretty light-weight: All it contains is
00006 // a vector of MapPoints and a vector of KeyFrames.
00007 //
00008 // N.b. since I don't do proper thread safety,
00009 // everything is stored as lists of pointers,
00010 // and map points are not erased if they are bad:
00011 // they are moved to the trash list. That way
00012 // old pointers which other threads are using are not 
00013 // invalidated!
00014 
00015 #ifndef __MAP_H
00016 #define __MAP_H
00017 #include <vector>
00018 #include <TooN/se3.h>
00019 #include <cvd/image.h>
00020 #include <boost/shared_ptr.hpp>
00021 
00022 struct MapPoint;
00023 struct KeyFrame;
00024 
00025 struct Map
00026 {
00027   Map();
00028   inline bool IsGood() {return bGood;}
00029   void Reset();
00030 
00031   void MoveBadPointsToTrash();
00032   void EmptyTrash();
00033 
00034   std::vector<boost::shared_ptr<MapPoint> > vpPoints;
00035   std::vector<boost::shared_ptr<MapPoint> > vpPointsTrash;
00036   std::vector<boost::shared_ptr<KeyFrame> > vpKeyFrames;
00037 
00038   bool bGood;
00039 };
00040 
00041 
00042 
00043 
00044 #endif
00045 


ptam
Author(s): Stephan Weiss, Markus Achtelik, Simon Lynen
autogenerated on Tue Jan 7 2014 11:12:22