/usr/include/ossim/imaging/ossimImageCombiner.h is in libossim-dev 1.7.21-3ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | //*******************************************************************
//
// License: See LICENSE.txt file in the top level directory for more details.
//
// Author: Garrett Potts
//
//*************************************************************************
// $Id: ossimImageCombiner.h 10777 2007-04-25 14:49:17Z gpotts $
#ifndef ossimImageCombiner_HEADER
#define ossimImageCombiner_HEADER
#include <vector>
#include <ossim/imaging/ossimImageSource.h>
#include <ossim/base/ossimConnectableObjectListener.h>
#include <ossim/base/ossimPropertyEvent.h>
/**
* This will be a base for all combiners. Combiners take N inputs and
* will produce a single output.
*/
class OSSIMDLLEXPORT ossimImageCombiner : public ossimImageSource,
public ossimConnectableObjectListener
{
public:
ossimImageCombiner();
ossimImageCombiner(ossimObject* owner,
int numberOfInputs,
int numberOfOutputs,
bool inputListIsFixedFlag,
bool outputListIsFixedFlag);
ossimImageCombiner(const std::vector<ossimImageSource*>& inputSources);
virtual ~ossimImageCombiner();
virtual void getDecimationFactor(ossim_uint32 resLevel,
ossimDpt& result) const;
virtual void getDecimationFactors(vector<ossimDpt>& decimations) const;
virtual ossim_uint32 getNumberOfDecimationLevels() const;
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const;
virtual bool getImageGeometry(ossimKeywordlist& kwl,
const char* prefix=NULL);
virtual void initialize();
virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=NULL);
virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=NULL)const;
/**
* This will go through and precompute the
* bounding rects of each input image.
*/
virtual void updateRects();
/**
* Returns the number of bands available from the input.
*/
virtual ossim_uint32 getNumberOfInputBands()const;
virtual ossimScalarType getOutputScalarType() const;
virtual ossim_uint32 getTileWidth()const;
virtual ossim_uint32 getTileHeight()const;
virtual double getNullPixelValue(ossim_uint32 band=0)const;
virtual double getMinPixelValue(ossim_uint32 band=0)const;
virtual double getMaxPixelValue(ossim_uint32 band=0)const;
/**
* Used to retrieve the number of overlapping images withint the given
* rect.
*/
virtual ossim_uint32 getNumberOfOverlappingImages(const ossimIrect& rect,
ossim_uint32 resLevel=0)const;
/**
* Used to populate the result with the index of the overlapping images.
*/
virtual void getOverlappingImages(std::vector<ossim_uint32>& result,
const ossimIrect& rect,
ossim_uint32 resLevel=0)const;
/* virtual ossimRefPtr<ossimImageData> getNextTile(ossim_uint32& returnedIdx, */
/* ossim_uint32 startIdx, */
/* const ossimIpt& origin, */
/* ossim_uint32 resLevel=0); */
/* virtual ossimRefPtr<ossimImageData> getNextTile(ossim_uint32& returnedIdx, */
/* const ossimIpt& origin, */
/* ossim_uint32 resLevel=0); */
virtual ossimRefPtr<ossimImageData> getNextTile(ossim_uint32& returnedIdx,
const ossim_uint32 startIdx,
const ossimIrect& tileRect,
ossim_uint32 resLevel=0);
virtual ossimRefPtr<ossimImageData> getNextTile(ossim_uint32& returnedIdx,
const ossimIrect& tileRect,
ossim_uint32 resLevel=0);
virtual ossimRefPtr<ossimImageData> getNextNormTile(ossim_uint32& returnedIdx,
const ossim_uint32 index,
const ossimIrect& tileRect,
ossim_uint32 resLevel=0);
virtual ossimRefPtr<ossimImageData> getNextNormTile(ossim_uint32& returnedIdx,
const ossimIrect& tileRect,
ossim_uint32 resLevel=0);
/* virtual ossimRefPtr<ossimImageData> getNextNormTile(ossim_uint32& returnedIdx, */
/* ossim_uint32 index, */
/* const ossimIpt& origin, */
/* ossim_uint32 resLevel=0); */
/* virtual ossimRefPtr<ossimImageData> getNextNormTile(ossim_uint32& returnedIdx, */
/* const ossimIpt& origin, */
/* ossim_uint32 resLevel=0); */
virtual bool canConnectMyInputTo(ossim_int32 inputIndex,
const ossimConnectableObject* object)const;
virtual void connectInputEvent(ossimConnectionEvent& event);
virtual void disconnectInputEvent(ossimConnectionEvent& event);
virtual void propertyEvent(ossimPropertyEvent& event);
virtual void refreshEvent(ossimRefreshEvent& event);
virtual bool hasDifferentInputs()const;
protected:
void precomputeBounds()const;
ossim_uint32 theLargestNumberOfInputBands;
ossim_uint32 theInputToPassThrough;
bool theHasDifferentInputs;
ossimRefPtr<ossimImageData> theNormTile;
mutable std::vector<ossimIrect> theFullResBounds;
mutable bool theComputeFullResBoundsFlag;
ossim_uint32 theCurrentIndex;
TYPE_DATA
};
#endif /* #ifndef ossimImageCombiner_HEADER */
|