7 CellMap::const_iterator iter =
m_cacheMap.begin();
11 if ( iter->second->m_handler.valid() )
13 list.push_back(iter->second->m_handler->getFilename());
24 std::vector<ossimFilename>& cells,
30 ossim_uint32 limitNumberOfCells = maxNumberOfCells>0?maxNumberOfCells:999999999;
33 while ( (lat <= maxLat) &&(cells.size() < limitNumberOfCells))
39 while ( (lon <= maxLon ) &&(cells.size()< limitNumberOfCells))
52 std::vector<ossimFilename>::const_iterator i = cells.
begin();
53 while ( i != cells.end() )
62 if ( i == cells.end() )
111 iter->second->updateTimestamp();
112 result = iter->second->m_handler.get();
151 iter->second->updateTimestamp();
152 result = iter->second->m_handler.get();
164 m_cacheMap.insert(std::make_pair(
id,
new CellInfo(
id, result.
get())));
182 if(!minOpenCells.
empty()&&
183 !maxOpenCells.
empty())
193 if(!memoryMapCellsFlag.
empty())
218 out <<
"\nossimElevationCellDatabase @ "<< (
ossim_uint64)
this << kwl << ends;
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossimRefPtr< ossimElevCellHandler > createCell(const ossimGpt &)
virtual const ossimFilename & getFilename() const
Represents serializable keyword/value map.
ossim_uint32 m_memoryMapCellsFlag
const char * find(const char *key) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
ossim_uint32 toUInt32() const
virtual ossimString getShortName() const
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
RTTI_DEF1(ossimElevationCellDatabase, "ossimElevationCellDatabase", ossimElevationDatabase)
virtual ossimRefPtr< ossimElevCellHandler > getOrCreateCellHandler(const ossimGpt &gpt)
ossimRefPtr< ossimGeoid > m_geoid
std::string::size_type size() const
bool toBool() const
String to numeric methods.
std::string::iterator begin()
unsigned long long ossim_uint64
unsigned int ossim_uint32
virtual void getOpenCellList(std::vector< ossimFilename > &list) const
virtual ossim_uint64 createId(const ossimGpt &) const
ossim_uint32 m_maxOpenCells
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
ossim_uint32 m_minOpenCells
void flushCacheToMinOpenCells()
void getCellsForBounds(const ossim_float64 &minLat, const ossim_float64 &minLon, const ossim_float64 &maxLat, const ossim_float64 &maxLon, std::vector< ossimFilename > &cells, ossim_uint32 maxNumberOfCells=0)
Gets a list of elevation cells needed to cover bounding box.
std::mutex m_cacheMapMutex
std::basic_ostream< char > ostream
Base class for char output streams.
ossim_float64 min< ossim_float64 >(ossim_float64 a, ossim_float64 b)