VR-Forces 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) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
16 
17 #include <vrvCore/DtUniqueID.h>
20 
21 #include <osg/Camera>
22 #include <osg/observer_ptr>
23 #include <osg/ref_ptr>
24 
25 namespace osg
26 {
27  class Geode;
28 }
29 
30 
31 #include <map>
32 
33 namespace makVrv
34 {
35  // Forward declarations.
36  class DtHeightMapDrawable;
37  class DtHeightMapManager;
38  class DtDe;
39  class DtHeightMapManagerSignaler;
40 
41 
42  class DtChannelManager;
43  class DtChannel;
44 
56  {
57  public:
59  virtual ~DtHeightMapSuperManager();
60 
61  protected:
64 
65  private:
67  DtHeightMapSuperManager() = delete;
69  DtHeightMapSuperManager(const DtHeightMapSuperManager &other) = delete;
71  DtHeightMapSuperManager &operator=(const DtHeightMapSuperManager &other) = delete;
72 
73  public:
74  static DtHeightMapSuperManager& instance(DtDe& de);
75 
76  public:
77 
79  virtual int numHeightMapManagers() const;
80 
83  virtual osg::View* getCurrentView(osg::RenderInfo& renderInfo);
84 
86  virtual osg::Camera* getViewMainCamera(osg::View* view);
87 
89  virtual DtHeightMapManager* findHeightMapCamera(osg::RenderInfo& renderInfo);
90 
97  virtual const DtUniqueID addUser(const char* userName);
98 
101  virtual void removeUser(const DtUniqueID handle);
102 
103  protected:
104 
106  virtual void enableHeightMapManagers(bool enable);
107 
109  virtual void slot_channelCreated(DtChannelManager* channelManager, DtChannel* channel);
110 
112  virtual void slot_channelToBeDestroyed(DtChannelManager* channelManager, DtChannel* channel);
113 
116  virtual void notifyOfReleasedObjects();
117 
118  protected:
119 
121 
124 
125  std::map<DtUniqueID, std::string> myUsersMap;
127 
129 
130  DtThreadCameraStreamDataManagerBase* myTcsDataManager = nullptr;
132  };
133 }
osg::ref_ptr< makVrv::DtHeightMapDrawable > myHeightMapDrawable
Definition: DtHeightMapSuperManager.h:123
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
DtUniqueID myNextUserUniqueHandle
Definition: DtHeightMapSuperManager.h:126
Contains the DtThreadCameraStreamDataManager class declaration.
DtDe & myDe
Definition: DtHeightMapSuperManager.h:120
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
The abstract Channel Class.
Definition: DtChannel.h:35
std::map< DtUniqueID, std::string > myUsersMap
Definition: DtHeightMapSuperManager.h:125
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Manager for DtKeyedData Used to create/manage DtKeyedData Each entry of DtKeyedData is associated wit...
Definition: DtKeyedDataManagerTemplate.h:48
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtHeightMapManagerCreator & myHeightMapManagerCreator
Definition: DtHeightMapSuperManager.h:131
Declares the DtHeightMapManager class.
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
Base class to provide boost signal/slot management.
Contains makVrv::DtUniqueID type.
A class to manage automatic periodic updating of a height map generated from the database dynamically...
Definition: DtHeightMapManager.h:52
Contains DLL export macros.
osg::ref_ptr< osg::Geode > myHeightMapGeode
Definition: DtHeightMapSuperManager.h:122
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:76
DtSignalConnectionManager myConnections
Definition: DtHeightMapSuperManager.h:128
A class to manage multiple DtHeightMapManager(s) (one per camera)
Definition: DtHeightMapSuperManager.h:55

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)