VR-Forces 4.1 Class Documentation
DtTacticalGraphicModelUpdaterManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <vrvOsg/vrvOsg.h>
15 
16 #include <matrix/vlTaitBryan.h>
17 
18 #include <boost/function.hpp>
19 #include <map>
20 namespace makVrv
21 {
22  class DtChannelManager;
23  class DtChannel;
24  class DtDe;
25  class DtTerrainPatch;
26 
31  {
32  public:
36  {
38  double viewResolution;
39 
40  DtTaitBryan orientation;
41 
42  bool operator==(const ChannelUpdateData& rhs)const
43  {
44  return ((channel == rhs.channel) &&
45  (viewResolution == rhs.viewResolution) &&
46  (orientation == rhs.orientation));
47  }
48 
49  bool operator!=(const ChannelUpdateData& rhs) const
50  {
51  return !(*this == rhs);
52  }
53  };
54 
56  typedef boost::function<void (ChannelUpdateData)> ChannelUpdateCallback;
57 
58  public:
61 
64 
67  static DtTacticalGraphicModelUpdaterManager& instance(DtDe& de);
68 
70  static void registerInstance(DtDe& de, DtTacticalGraphicModelUpdaterManager* anInstance);
71 
74  virtual void add(int identifier, ChannelUpdateCallback);
75 
77  virtual void remove(int);
78 
80  virtual bool isRegistered(int) const;
81 
83  virtual double viewResolution(DtChannel*);
84 
87  virtual ChannelUpdateData channelUpdateData(DtChannel*);
88 
89  protected:
92  virtual void slot_channelUpdated( DtChannelManager*, DtChannel* channel );
93 
96  virtual void slot_channelToBeDestroyed( DtChannelManager*, DtChannel* channel );
97 
100  void initializeTerrainInformation();
101 
104  virtual void terrainChanged(const DtTerrainPatch&);
105 
108  virtual double computeHighestTerrainPoint(DtChannel*) const;
109 
110  protected:
112 
113  typedef std::map<int, ChannelUpdateCallback> CallbacksList;
115 
118  typedef std::map<DtChannel*, ChannelUpdateData> ChannelUpdateDataMap;
120 
124 
128  };
129 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)