Fawkes API  Fawkes Development Version
generator.h
1 
2 /**************************************************************************
3  * generator.h - interface for generating arbitrary colormaps
4  *
5  * Created: Wed Mar 01 13:51:39 2006
6  * Copyright 2005-2008 Tim Niemueller [www.niemueller.de]
7  *
8  ***************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #ifndef _FIREVISION_FVUTILS_COLORMAP_GENERATOR_H__
25 #define _FIREVISION_FVUTILS_COLORMAP_GENERATOR_H__
26 
27 #include <fvutils/base/roi.h>
28 
29 #include <map>
30 #include <string>
31 
32 namespace firevision {
33 
34 class YuvColormap;
35 class Histogram;
36 
38 {
39 public:
40  virtual ~ColormapGenerator();
41 
42  virtual void set_buffer(unsigned char *buffer, unsigned int width, unsigned int height) = 0;
43  virtual YuvColormap *get_current() = 0;
44 
45  virtual void consider() = 0;
46  virtual void calc() = 0;
47  virtual void undo() = 0;
48  virtual void reset() = 0;
49  virtual void reset_undo() = 0;
50 
51  virtual bool has_histograms() = 0;
52  virtual std::map<hint_t, Histogram *> *get_histograms() = 0;
53 };
54 
55 } // end namespace firevision
56 
57 #endif
Interface for colormap generators.
Definition: generator.h:38
virtual bool has_histograms()=0
Check if this generator has histograms.
virtual void reset()=0
Reset the generator.
virtual ~ColormapGenerator()
Virtual empty destructor.
Definition: generator.cpp:79
virtual void set_buffer(unsigned char *buffer, unsigned int width, unsigned int height)=0
Set image buffer.
virtual void calc()=0
Calculate LUT.
virtual std::map< hint_t, Histogram * > * get_histograms()=0
Get histograms.
virtual void consider()=0
Considers the given buffer and extracts the needed information.
virtual void undo()=0
Undo last calls to consider().
virtual void reset_undo()=0
Reset undo buffer.
virtual YuvColormap * get_current()=0
Get the current colormap.
YUV Colormap.
Definition: yuvcm.h:36