23 static ossimTrace traceDebug(
"ossimCacheTileSource:debug");
25 static const ossimString TILE_SIZE_XY_KW(
"tile_size_xy");
26 static const ossimString USE_INPUT_TILE_SIZE_KW(
"use_input_tile_size");
35 theCachingEnabled(
true),
36 theEventProgressFlag(false),
37 theUseInputTileSizeFlag(false),
110 result =
fillTile(tileRect, resLevel, cacheId);
144 if((allignedRect == tileRect)&&
145 (static_cast<ossim_int32>(tileRect.
width()) == cacheTileSize.
x)&&
154 if(!tempTile.
valid())
191 ossim_int32 totalTiles = (boundaryHeight/cacheTileSize.
y)*
195 row < boundaryHeight;
198 origin.
x = allignedRect.
ul().
x;
214 if(!tempTile.
valid())
218 origin.
x + cacheTileSize.
x-1,
219 origin.
y + cacheTileSize.
y-1);
231 addTile(cacheId, tempTile);
248 double percent = 100.0*((double)currentTile/(
double)totalTiles);
281 if((allignedRect == tileRect)&&
282 (static_cast<ossim_int32>(tileRect.
width()) == cacheTileSize.
x)&&
331 ossim_int32 totalTiles = (boundaryHeight/cacheTileSize.
y)*
335 row < boundaryHeight;
338 origin.
x = allignedRect.
ul().
x;
354 if(!tempTile.
valid())
358 origin.
x + cacheTileSize.
x-1,
359 origin.
y + cacheTileSize.
y-1);
371 addTile(cacheId, tempTile);
388 double percent = 100.0*((double)currentTile/(
double)totalTiles);
433 lookup = kwl.
find(prefix, USE_INPUT_TILE_SIZE_KW);
439 lookup = kwl.
find(prefix, TILE_SIZE_XY_KW);
443 pt.
toPoint(std::string(lookup));
456 const char* prefix)
const 463 USE_INPUT_TILE_SIZE_KW,
479 if (name == TILE_SIZE_XY_KW)
493 else if(name == USE_INPUT_TILE_SIZE_KW)
505 if (!property)
return;
508 if (name == TILE_SIZE_XY_KW)
513 if ( (pt.
x > 7) && (pt.
y > 7) )
520 <<
"ossimCacheTileSource::setProperty NOTICE:" 521 <<
"\nTile dimensions must be at least 8!" 522 <<
"\nFormat = ( x, y )" 530 else if(name == USE_INPUT_TILE_SIZE_KW)
546 std::vector<ossimString>& propertyNames)
const 548 propertyNames.push_back(TILE_SIZE_XY_KW);
550 propertyNames.push_back(USE_INPUT_TILE_SIZE_KW);
557 return ossimString(
"Tile Cache , cache for ossimImageData objects.");
619 static_cast<ossim_int32>(1024)),
621 static_cast<ossim_int32>(1024)));
628 if((cacheTileSize.
x > static_cast<ossim_int64>(rect.
width()))&&
virtual void deleteCache(ossimAppFixedCacheId cacheId)
ossimString toString() const
bool theEventProgressFlag
virtual void valueToString(ossimString &valueResult) const =0
virtual bool isSourceEnabled() const
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
virtual void initialize()
ossimIpt theFixedTileSize
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
void getTileSize(ossimIpt &size) const
virtual void setEventProgressFlag(bool value)
virtual void setImageRectangle(const ossimIrect &rect)
bool theUseInputTileSizeFlag
Represents serializable keyword/value map.
virtual ossimString getLongName() const
const char * find(const char *key) const
const ossimIpt & getTileSize(ossimAppFixedCacheId cacheId)
virtual void setProperty(ossimRefPtr< ossimProperty > property)
ossim_uint32 height() const
virtual ossim_uint32 getTileHeight() const
Returns the default processing tile height.
RLevelCacheList theRLevelCacheList
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
OSSIM_DLL void defaultTileSize(ossimIpt &tileSize)
void initializeRlevelCache()
const ossimIpt & ul() const
virtual ossimDataObjectStatus getDataObjectStatus() const
ossimAppFixedTileCache::ossimAppFixedCacheId getCacheId(ossim_uint32 resLevel)
virtual ossim_uint32 getNumberOfDecimationLevels() const
Will return the number of resolution levels.
virtual ossim_uint32 getTileHeight() const
Returns the default processing tile height.
virtual void fireEvent(ossimEvent &event)
virtual void initialize()
Initialize the data buffer.
static ossimAppFixedTileCache * instance(ossim_uint32 maxSize=0)
virtual ossim_uint32 getTileWidth() const
Returns the default processing tile width.
virtual void initialize()
ossimCacheTileSource()
Will construct a new Application cache.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual void loadTile(const void *src, const ossimIrect &src_rect, ossimInterleaveType il_type)
static ossimImageDataFactory * instance()
virtual void fireProgressEvent(double percentComplete)
ossimRefPtr< ossimImageData > getTile(ossimAppFixedCacheId cacheId, const ossimIpt &origin)
virtual ossimDataObjectStatus validate() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
bool toBool() const
String to numeric methods.
ossimImageSource * theInputConnection
unsigned int ossim_uint32
RTTI_DEF1(ossimCacheTileSource, "ossimCacheTileSource", ossimImageSourceFilter)
virtual ~ossimCacheTileSource()
void setTileSize(const ossimIpt &size)
Set the tile size.
virtual ossimIrect getImageRectangle() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossimRefPtr< ossimImageData > create(ossimSource *owner, ossimScalarType scalar, ossim_uint32 bands=1) const
ossim_uint32 width() const
ossimIrect clipToRect(const ossimIrect &rect) const
virtual ossimRefPtr< ossimImageData > fillTile(const ossimIrect &tileRect, ossim_uint32 resLevel, ossimAppFixedTileCache::ossimAppFixedCacheId cacheId)
void toPoint(const std::string &s)
Initializes this point from string.
ossimRefPtr< ossimImageData > theTile
ossim_int32 ossimAppFixedCacheId
virtual ossimString getShortName() const
virtual void makeBlank()
Initializes data to null pixel values.
static const char * ENABLE_CACHE_KW
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
virtual const void * getBuf() const
virtual void setCachingEnabledFlag(bool value)
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
void stretchToTileBoundary(const ossimIpt &tileWidthHeight)
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &tileRect, ossim_uint32 resLevel=0)
virtual void setDataObjectStatus(ossimDataObjectStatus status) const
Full list found in ossimConstants.h.
ossimAppFixedCacheId newTileCache(const ossimIrect &tileBoundaryRect, const ossimIpt &tileSize=ossimIpt(0, 0))
virtual ossim_uint32 getTileWidth() const
Returns the default processing tile width.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossimRefPtr< ossimImageData > addTile(ossimAppFixedCacheId cacheId, ossimRefPtr< ossimImageData > data, bool duplicateData=true)
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
void setCacheRefreshBit()
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)