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) 2023 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 
82  virtual DtHeightMapManager* findHeightMapCamera(osg::RenderInfo& renderInfo);
83 
90  virtual const DtUniqueID addUser(const char* userName);
91 
94  virtual void removeUser(const DtUniqueID handle);
95 
96  protected:
97 
99  virtual void enableHeightMapManagers(bool enable);
100 
102  virtual void slot_channelCreated(DtChannelManager* channelManager, DtChannel* channel);
103 
105  virtual void slot_channelToBeDestroyed(DtChannelManager* channelManager, DtChannel* channel);
106  protected:
107 
109 
112 
113  std::map<DtUniqueID, std::string> myUsersMap;
115 
117 
118  DtThreadCameraStreamDataManagerBase* myTcsDataManager = nullptr;
120  };
121 }
osg::ref_ptr< makVrv::DtHeightMapDrawable > myHeightMapDrawable
Definition: DtHeightMapSuperManager.h:111
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:114
Contains the DtThreadCameraStreamDataManager class declaration.
DtDe & myDe
Definition: DtHeightMapSuperManager.h:108
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
The abstract Channel Class.
Definition: DtChannel.h:35
std::map< DtUniqueID, std::string > myUsersMap
Definition: DtHeightMapSuperManager.h:113
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:119
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:47
Contains DLL export macros.
osg::ref_ptr< osg::Geode > myHeightMapGeode
Definition: DtHeightMapSuperManager.h:110
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:72
DtSignalConnectionManager myConnections
Definition: DtHeightMapSuperManager.h:116
A class to manage multiple DtHeightMapManager(s) (one per camera)
Definition: DtHeightMapSuperManager.h:55

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)