OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimWatermarkFilter.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 // Copyright (c) 2005, David Burken, all rights reserved.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: David Burken
9 //
10 // Description: Class declaration of ossimWatermarkFilter.
11 // Applies an image or watermark to image. Positioning is based on mode.
12 // Density is base on alpha weight.
13 //
14 //----------------------------------------------------------------------------
15 // $Id: ossimWatermarkFilter.h 16276 2010-01-06 01:54:47Z gpotts $
16 #ifndef ossimWatermarkFilter_HEADER
17 #define ossimWatermarkFilter_HEADER
18 
20 #include <ossim/base/ossimString.h>
22 #include <ossim/base/ossimIrect.h>
24 
32 {
33 public:
34 
36  {
37  UPPER_LEFT = 0,
38  UPPER_CENTER = 1,
39  UPPER_RIGHT = 2,
40  CENTER = 3,
41  LOWER_LEFT = 4,
42  LOWER_CENTER = 5,
43  LOWER_RIGHT = 6,
44  UNIFORM_DENSE = 7,
45  UNIFORM_SPARSE = 8,
46  END = 9 //< Number of modes.
47  };
48 
51 
53  virtual ossimString getShortName() const;
54 
56  virtual ossimString getLongName() const;
57 
59  virtual ossimString getDescription() const;
60 
74  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tile_rect,
75  ossim_uint32 resLevel=0);
76 
80  virtual void initialize();
81 
94  virtual bool saveState(ossimKeywordlist& kwl,
95  const char* prefix=0)const;
96 
116  virtual bool loadState(const ossimKeywordlist& kwl,
117  const char* prefix=0);
118 
134  const ossimString& name)const;
135 
142  virtual void setProperty(ossimRefPtr<ossimProperty> property);
143 
152  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
153 
159  void getModeList(vector<ossimString>& list) const;
160 
162  ossimWatermarkFilter::WatermarkMode getMode() const;
163 
165  ossimString getModeString() const;
166 
172  void setFilename(const ossimFilename& file);
173 
179  void setMode(const ossimString& mode);
180 
187  void setWeight(ossim_float64 weight);
188 
194  virtual std::ostream& print(std::ostream& out) const;
195 
196 protected:
198  virtual ~ossimWatermarkFilter();
199 
206  bool allocate();
207 
215  bool openWatermarkFile();
216 
217  // void verifyEnable();
218 
223  template <class T> void fill(T dummy);
224 
230  void getIntersectingRects(vector<ossimIrect>& rects);
231 
238  void getUpperLeftRect(vector<ossimIrect>& rects);
239 
246  void getUpperCenterRect(vector<ossimIrect>& rects);
247 
254  void getUpperRightRect(vector<ossimIrect>& rects);
255 
262  void getCenterRect(vector<ossimIrect>& rects);
263 
270  void getLowerLeftRect(vector<ossimIrect>& rects);
271 
278  void getLowerCenterRect(vector<ossimIrect>& rects);
279 
286  void getLowerRightRect(vector<ossimIrect>& rects);
287 
296  void getUniformDenseRects(vector<ossimIrect>& rects);
297 
307  void getUniformSparceRects(vector<ossimIrect>& rects);
308 
311 
314 
317 
320 
323 
326 
329 
332 
335 
341 
342 
343 TYPE_DATA
344 
345 }; // End of class ossimWatermarkFilter.
346 
347 #endif /* #ifndef ossimWatermarkFilter_HEADER */
virtual void setProperty(ossimRefPtr< ossimProperty > property)
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
ossimScalarType theInputScalarType
The input scalar type.
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
WatermarkMode theMode
The filter mode.
double ossim_float64
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
ossim_uint32 theInputNumberOfBands
The number of input bands.
virtual ossimString getDescription() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimRefPtr< ossimImageData > theWatermark
Tile storage for watermark image.
unsigned int ossim_uint32
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossimString getLongName() const
Definition: ossimObject.cpp:53
ossim_uint32 theWatermarkNumberOfBands
The number of watermark bands.
ossimRefPtr< ossimImageData > theTile
The returned tile.
ossimScalarType
ossimIrect theInputBoundingRect
The bounding rectangle of the input connection.
class ossimWatermarkFilter Applies an image or watermark to image.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
ossimFilename theFilename
File name of watermark image.
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
#define END
ossim_float64 theWatermarkWeight
Normalized between 0.0 and 1.0.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
bool theDirtyFlag
Set in the initialize method this instructs the getTile that something has changes and it need to cal...
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)