GL Studio C++ Runtime API
gls_map_aif_view_manager.h
Go to the documentation of this file.
1 /*! \file
2  \brief The AIF View Manager class.
3 
4  \par Copyright Information
5 
6  Copyright (c) 2008 The DiSTI Corporation.<br>
7  11486 Corporate Blvd; Suite 190<br>
8  Orlando, Florida 32817<br>
9  USA<br>
10  <br>
11  All rights reserved.<br>
12 
13  This Software contains proprietary trade secrets of DiSTI and may not be
14 reproduced, in whole or part, in any form, or by any means of electronic,
15 mechanical, or otherwise, without the written permission of DiSTI. Said
16 permission may be derived through the purchase of applicable DiSTI product
17 licenses which detail the distribution rights of this content and any
18 Derivative Works based on this or other copyrighted DiSTI Software.
19 
20  NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND,
21 AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT
22 PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES
23 AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
24 IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A
25 PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.
26 
27  LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
28 IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
29 INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
30 DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
31 INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
32 INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY
33 OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT
34 EXCEED FIVE DOLLARS (US$5.00).
35 
36  The aforementioned terms and restrictions are governed by the laws of the
37 State of Florida and the United States of America.
38 
39 */
40 #ifndef AIF_VIEW_MANAGER_
41 #define AIF_VIEW_MANAGER_
42 
44 #include <string>
45 #include <vector>
46 
47 namespace disti
48 {
49 class AifMapChartCell;
50 
52 {
53 public:
54  AIFViewManager(){};
55  virtual ~AIFViewManager();
56 
57  /** The class containing the information found in a data query
58  * Contains the resolution and name of the overlay returned from the query
59  */
60  class FoundData
61  {
62  public:
63  double _res;
64  std::string _name;
65  };
66 
67  /** Vector used in data query returns
68  */
69  typedef std::vector<FoundData> OverlayAtResolution;
70 
71  /** Registers an overlay at given heights
72  * \param heightLower lower end of the height range for this overlay
73  * \param heightUpper upper end of the height range for this overlay
74  * \param overlayName name of the overlay
75  * \param resolution resolution of the overlay
76  */
77  virtual void RegisterOverlay( double heightLower, double heightUpper,
78  const std::string overlayName,
79  const double resolution );
80 
81  /** Removes an overlay from the registry
82  * \param overlayName name of the overlay to be removed
83  * \param resolution resolution of the overlay to be removed
84  */
85  virtual void UnregisterOverlay( const std::string overlayName,
86  const double resolution );
87 
88  /** Queries the registry for all overlays which are active at the given height
89  * \param height height at which to find overlays
90  * \param result A vector containing the active overlays
91  */
92  virtual void QueryCollectionAtHeight( const double height, AIFViewManager::OverlayAtResolution& result );
93 
94 protected:
95  class RangeEntry
96  {
97  public:
98  double _h1;
99  double _h2;
100  double _res;
101  std::string _name;
102  };
103 
104  std::vector<RangeEntry*> _cells;
105 };
106 
107 } // namespace disti
108 #endif
The disti::GlsMapChartDataSource class.
virtual void RegisterOverlay(double heightLower, double heightUpper, const std::string overlayName, const double resolution)
virtual void QueryCollectionAtHeight(const double height, AIFViewManager::OverlayAtResolution &result)
Definition: gls_map_aif_view_manager.h:51
Definition: gls_map_aif_view_manager.h:95
virtual void UnregisterOverlay(const std::string overlayName, const double resolution)
Definition: gls_map_aif_view_manager.h:60
std::vector< FoundData > OverlayAtResolution
Definition: gls_map_aif_view_manager.h:69
Definition: bmpimage.h:46