OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimVideoImageHandler.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, GeoEye Analytics.
7 //
8 //*************************************************************************************************
9 // $Id$
10 #ifndef ossimVideoImageHandler_HEADER
11 #define ossimVideoImageHandler_HEADER
12 
16 #include <ossim/base/ossimRefPtr.h>
17 
18 //*************************************************************************************************
19 // CLASS DESCRIPTION:
21 //
25 //*************************************************************************************************
27 {
28 public:
29  virtual bool open() = 0;
30  virtual bool isOpen() const = 0;
31  virtual void close();
32 
34  virtual void initialize() = 0;
35 
36  // Returns list of all frames available in the video.
37  virtual void getEntryList(std::vector<ossim_uint32>& entryList) const;
38 
41  virtual bool setCurrentEntry(ossim_uint32 frame_number);
42 
43  virtual ossim_uint32 getCurrentEntry() const;
44  virtual ossim_uint32 getNumberOfEntries() const;
45 
46  virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
47  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
48  virtual ossim_uint32 getImageTileWidth() const { return getNumberOfSamples(); }
49  virtual ossim_uint32 getImageTileHeight() const { return getNumberOfLines(); }
50 
52  virtual ossim_uint32 getNumberOfInputBands() const { return 3; }
53  virtual ossim_uint32 getNumberOfOutputBands() const { return 3; }
54  virtual ossimScalarType getOutputScalarType() const { return OSSIM_UINT8; }
55 
56  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& rect, ossim_uint32 resLevel=0) = 0;
57 
59 
60  //**********************************************************************************************
61  // New methods declared first in this class:
62  //**********************************************************************************************
63  ossimRefPtr<ossimVideoHandler> getVideo() const { return m_video; }
64  ossimRefPtr<ossimVideoGeometry> getVideoGeometry() const { return m_videoGeometry; }
65 
66 protected:
68 
73 
74  TYPE_DATA
75 };
76 
77 #endif
virtual bool open()=0
Pure virtual open.
#define OSSIMDLLEXPORT
ossimRefPtr< ossimVideoGeometry > m_videoGeometry
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
int m_currentFrameNumber
This is the currently active entry.
ossimRefPtr< ossimVideoHandler > getVideo() const
ossimRefPtr< ossimImageData > m_tile
virtual ossim_uint32 getNumberOfInputBands() const
Currently assuming all videos are RGB.
virtual ossim_uint32 getImageTileWidth() const
Returns the tile width of the image or 0 if the image is not tiled.
virtual bool isOpen() const =0
Derived classes must implement this method to be concrete.
virtual ossim_uint32 getImageTileHeight() const
Returns the tile width of the image or 0 if the image is not tiled.
ossimRefPtr< ossimVideoGeometry > getVideoGeometry() const
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
#define TYPE_DATA
Definition: ossimRtti.h:339
OSSIM Image handler for video frames.
unsigned int ossim_uint32
ossimRefPtr< ossimVideoHandler > m_video
virtual void close()
Deletes the overview and clears the valid image vertices.
virtual ossim_uint32 getCurrentEntry() const
virtual ossim_uint32 getNumberOfEntries() const
virtual void getEntryList(std::vector< ossim_uint32 > &entryList) const
ossimScalarType
virtual void initialize()
initialize Does nothing in this class.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
8 bit unsigned integer
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)