VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtHeightMapSuperManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/Camera>
17 #include <osg/observer_ptr>
18 
19 #include <map>
20 
21 namespace makVrv
22 {
23  // Forward declarations.
24  class DtHeightMapDrawable;
25  class DtHeightMapManager;
26  class DtDe;
27 
39  {
40  protected:
41  typedef std::map< osg::observer_ptr<osg::Camera>, DtHeightMapManager* > MapCamerasToHeightMapManagers;
42 
43  public:
45  virtual ~DtHeightMapSuperManager();
46 
47  protected:
50 
51  private:
53  DtHeightMapSuperManager() = delete;
55  DtHeightMapSuperManager(const DtHeightMapSuperManager &other) = delete;
57  DtHeightMapSuperManager &operator=(const DtHeightMapSuperManager &other) = delete;
58 
59  public:
60 
61  static DtHeightMapSuperManager& instance(DtDe& de);
62 
64  virtual void setHeightMapResolution(float metersPerTexel);
65 
67  virtual float heightMapResolution() const;
68 
70  virtual void deleteAllHeightMapManagers();
71 
73  virtual int numHeightMapManagers() const;
74 
76  virtual bool flushInvalidCameras();
77 
79  virtual DtHeightMapManager* getOrCreateHeightMapManager(osg::RenderInfo& renderInfo);
80 
82  virtual void addUser();
83 
85  virtual void removeUser();
86 
87  protected:
88 
90  virtual void disconnectAllHeightMapManagers(void);
91 
92  protected:
93 
95 
97 
99 
102 
103  int myUsers;
104  };
105 
106 }
osg::ref_ptr< makVrv::DtHeightMapDrawable > myHeightMapDrawable
Definition: DtHeightMapSuperManager.h:101
Virtual base class.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtDe & myDe
Definition: DtHeightMapSuperManager.h:94
std::map< osg::observer_ptr< osg::Camera >, DtHeightMapManager * > MapCamerasToHeightMapManagers
Definition: DtHeightMapSuperManager.h:41
float myHeightMapResolution
Definition: DtHeightMapSuperManager.h:98
MapCamerasToHeightMapManagers myHeightMapManagerMap
Definition: DtHeightMapSuperManager.h:96
Contains makVrv::DtVirtualBaseClass class.
A class to manage automatic periodic updating of a height map generated from the database dynamically...
Definition: DtHeightMapManager.h:94
Contains DLL export macros.
osg::ref_ptr< osg::Geode > myHeightMapGeode
Definition: DtHeightMapSuperManager.h:100
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
int myUsers
Definition: DtHeightMapSuperManager.h:103
A class to manage multiple DtHeightMapManager(s) (one per camera)
Definition: DtHeightMapSuperManager.h:38

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)