VR-Forces 5.0.1 Developer's Guide
 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 #include <osg/ref_ptr>
19 
20 namespace osg
21 {
22  class Geode;
23 }
24 
25 
26 #include <map>
27 
28 namespace makVrv
29 {
30  // Forward declarations.
31  class DtHeightMapDrawable;
32  class DtHeightMapManager;
33  class DtDe;
34 
46  {
47  protected:
48  typedef std::map< osg::observer_ptr<osg::Camera>, DtHeightMapManager* > MapCamerasToHeightMapManagers;
49 
50  public:
52  virtual ~DtHeightMapSuperManager();
53 
54  protected:
57 
58  private:
60  DtHeightMapSuperManager() = delete;
62  DtHeightMapSuperManager(const DtHeightMapSuperManager &other) = delete;
64  DtHeightMapSuperManager &operator=(const DtHeightMapSuperManager &other) = delete;
65 
66  public:
67 
68  static DtHeightMapSuperManager& instance(DtDe& de);
69 
71  virtual void setHeightMapResolution(float metersPerTexel);
72 
74  virtual float heightMapResolution() const;
75 
77  virtual void deleteAllHeightMapManagers();
78 
80  virtual int numHeightMapManagers() const;
81 
83  virtual bool flushInvalidCameras();
84 
86  virtual DtHeightMapManager* getOrCreateHeightMapManager(osg::RenderInfo& renderInfo);
87 
89  virtual void addUser();
90 
92  virtual void removeUser();
93 
94  protected:
95 
97  virtual void disconnectAllHeightMapManagers(void);
98 
99  protected:
100 
102 
104 
106 
109 
110  int myUsers;
111  };
112 
113 }
osg::ref_ptr< makVrv::DtHeightMapDrawable > myHeightMapDrawable
Definition: DtHeightMapSuperManager.h:108
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtDe & myDe
Definition: DtHeightMapSuperManager.h:101
std::map< osg::observer_ptr< osg::Camera >, DtHeightMapManager * > MapCamerasToHeightMapManagers
Definition: DtHeightMapSuperManager.h:48
float myHeightMapResolution
Definition: DtHeightMapSuperManager.h:105
MapCamerasToHeightMapManagers myHeightMapManagerMap
Definition: DtHeightMapSuperManager.h:103
Contains makVrv::DtVirtualBaseClass class.
A class to manage automatic periodic updating of a height map generated from the database dynamically...
Definition: DtHeightMapManager.h:95
Contains DLL export macros.
osg::ref_ptr< osg::Geode > myHeightMapGeode
Definition: DtHeightMapSuperManager.h:107
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
int myUsers
Definition: DtHeightMapSuperManager.h:110
A class to manage multiple DtHeightMapManager(s) (one per camera)
Definition: DtHeightMapSuperManager.h:45

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)