40 std::vector<ossimClosestToCenterCombinerInfo > normTileList;
42 while(currentTile.
valid())
50 if(normTileList.size() == 1)
54 else if(normTileList.size() > 1)
72 std::vector<ossim_float32*> bandList(bands);
74 for(band = 0; band < bands; ++band)
80 for(idxH = 0; idxH < h; ++idxH)
83 for(idxW = 0; idxW < w;++idxW)
85 idx =
findIdx(normTileList, origin, offset);
89 ossim_uint32 tileBands = normTileList[idx].theTile->getNumberOfBands();
93 for(band = 0; band < bands; ++band)
124 for(idx = 0; idx < maxIdx; ++ idx)
129 tempDistance = (pt-midPt).length();
virtual bool isSourceEnabled() const
ossimRefPtr< ossimImageData > theTile
virtual ossim_uint32 getNumberOfBands() const
virtual void setImageRectangle(const ossimIrect &rect)
ossim_int32 findIdx(const std::vector< ossimClosestToCenterCombinerInfo > &normTileList, const ossimIpt &pt, ossim_uint32 offset) const
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
This implements a closest to center combiner.
virtual ossimRefPtr< ossimImageData > getNextNormTile(ossim_uint32 &returnedIdx, const ossim_uint32 index, const ossimIrect &tileRect, ossim_uint32 resLevel=0)
ossim_uint32 height() const
const ossimIpt & ul() const
virtual ossimDataObjectStatus getDataObjectStatus() const
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &origin, ossim_uint32 resLevel=0)
An image mosaic is a simple combiner that will just do a simple mosaic.
virtual void initialize()
Initialize the data buffer.
virtual ossimObject * dup() const
bool isNull(ossim_uint32 offset) const
void allocate()
Called on first getTile, will initialize all data needed.
static ossimImageDataFactory * instance()
virtual ossimDataObjectStatus validate() const
virtual void setImageRectangleAndBands(const ossimIrect &rect, ossim_uint32 numberOfBands)
ossimIpt midPoint() const
std::vector< ossimIrect > theFullResBounds
unsigned int ossim_uint32
32 bit normalized floating point
virtual void copyNormalizedBufferToTile(ossim_float64 *buf)
Copies buf passed in to tile.
virtual ossimRefPtr< ossimImageData > create(ossimSource *owner, ossimScalarType scalar, ossim_uint32 bands=1) const
ossim_uint32 width() const
virtual void makeBlank()
Initializes data to null pixel values.
virtual const void * getBuf() const
ossimClosestToCenterCombiner()
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &rect, ossim_uint32 resLevel=0)
Executes the ossimClosestToCenterCombiner algorithm.
float distance(double lat1, double lon1, double lat2, double lon2, int units)
RTTI_DEF1(ossimClosestToCenterCombiner, "ossimClosestToCenterCombiner", ossimImageMosaic)