OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimVideoImageSource.h
Go to the documentation of this file.
1 //*************************************************************************************************
2 // OSSIM -- Open Source Software Image Map
3 //
4 // LICENSE: See top level LICENSE.txt file.
5 //
6 // AUTHOR: Oscar Kramer
7 //
8 //*************************************************************************************************
9 // $Id: ossimVideoImageSource.h 2695 2011-06-08 21:12:15Z oscar.kramer $
10 #ifndef ossimVideoImageSource_HEADER
11 #define ossimVideoImageSource_HEADER
12 
14 #include <ossim/base/ossimRefPtr.h>
15 #include <ossim/base/ossimIrect.h>
18 
19 class ossimVideoSource;
20 class ossimVideoGeometry;
21 
22 //*************************************************************************************************
23 // CLASS DESCRIPTION:
26 //*************************************************************************************************
28 {
29 public:
33  virtual bool setFrameTime(const double& t);
34 
38  //virtual bool setFrameNumber(ossim_uint32 frame_number);
39 
40  virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
41  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
42  virtual ossim_uint32 getImageTileWidth() const { return getNumberOfSamples(); }
43  virtual ossim_uint32 getImageTileHeight() const { return getNumberOfLines(); }
44 
46  virtual ossim_uint32 getNumberOfInputBands() const { return 3; }
47  virtual ossim_uint32 getNumberOfOutputBands() const { return 3; }
48  virtual ossimScalarType getOutputScalarType() const { return OSSIM_UINT8; }
49 
50  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& rect, ossim_uint32 resLevel=0)=0;
51 
53 
55  virtual bool canConnectMyInputTo(ossim_int32 index, const ossimConnectableObject* object) const;
56 
58  virtual ossim_uint32 getNumberOfDecimationLevels() const { return 1; }
59  virtual void getDecimationFactor(ossim_uint32 resLevel, ossimDpt& result) const;
60  virtual void getDecimationFactors(std::vector<ossimDpt>& decimations) const;
61 
62 protected:
66  const double& frame_time_seconds = 0);
67 
69  virtual void initialize();
70 
71  double m_frameTime;
74 
75  TYPE_DATA
76 };
77 
78 #endif
Contains class declaration for ossimVideoImageSource.
#define OSSIMDLLEXPORT
Pure virtual base class for all video sources – analogous to ossimImageSource.
virtual ossim_uint32 getImageTileHeight() const
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
virtual ossim_uint32 getNumberOfDecimationLevels() const
Video frames have no overviews, only full-res.
ossimRefPtr< ossimImageData > m_tile
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimIrect m_frameRect
Always (0,0) based.
unsigned int ossim_uint32
double m_frameTime
seconds from start of video
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if not defined...
virtual ossim_uint32 getImageTileWidth() const
ossimScalarType
Pure virtual base class for all video data.
virtual ossim_uint32 getNumberOfInputBands() const
Currently assuming all videos are 8-bit RGB.
virtual void initialize()=0
8 bit unsigned integer
virtual bool canConnectMyInputTo(ossim_int32 myInputIndex, const ossimConnectableObject *object) const =0
required to be overriden by derived classes
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual void getDecimationFactor(ossim_uint32 resLevel, ossimDpt &result) const
Will return the decimation factor for the given resolution level.
virtual void getDecimationFactors(std::vector< ossimDpt > &decimations) const
Will return an array of all decimations for each resolution level.
int ossim_int32
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)