OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimMapCompositionSource.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Garrett Potts
9 //
10 //*************************************************************************
11 // $Id: ossimMapCompositionSource.h 15766 2009-10-20 12:37:09Z gpotts $
12 #ifndef ossimMapCompositionSource_HEADER
13 #define ossimMapCompositionSource_HEADER
17 #include <ossim/font/ossimFont.h>
19 
20 class ossimFont;
21 class ossimMapProjection;
22 class ossimU8ImageData;
23 
25 {
26 public:
28  {
32  };
33 
35 
36  virtual ossimScalarType getOutputScalarType() const;
37  virtual ossim_uint32 getNumberOfOutputBands() const;
38 
39  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect,
40  ossim_uint32 resLevel=0);
41 
42 
44 
45  void getViewWidthHeight(ossimIpt& widthHeight)const;
46 
47  void setViewWidthHeight(const ossimIpt& widthHeight);
48 
49  // all borders here
50  virtual ossim_int32 getTopBorderLength()const;
51  virtual ossim_int32 getBottomBorderLength()const;
52  virtual ossim_int32 getLeftBorderLength()const;
53  virtual ossim_int32 getRightBorderLength()const;
54 
55  virtual void setTopBorderLength(ossim_int32 length);
56  virtual void setBottomBorderLength(ossim_int32 length);
57  virtual void setLeftBorderLength(ossim_int32 length);
58  virtual void setRightBorderLength(ossim_int32 length);
59 
60  //all spacing here
61  void setGeographicSpacingLat(double value);
62  void setGeographicSpacingLon(double value);
63  void setMeterSpacingX(double value);
64  void setMeterSpacingY(double value);
65  void setMeterSpacing(double x, double y);
66  void setGeographicSpacing(double lat, double lon);
67 
70 
71  // All geographic formatting here
76 
77  virtual void setGeographicLabelFormat(const ossimString format);
78  virtual void setTopGeographicLabelFormat(const ossimString& format);
79  virtual void setBottomGeographicLabelFormat(const ossimString& format);
80  virtual void setLeftGeographicLabelFormat(const ossimString& format);
81  virtual void setRightGeographicLabelFormat(const ossimString& format);
82 
83  // All font funtions here.
84  virtual ossimString getTitle()const;
85  virtual ossimRgbVector getTitleColor()const;
86 
87  virtual void setTitleFont(const ossimFontInformation& fontInfo);
88  virtual void setTitleColor(const ossimRgbVector& color);
89  virtual void setTitle(const ossimString& s);
90  virtual void setGeographicTopLabelFont(const ossimFontInformation& fontInfo);
91  virtual void setGeographicBottomLabelFont(const ossimFontInformation& fontInfo);
92  virtual void setGeographicLeftLabelFont(const ossimFontInformation& fontInfo);
93  virtual void setGeographicRightLabelFont(const ossimFontInformation& fontInfo);
94 
95  virtual void setMeterTopLabelFont(const ossimFontInformation& fontInfo);
96  virtual void setMeterBottomLabelFont(const ossimFontInformation& fontInfo);
97  virtual void setMeterLeftLabelFont(const ossimFontInformation& fontInfo);
98  virtual void setMeterRightLabelFont(const ossimFontInformation& fontInfo);
99 
100  virtual ossimFontInformation getTitleFont()const;
109 
110  // All color funtions here
111  virtual ossimRgbVector getBorderColor()const;
112  virtual void setBorderColor(const ossimRgbVector& color);
113 
114  virtual ossimRgbVector getGeographicGridColor()const;
115  virtual ossimRgbVector getMeterGridColor()const;
120 
121  virtual void setGeographicGridColor(const ossimRgbVector& color);
122  virtual void setTopGeographicLabelColor(const ossimRgbVector& color);
123  virtual void setBottomGeographicLabelColor(const ossimRgbVector& color);
124  virtual void setLeftGeographicLabelColor(const ossimRgbVector& color);
125  virtual void setRightGeographicLabelColor(const ossimRgbVector& color);
126  virtual void setGeographicLabelColor(const ossimRgbVector& color);
127 
128  virtual ossimRgbVector getTopMeterLabelColor()const;
130  virtual ossimRgbVector getLeftMeterLabelColor()const;
132 
133  virtual void setTopMeterLabelColor(const ossimRgbVector& color);
134  virtual void setBottomMeterLabelColor(const ossimRgbVector& color);
135  virtual void setLeftMeterLabelColor(const ossimRgbVector& color);
136  virtual void setRightMeterLabelColor(const ossimRgbVector& color);
137  virtual void setMeterLabelColor(const ossimRgbVector& color);
138  virtual void setMeterGridColor(const ossimRgbVector& color);
139 
140  // All grid types here
141  virtual void setMeterGridType(ossimGridLineType gridType);
142  virtual void setGeographicGridType(ossimGridLineType gridType);
143  virtual void setBorderColor(ossimRgbVector& color);
144 
146  virtual ossimGridLineType getMeterGridType()const;
147 
148  // all grid flags here
149  void setGeographicTickMarkFlag(bool flag);
150  void setTopGeographicTickMarkFlag(bool flag);
151  void setBottomGeographicTickMarkFlag(bool flag);
152  void setLeftGeographicTickMarkFlag(bool flag);
153  void setRightGeographicTickMarkFlag(bool flag);
154  void setTopGeographicLabelFlag(bool flag);
155  void setBottomGeographicLabelFlag(bool flag);
156  void setLeftGeographicLabelFlag(bool flag);
157  void setRightGeographicLabelFlag(bool flag);
158 
159  virtual bool getTopGeographicTickMarkFlag()const;
160  virtual bool getBottomGeographicTickMarkFlag()const;
161  virtual bool getLeftGeographicTickMarkFlag()const;
162  virtual bool getRightGeographicTickMarkFlag()const;
163  virtual bool getTopGeographicLabelFlag()const;
164  virtual bool getBottomGeographicLabelFlag()const;
165  virtual bool getLeftGeographicLabelFlag()const;
166  virtual bool getRightGeographicLabelFlag()const;
167 
168  void setMeterTickMarkFlag(bool flag);
169  virtual void setTopMeterTickMarkFlag(bool flag);
170  virtual void setBottomMeterTickMarkFlag(bool flag);
171  virtual void setLeftMeterTickMarkFlag(bool flag);
172  virtual void setRightMeterTickMarkFlag(bool flag);
173  virtual void setTopMeterLabelFlag(bool flag);
174  virtual void setBottomMeterLabelFlag(bool flag);
175  virtual void setLeftMeterLabelFlag(bool flag);
176  virtual void setRightMeterLabelFlag(bool flag);
177 
178  virtual bool getTopMeterTickMarkFlag()const;
179  virtual bool getBottomMeterTickMarkFlag()const;
180  virtual bool getLeftMeterTickMarkFlag()const;
181  virtual bool getRightMeterTickMarkFlag()const;
182  virtual bool getTopMeterLabelFlag()const;
183  virtual bool getBottomMeterLabelFlag()const;
184  virtual bool getLeftMeterLabelFlag()const;
185  virtual bool getRightMeterLabelFlag()const;
186  virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0)const;
187 
188  virtual void initialize();
189 
190  virtual void setProperty(ossimRefPtr<ossimProperty> property);
191  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
192  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
193 
194  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0)const;
195  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
196 
197 protected:
198  virtual ~ossimMapCompositionSource();
202 
207 
209 
212 
213  // title info
214  //
219 
220  // grid label colors
221  //
230 
231  // grid label font
232  //
241 
250 
251  // grid label dms format strings
252  //
257 
258  // grid label flag
259  //
264 
269 
274 
279 
280 
285 
286  // geo-tick spacing in lat lon
288 
289  // tick spacing in meter units
291 
293 
298  virtual void drawAnnotations(ossimRefPtr<ossimImageData> tile);
299 
300  virtual void computeBorderRects();
301  virtual void drawBorders();
302  virtual void addGridLabels();
303 
304  virtual void addGeographicTopGridLabels();
305  virtual void addGeographicBottomGridLabels();
306  virtual void addGeographicLeftGridLabels();
307  virtual void addGeographicRightGridLabels();
308 
309  virtual void addGeographicGridLines();
310  virtual void addGeographicGridReseaux();
311 
312  virtual void addMeterGridLabels();
313 
314  virtual void addMeterGridLines();
315  virtual void addMeterGridReseaux();
316 
317 
318  virtual void addTitle();
319 
320  virtual void layoutAnnotations();
321 
322  virtual void addFixedAnnotation(ossimAnnotationObject* obj);
323 
324  virtual void deleteFixedAnnotations();
325 
326  ossimIrect getViewingRect()const;
327 
330  const ossimMapProjection* inputMapProjection() const;
331 
332 // For RTTI
333 TYPE_DATA
334 };
335 #endif /* #ifndef ossimMapCompositionSource_HEADER */
336 
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void setTopMeterTickMarkFlag(bool flag)
ossim_uint32 x
virtual void setMeterRightLabelFont(const ossimFontInformation &fontInfo)
ossimAnnotationSource::AnnotationObjectListType theFixedAnnotationList
virtual void setMeterLabelColor(const ossimRgbVector &color)
virtual ossim_int32 getLeftBorderLength() const
virtual ossimRgbVector getRightGeographicLabelColor() const
virtual void setMeterTopLabelFont(const ossimFontInformation &fontInfo)
virtual void setGeographicBottomLabelFont(const ossimFontInformation &fontInfo)
virtual void setRightBorderLength(ossim_int32 length)
virtual ossimFontInformation getGeographicLeftLabelFontInfo() const
virtual ossimFontInformation getMeterTopLabelFontInfo() const
ossimFontInformation theMeterBottomLabelFontInfo
ossimRefPtr< ossimFont > theMeterLeftLabelFont
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
Represents serializable keyword/value map.
virtual void setGeographicGridType(ossimGridLineType gridType)
ossim_uint32 y
virtual bool getBottomGeographicTickMarkFlag() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual bool getLeftMeterTickMarkFlag() const
virtual ossimString getRightGeographicLabelFormat() const
virtual void setBottomMeterTickMarkFlag(bool flag)
virtual ossimFontInformation getGeographicRightLabelFontInfo() const
ossimFontInformation theGeographicTopLabelFontInfo
virtual void addFixedAnnotation(ossimAnnotationObject *obj)
virtual ossimGridLineType getGeographicGridType() const
virtual void setRightGeographicLabelColor(const ossimRgbVector &color)
virtual void setMeterGridType(ossimGridLineType gridType)
ossimRefPtr< ossimFont > theMeterTopLabelFont
virtual void setRightMeterLabelColor(const ossimRgbVector &color)
virtual void setGeographicLabelFormat(const ossimString format)
virtual ossimRgbVector getGeographicGridColor() const
virtual ossimFontInformation getMeterRightLabelFontInfo() const
virtual ossimRgbVector getTopGeographicLabelColor() const
std::vector< ossimRefPtr< ossimAnnotationObject > > AnnotationObjectListType
virtual bool getLeftGeographicLabelFlag() const
virtual bool getBottomMeterTickMarkFlag() const
virtual ossimFontInformation getGeographicBottomLabelFontInfo() const
virtual void setBottomGeographicLabelColor(const ossimRgbVector &color)
virtual ossimRgbVector getBorderColor() const
virtual void setLeftGeographicLabelFormat(const ossimString &format)
virtual ossimString getLeftGeographicLabelFormat() const
virtual void setTopMeterLabelColor(const ossimRgbVector &color)
virtual void setMeterLeftLabelFont(const ossimFontInformation &fontInfo)
ossimFontInformation theMeterRightLabelFontInfo
virtual void setLeftMeterTickMarkFlag(bool flag)
ossimRefPtr< ossimFont > theGeographicTopLabelFont
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &tileRect, ossim_uint32 resLevel=0)
void setViewWidthHeight(const ossimIpt &widthHeight)
virtual ossimRgbVector getBottomMeterLabelColor() const
virtual ossimRgbVector getMeterGridColor() const
ossimFontInformation theGeographicLeftLabelFontInfo
virtual bool getTopGeographicTickMarkFlag() const
virtual ossim_int32 getTopBorderLength() const
virtual ossimRgbVector getRightMeterLabelColor() const
virtual bool getRightMeterTickMarkFlag() const
ossimFontInformation theMeterLeftLabelFontInfo
virtual void setTopGeographicLabelColor(const ossimRgbVector &color)
ossimRefPtr< ossimFont > theGeographicBottomLabelFont
ossimFontInformation theMeterTopLabelFontInfo
virtual void setBottomMeterLabelColor(const ossimRgbVector &color)
virtual bool getBottomMeterLabelFlag() const
virtual void setGeographicLeftLabelFont(const ossimFontInformation &fontInfo)
virtual void setTitle(const ossimString &s)
ossimFontInformation theGeographicRightLabelFontInfo
virtual void setRightGeographicLabelFormat(const ossimString &format)
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual bool getTopGeographicLabelFlag() const
ossimRefPtr< ossimFont > theGeographicLeftLabelFont
unsigned int ossim_uint32
virtual ossimFontInformation getMeterLeftLabelFontInfo() const
virtual void setGeographicRightLabelFont(const ossimFontInformation &fontInfo)
virtual void setGeographicTopLabelFont(const ossimFontInformation &fontInfo)
virtual ossim_int32 getRightBorderLength() const
ossimRefPtr< ossimFont > theTitleFont
virtual ossimRgbVector getTopMeterLabelColor() const
virtual void setLeftMeterLabelColor(const ossimRgbVector &color)
virtual void setTitleColor(const ossimRgbVector &color)
virtual ossimGridLineType getMeterGridType() const
virtual ossimRgbVector getTitleColor() const
virtual void setBottomGeographicLabelFormat(const ossimString &format)
virtual bool getRightGeographicLabelFlag() const
void setMeterSpacing(double x, double y)
virtual ossim_int32 getBottomBorderLength() const
ossimScalarType
virtual ossimRgbVector getLeftGeographicLabelColor() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossimRefPtr< ossimFont > theMeterBottomLabelFont
virtual void setRightMeterTickMarkFlag(bool flag)
virtual void setLeftMeterLabelFlag(bool flag)
virtual void setBottomMeterLabelFlag(bool flag)
virtual bool getTopMeterTickMarkFlag() const
virtual void setRightMeterLabelFlag(bool flag)
virtual void setTopMeterLabelFlag(bool flag)
virtual bool getBottomGeographicLabelFlag() const
virtual void setBottomBorderLength(ossim_int32 length)
virtual bool getRightGeographicTickMarkFlag() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
void setGeographicSpacing(double lat, double lon)
ossimRefPtr< ossimFont > theMeterRightLabelFont
virtual ossimString getBottomGeographicLabelFormat() const
virtual void setMeterGridColor(const ossimRgbVector &color)
virtual ossimRgbVector getLeftMeterLabelColor() const
virtual ossimFontInformation getGeographicTopLabelFontInfo() const
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual void setLeftBorderLength(ossim_int32 length)
virtual void setMeterBottomLabelFont(const ossimFontInformation &fontInfo)
ossimFontInformation theGeographicBottomLabelFontInfo
const ossimMapProjection * inputMapProjection() const
Fetches the input connection&#39;s image geometry and verifies that it is a map projection.
virtual void setGeographicGridColor(const ossimRgbVector &color)
virtual void setBorderColor(const ossimRgbVector &color)
virtual ossimRgbVector getBottomGeographicLabelColor() const
virtual void setGeographicLabelColor(const ossimRgbVector &color)
virtual void setLeftGeographicLabelColor(const ossimRgbVector &color)
virtual ossimFontInformation getTitleFont() const
ossimRefPtr< ossimFont > theGeographicRightLabelFont
virtual void drawAnnotations(ossimRefPtr< ossimImageData > tile)
virtual void setTopBorderLength(ossim_int32 length)
virtual void setTitleFont(const ossimFontInformation &fontInfo)
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossimString getTopGeographicLabelFormat() const
virtual void setTopGeographicLabelFormat(const ossimString &format)
virtual ossimString getTitle() const
int ossim_int32
virtual ossimFontInformation getMeterBottomLabelFontInfo() const
virtual bool getLeftGeographicTickMarkFlag() const