16 #include <osg/observer_ptr>
17 #include <osg/GraphicsContext>
19 #include <boost/unordered_map.hpp>
27 class DtOsgOverlayResourceProvider;
28 class DtChannelManager;
30 class DtOverlayRenderer;
34 class DtGLDeleteObjectManager;
65 virtual void render(
DtChannel* channel,
bool projectedGeocentricEffect,
66 float projectedGeocentricAlpha,
67 double* position,
double* matrix,
double* projectionMatrix,
double viewportSize[2]);
70 virtual void releaseResources();
88 virtual void enableOverlayOnChannel(
unsigned int layerId,
bool enabled,
94 virtual void enableModelSetOnChannel(
int modelSet,
bool enabled,
109 virtual void destroyOverlayLayer(
unsigned int layerId);
112 virtual bool overlayLayerIsVisible(
unsigned int layerId)
const;
117 virtual void setOverlayLayerVisibility(
unsigned int layerId,
bool visible);
120 virtual void handleIfActiveContextChanged(
DtChannel& currentChannel);
122 typedef boost::unordered_map<DtChannel*, unsigned int>
126 typedef boost::unordered_map<DtChannel*, std::map<int, unsigned int> >
130 virtual void slot_channelToBeDestroyed(
DtChannel*);
134 unsigned int allocateChannelSpecificLayerId();
135 void deallocateChannelSpecificLayerId(
unsigned int layerId);
137 void destroyChannelSpecificOverlayLayer(
151 virtual void destroyChannelModelSetOverlayLayers(
DtChannel*);
174 typedef boost::unordered_map<unsigned int,DtPickableOverlay*>
OverlayMap;
177 typedef boost::unordered_map<DtChannel*, std::set<unsigned int> >
192 bool myChannelSpecificLayerIdUsageList[
193 Channel_SpecificEnd - Channel_SpecificStart + 1 ];
The OSG overlay manager managers 2D graphical overlays.
Definition: DtOsgOverlayManager.h:38
Manager to delete GLBuffer in the main thread.
Definition: DtGlDeleteObjectManager.h:33
DtOverlayRenderer * myRenderer
Definition: DtOsgOverlayManager.h:169
Creator class for the DtOsgOverlayManager instance.
Definition: DtOsgOverlayManager.h:201
static std::string myDataPath
Definition: DtOsgOverlayManager.h:183
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::observer_ptr< const osg::GraphicsContext > myLastGraphicsContext
Definition: DtOsgOverlayManager.h:196
boost::unordered_map< unsigned int, DtPickableOverlay * > OverlayMap
Definition: DtOsgOverlayManager.h:174
ChannelSpecificOverlayMap myChannelSpecific2DOverlayMap
Definition: DtOsgOverlayManager.h:189
ChannelModelSetOverlayMap myChannelModelSetOverlayMap
Definition: DtOsgOverlayManager.h:190
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:22
DtGLDeleteObjectManager & myGLManager
Definition: DtOsgOverlayManager.h:197
OverlayMap myOverlays
Definition: DtOsgOverlayManager.h:187
The abstract Channel Class.
Definition: DtChannel.h:29
Definition: DtOsgOverlayManager.h:155
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Creator class.
Definition: DtOverlayManager.h:96
Abstract base class for managing the overlays.
Definition: DtOverlayManager.h:28
ChannelOverlayMap myChannelOverlayMap
Definition: DtOsgOverlayManager.h:188
DtOsgOverlayResourceProvider * myProvider
Definition: DtOsgOverlayManager.h:194
boost::unordered_map< DtChannel *, std::set< unsigned int > > ChannelOverlayMap
Definition: DtOsgOverlayManager.h:178
Base class to provide boost signal/slot management.
DtSignalConnectionManager myConnections
Definition: DtOsgOverlayManager.h:186
boost::unordered_map< DtChannel *, unsigned int > ChannelSpecificOverlayMap
Definition: DtOsgOverlayManager.h:123
boost::unordered_map< DtChannel *, std::map< int, unsigned int > > ChannelModelSetOverlayMap
Definition: DtOsgOverlayManager.h:127
DtDe & myDe
Definition: DtOsgOverlayManager.h:185
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The Osg specific implementation of the overlay resource provider.
Definition: DtOsgOverlayResourceProvider.h:29
DtDe & de()
Definition: DtOsgOverlayManager.h:48
DtWidgetPicker * myPicker
Definition: DtOsgOverlayManager.h:170
ChannelSpecificOverlayMap myChannelSpecific3DOverlayMap
Definition: DtOsgOverlayManager.h:191
The DtOverlayRenderer implements the overlay concept.
Definition: DtOverlayRenderer.h:23