1 #ifndef ossimElevationCellDatabase_HEADER 2 #define ossimElevationCellDatabase_HEADER 1 22 m_handler(src.m_handler),
23 m_timestamp(src.m_timestamp)
56 typedef std::map<ossim_uint64, ossimRefPtr<CellInfo> >
CellMap;
62 m_memoryMapCellsFlag(false)
67 m_minOpenCells(src.m_minOpenCells),
68 m_maxOpenCells(src.m_maxOpenCells),
69 m_cacheMap(src.m_cacheMap),
70 m_memoryMapCellsFlag(src.m_memoryMapCellsFlag)
78 return m_minOpenCells;
82 return m_maxOpenCells;
87 m_minOpenCells = minCellCount;
88 m_maxOpenCells = maxCellCount;
92 return m_memoryMapCellsFlag;
96 m_memoryMapCellsFlag = flag;
99 virtual void getOpenCellList(std::vector<ossimFilename>& list)
const;
117 std::vector<ossimFilename>& cells,
135 CellMap::iterator iter = m_cacheMap.find(
id);
136 if(iter != m_cacheMap.end())
138 m_cacheMap.erase(iter);
146 CellMap::iterator iter = m_cacheMap.begin();
148 while(iter != m_cacheMap.end())
150 sortedMap.insert(std::make_pair(iter->second->m_timestamp, iter->second));
154 iter = sortedMap.begin();
155 while((iter!=sortedMap.end())&&(m_cacheMap.size() > m_minOpenCells))
157 remove(iter->second->id());
CellInfo(ossim_uint64 id, ossimElevCellHandler *handler=0)
ossimElevationCellDatabase()
virtual ossimRefPtr< ossimElevCellHandler > createCell(const ossimGpt &)
unsigned long long Timer_t
std::map< ossim_uint64, ossimRefPtr< CellInfo > > CellMap
Represents serializable keyword/value map.
ossim_uint32 m_memoryMapCellsFlag
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual void setMinMaxOpenCells(ossim_uint64 minCellCount, ossim_uint64 maxCellCount)
ossimElevationCellDatabase(const ossimElevationCellDatabase &src)
virtual ossim_uint32 getMinOpenCells() const
virtual void setMemoryMapCellsFlag(bool flag)
static ossimTimer * instance()
virtual bool getMemoryMapCellsFlag() const
CellInfo(const CellInfo &src)
unsigned long long ossim_uint64
unsigned int ossim_uint32
virtual ossim_uint32 getMaxOpenCells() const
ossimTimer::Timer_t m_timestamp
virtual ossim_uint64 createId(const ossimGpt &) const
ossim_uint32 m_maxOpenCells
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
ossim_uint32 m_minOpenCells
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
void flushCacheToMinOpenCells()
Timer_t tick() const
Get the timers tick value.
ossimRefPtr< ossimElevCellHandler > m_handler
std::mutex m_cacheMapMutex
std::basic_ostream< char > ostream
Base class for char output streams.