OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimWms.h
Go to the documentation of this file.
1 // $Id$
2 
3 #ifndef ossimWms_HEADER
4 #define ossimWms_HEADER
5 
8 
9 #include <queue>
10 class ossimWmsStyle;
12 
13 typedef std::vector<ossimString> ossimWmsStringListType;
14 
15 typedef std::vector<ossimRefPtr<ossimWmsStyle> > ossimWmsStyleListType;
16 typedef const std::vector<ossimRefPtr<ossimWmsStyle> > ossimConstWmsStyleListType;
17 typedef std::vector<ossimRefPtr<ossimWmsLayer> > ossimWmsLayerListType;
18 typedef const std::vector<ossimRefPtr<ossimWmsLayer> > ossimConstWmsLayerListType;
19 
21 {
22 public:
24  {
25  clearFields();
26  }
27  virtual bool read(ossimRefPtr<ossimXmlNode> node);
28 
30  {
31  return theFormatTypes;
32  }
34  {
35  return theFormatTypes;
36  }
37  bool hasFormats()const
38  {
39  return theFormatTypes.size() > 0;
40  }
45  bool hasFormat(const ossimString& format, bool caseSensitive=true)const;
46 
51  bool containsFormat(const ossimString& format, bool caseSensitive=true)const;
52  void clearFields()
53  {
54  theUrl = "";
55  thePostUrl = "";
56  theFormatTypes.clear();
57  }
58  const ossimString& getUrl()const
59  {
60  return theUrl;
61  }
62  const ossimString& getPostUrl()const
63  {
64  return thePostUrl;
65  }
66 protected:
70 };
71 
73 {
74 public:
76  {
77  }
78  virtual bool read(ossimRefPtr<ossimXmlNode> node);
79 
80  const ossimString& getUrl()const
81  {
82  return theUrl;
83  }
84 protected:
86 
87 };
88 
90 {
91 public:
93  {
94  }
95  virtual bool read(ossimRefPtr<ossimXmlNode> node);
96 
98  {
99  return theGetCapabilities;
100  }
102  {
103  return theGetCapabilities;
104  }
106  {
107  return theGetMap;
108  }
110  {
111  return theGetMap;
112  }
113 
114 protected:
117 };
119 {
120 public:
122  {}
123 protected:
130 };
131 
133 {
134 public:
135  virtual bool read(ossimRefPtr<ossimXmlNode> /* node */ )
136  {
137  return true;
138  }
139 
140 protected:
147 };
148 
150 {
151 public:
153  {
154  }
155 
156  virtual bool read(ossimRefPtr<ossimXmlNode> /* xml */ )
157  {
158  return true;
159  }
160 
161 protected:
165  std::vector<ossimString> theKeywordList;
170 };
171 
172 
174 {
175 public:
177  {
178  }
179  virtual bool read(ossimRefPtr<ossimXmlNode> node);
180 
181  void clearFields()
182  {
183  theDefaultValue = "";
184  theTimes.clear();
185  }
186 protected:
188  std::vector<ossimString> theTimes;
189 };
190 
191 
193 {
194 public:
196  {
197  }
198 
199 protected:
202 };
203 
205 {
206 public:
207 protected:
210 };
211 
213 {
214 public:
216  {}
217  virtual bool read(ossimRefPtr<ossimXmlNode> node);
218  void clearFields()
219  {
220  theName = "";
221  theTitle = "";
222  theAbstract = "";
223  }
224 
225  const ossimString& getName()const
226  {
227  return theName;
228  }
229 
230  const ossimString& getTitle()const
231  {
232  return theTitle;
233  }
234 
235  const ossimString& getAbstract()const
236  {
237  return theAbstract;
238  }
239 protected:
243 };
244 
246 {
247 public:
248  virtual bool read(ossimRefPtr<ossimXmlNode> node);
249 
250  void clearFields()
251  {
252  theMin = 0.0;
253  theMax = 0.0;
254  }
255  void getMinMax(double& min, double& max)
256  {
257  min = theMin;
258  max = theMax;
259  }
260  double getMin()const
261  {
262  return theMin;
263  }
264  double getMax()const
265  {
266  return theMax;
267  }
268 protected:
269  double theMin;
270  double theMax;
271 };
272 
274 {
275 public:
277  {
278  }
279  virtual bool read(ossimRefPtr<ossimXmlNode> node);
280  void clearFields()
281  {
282  theSrs = "";
283  theMinX = 0.0;
284  theMinY = 0.0;
285  theMaxX = 0.0;
286  theMaxY = 0.0;
287  }
288  bool isGeographic()const
289  {
290  return theSrs.contains("4326");
291  }
292  const ossimString& getSrs()const
293  {
294  return theSrs;
295  }
296  double getMinX()const
297  {
298  return theMinX;
299  }
300  double getMinY()const
301  {
302  return theMinY;
303  }
304  double getMaxX()const
305  {
306  return theMaxX;
307  }
308  double getMaxY()const
309  {
310  return theMaxY;
311  }
312 protected:
314  double theMinX;
315  double theMinY;
316  double theMaxX;
317  double theMaxY;
318 };
319 
321 {
322 public:
323 
325  :theParent(0)
326  {
327  clearFields();
328  }
329  virtual bool read(ossimRefPtr<ossimXmlNode> node);
330 
331  void clearFields()
332  {
333  theName = "";
334  theTitle = "";
335  theAbstract = "";
336  theSrs = "";
337  theTimeExtent = 0;
338  theDimensionUnits = "";
339  theDimensionName = "";
340  theBoundingBox = 0;
341  theScaleHint = 0;
342  theStyles.clear();
343  theLayers.clear();
344  }
345  const ossimWmsLayer* getParent()const
346  {
347  return theParent;
348  }
349 
351  {
352  return theParent;
353  }
354 
355  void setParent(ossimWmsLayer* parent)
356  {
357  theParent = parent;
358  }
360  {
361  const ossimWmsLayer* currentLayer = this;
362 
363  while(currentLayer)
364  {
365  if(currentLayer->theBoundingBox.valid())
366  {
367  return currentLayer->theBoundingBox;
368  }
369  currentLayer = currentLayer->theParent;
370  }
371 
372  return 0;
373  }
374 
375  void getNamedLayers(ossimWmsLayerListType& namedLayers);
376 
377  const ossimString& getName()const
378  {
379  return theName;
380  }
381  const ossimString& getTitle()const
382  {
383  return theTitle;
384  }
385  const ossimString& getAbstract()const
386  {
387  return theAbstract;
388  }
389  const ossimString& getSrs()const
390  {
391  return theSrs;
392  }
394  {
395  return theTimeExtent;
396  }
398  {
399  return theDimensionUnits;
400  }
402  {
403  return theDimensionName;
404  }
406  {
407  return theBoundingBox;
408  }
410  {
411  return theScaleHint;
412  }
414  {
415  return theStyles;
416  }
418  {
419  return theStyles;
420  }
422  {
423  return theLayers;
424  }
426  {
427  return theLayers;
428  }
429 
431  {
432  return (ossim_uint32)theLayers.size();
433  }
435  {
436  return (ossim_uint32)theStyles.size();
437  }
438 protected:
451 };
452 
454 {
455 public:
456  virtual bool read(const ossimRefPtr<ossimXmlNode> node);
457  void getNamedLayers(ossimWmsLayerListType& layers);
459  {
460  return theRequest;
461  }
463  {
464  return theRequest;
465  }
466 protected:
468  std::vector<ossimRefPtr<ossimWmsLayer> > theLayers;
469 };
470 
472 {
473 public:
475  {
476 
477  }
478 
479  bool read(const std::string& inString);
480  virtual bool read(ossimRefPtr<ossimXmlNode> node);
481  void clearFields()
482  {
483  theVersion = "";
484  theCapability=0;
485  }
487  {
488  return theCapability;
489  }
491  {
492  return theCapability;
493  }
494 
495  ossimRefPtr<ossimWmsGetMap> getRequestGetMap();
496  const ossimRefPtr<ossimWmsGetMap> getRequestGetMap()const;
497 
498  ossimRefPtr<ossimWmsGetCapabilities> getRequestGetCapabilities();
499  const ossimRefPtr<ossimWmsGetCapabilities> getRequestGetCapabilities()const;
500 
501 protected:
504 };
505 
506 #endif
ossimString theName
Definition: ossimWms.h:162
ossimString theAddressType
Definition: ossimWms.h:124
const ossimString & getPostUrl() const
Definition: ossimWms.h:62
const ossimString & getUrl() const
Definition: ossimWms.h:80
ossimString theOnlineResource
Definition: ossimWms.h:166
std::vector< ossimRefPtr< ossimWmsLayer > > ossimWmsLayerListType
Definition: ossimWms.h:17
const std::vector< ossimRefPtr< ossimWmsStyle > > ossimConstWmsStyleListType
Definition: ossimWms.h:16
const ossimString & getName() const
Definition: ossimWms.h:377
ossimWmsStringListType theFormatTypes
Definition: ossimWms.h:69
ossimString theDefaultValue
Definition: ossimWms.h:187
std::vector< ossimRefPtr< ossimWmsStyle > > ossimWmsStyleListType
Definition: ossimWms.h:15
bool isGeographic() const
Definition: ossimWms.h:288
const ossimRefPtr< ossimWmsScaleHint > getScaleHint() const
Definition: ossimWms.h:409
ossimString theCity
Definition: ossimWms.h:126
ossimString theAddress
Definition: ossimWms.h:125
std::vector< ossimString > ossimWmsStringListType
Definition: ossimWms.h:11
ossimString theTitle
Definition: ossimWms.h:163
bool valid() const
Definition: ossimRefPtr.h:75
const ossimRefPtr< ossimWmsBoundingBox > findBoundingBox() const
Definition: ossimWms.h:359
const ossimString & getName() const
Definition: ossimWms.h:225
const ossimRefPtr< ossimWmsBoundingBox > getBoundingBox() const
Definition: ossimWms.h:405
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
ossimString theFormat
Definition: ossimWms.h:208
const ossimWmsLayer * getParent() const
Definition: ossimWms.h:345
const ossimString & getDimensionName() const
Definition: ossimWms.h:401
const ossimRefPtr< ossimWmsRequest > getRequest() const
Definition: ossimWms.h:462
bool hasFormats() const
Definition: ossimWms.h:37
const std::vector< ossimRefPtr< ossimWmsLayer > > ossimConstWmsLayerListType
Definition: ossimWms.h:18
ossimString thePrimaryContactOrganization
Definition: ossimWms.h:142
void clearFields()
Definition: ossimWms.h:331
const ossimWmsStyleListType & getStyles() const
Definition: ossimWms.h:413
std::vector< ossimString > theKeywordList
Definition: ossimWms.h:165
ossimRefPtr< ossimWmsScaleHint > theScaleHint
Definition: ossimWms.h:448
void getMinMax(double &min, double &max)
Definition: ossimWms.h:255
ossimRefPtr< ossimWmsGetMap > getMap()
Definition: ossimWms.h:105
void clearFields()
Definition: ossimWms.h:181
virtual bool read(ossimRefPtr< ossimXmlNode >)
Definition: ossimWms.h:156
ossimString theName
Definition: ossimWms.h:440
double getMax() const
Definition: ossimWms.h:264
ossimString theUrl
Definition: ossimWms.h:67
void clearFields()
Definition: ossimWms.h:250
ossimString theCountry
Definition: ossimWms.h:129
ossimRefPtr< ossimWmsRequest > theRequest
Definition: ossimWms.h:467
ossimString theDimensionName
Definition: ossimWms.h:446
void clearFields()
Definition: ossimWms.h:218
const ossimString & getUrl() const
Definition: ossimWms.h:58
ossimWmsStyleListType & getStyles()
Definition: ossimWms.h:417
const ossimString & getDimensionUnits() const
Definition: ossimWms.h:397
unsigned int ossim_uint32
const ossimString & getSrs() const
Definition: ossimWms.h:389
ossimString theAbstract
Definition: ossimWms.h:442
ossimString theTitle
Definition: ossimWms.h:241
void clearFields()
Definition: ossimWms.h:52
ossimString theSrs
Definition: ossimWms.h:443
ossimString theContactVoiceTelephone
Definition: ossimWms.h:145
ossimRefPtr< ossimWmsBoundingBox > theBoundingBox
Definition: ossimWms.h:447
ossimWmsLayer * theParent
Definition: ossimWms.h:439
double getMinY() const
Definition: ossimWms.h:300
double getMaxY() const
Definition: ossimWms.h:308
ossimString theSrs
Definition: ossimWms.h:313
ossimRefPtr< ossimWmsGetCapabilities > theGetCapabilities
Definition: ossimWms.h:115
const ossimString & getSrs() const
Definition: ossimWms.h:292
const ossimRefPtr< ossimWmsTimeExtent > getTimeExtent()
Definition: ossimWms.h:393
ossim_uint32 getNumberOfChildren() const
Definition: ossimWms.h:430
ossimString theStateOrProvince
Definition: ossimWms.h:127
ossimWmsLayerListType & getLayers()
Definition: ossimWms.h:425
ossimString theContactPosition
Definition: ossimWms.h:143
const ossimWmsStringListType & getFormatTypes() const
Definition: ossimWms.h:33
ossimRefPtr< ossimWmsCapability > getCapability()
Definition: ossimWms.h:486
std::vector< ossimRefPtr< ossimWmsLayer > > theLayers
Definition: ossimWms.h:468
ossimString theUrl
Definition: ossimWms.h:85
ossimString theContactEmailAddress
Definition: ossimWms.h:146
const ossimString & getAbstract() const
Definition: ossimWms.h:385
ossimString theOnlineResourceHref
Definition: ossimWms.h:209
ossim_uint32 getNumberOfStyles() const
Definition: ossimWms.h:434
ossimString thePrimaryContactPerson
Definition: ossimWms.h:141
double getMinX() const
Definition: ossimWms.h:296
ossimString thePostCode
Definition: ossimWms.h:128
ossimString theName
Definition: ossimWms.h:240
ossimRefPtr< ossimWmsTimeExtent > theTimeExtent
Definition: ossimWms.h:444
ossimString theAbstract
Definition: ossimWms.h:164
ossimWmsStringListType & getFormatTypes()
Definition: ossimWms.h:29
const ossimString & getAbstract() const
Definition: ossimWms.h:235
ossimRefPtr< ossimWmsContactAdress > theContactAddress
Definition: ossimWms.h:144
#define max(a, b)
Definition: auxiliary.h:76
#define OSSIM_DLL
ossimWmsStyleListType theStyles
Definition: ossimWms.h:449
ossimString theFormat
Definition: ossimWms.h:200
ossimRefPtr< ossimWmsGetMap > theGetMap
Definition: ossimWms.h:116
double getMaxX() const
Definition: ossimWms.h:304
ossimString theAccessConstraints
Definition: ossimWms.h:169
ossimRefPtr< ossimWmsGetCapabilities > getCapabilities()
Definition: ossimWms.h:97
ossimRefPtr< ossimWmsContactInformation > theContactInformation
Definition: ossimWms.h:167
ossimRefPtr< ossimWmsRequest > getRequest()
Definition: ossimWms.h:458
ossimWmsLayerListType theLayers
Definition: ossimWms.h:450
ossimRefPtr< ossimWmsCapability > theCapability
Definition: ossimWms.h:503
ossimString theFees
Definition: ossimWms.h:168
ossimString theTitle
Definition: ossimWms.h:441
ossimString thePostUrl
Definition: ossimWms.h:68
double getMin() const
Definition: ossimWms.h:260
const ossimRefPtr< ossimWmsCapability > getCapability() const
Definition: ossimWms.h:490
const ossimString & getTitle() const
Definition: ossimWms.h:230
ossimString theAbstract
Definition: ossimWms.h:242
std::vector< ossimString > theTimes
Definition: ossimWms.h:188
ossimString theDimensionUnits
Definition: ossimWms.h:445
const ossimRefPtr< ossimWmsGetMap > getMap() const
Definition: ossimWms.h:109
const ossimString & getTitle() const
Definition: ossimWms.h:381
const ossimRefPtr< ossimWmsGetCapabilities > getCapabilities() const
Definition: ossimWms.h:101
ossimString theOnlineResourceHref
Definition: ossimWms.h:201
void setParent(ossimWmsLayer *parent)
Definition: ossimWms.h:355
virtual bool read(ossimRefPtr< ossimXmlNode >)
Definition: ossimWms.h:135
#define min(a, b)
Definition: auxiliary.h:75
const ossimWmsLayerListType & getLayers() const
Definition: ossimWms.h:421
ossimWmsLayer * getParent()
Definition: ossimWms.h:350