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();
84 std::string windowName, std::string channelName );
91 virtual void enableOverlayOnChannel(
unsigned int layerId,
bool enabled,
97 virtual void enableModelSetOnChannel(
int modelSet,
bool enabled,
109 std::string windowName, std::string channelName );
115 virtual void destroyOverlayLayer(
unsigned int layerId);
118 virtual bool overlayLayerIsVisible(
unsigned int layerId)
const;
123 virtual void setOverlayLayerVisibility(
unsigned int layerId,
bool visible);
126 virtual void handleIfActiveContextChanged(
DtChannel& currentChannel);
128 typedef boost::unordered_map<DtChannel*, unsigned int>
132 typedef boost::unordered_map<DtChannel*, std::map<int, unsigned int> >
136 virtual void slot_channelToBeDestroyed(
DtChannel*);
140 unsigned int allocateChannelSpecificLayerId();
141 void deallocateChannelSpecificLayerId(
unsigned int layerId);
143 void destroyChannelSpecificOverlayLayer(
157 virtual void destroyChannelModelSetOverlayLayers(
DtChannel*);
180 typedef boost::unordered_map<unsigned int,DtPickableOverlay*>
OverlayMap;
183 typedef boost::unordered_map<DtChannel*, std::set<unsigned int> >
199 bool myChannelSpecificLayerIdUsageList[
200 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:175
Creator class for the DtOsgOverlayManager instance.
Definition: DtOsgOverlayManager.h:208
static std::string myDataPath
Definition: DtOsgOverlayManager.h:189
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::observer_ptr< const osg::GraphicsContext > myLastGraphicsContext
Definition: DtOsgOverlayManager.h:203
boost::unordered_map< unsigned int, DtPickableOverlay * > OverlayMap
Definition: DtOsgOverlayManager.h:180
ChannelSpecificOverlayMap myChannelSpecific2DOverlayMap
Definition: DtOsgOverlayManager.h:195
ChannelSpecificOverlayMap myChannelSpecific2DNormalizedOverlayMap
Definition: DtOsgOverlayManager.h:198
ChannelModelSetOverlayMap myChannelModelSetOverlayMap
Definition: DtOsgOverlayManager.h:196
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
DtGLDeleteObjectManager & myGLManager
Definition: DtOsgOverlayManager.h:204
OverlayMap myOverlays
Definition: DtOsgOverlayManager.h:193
The abstract Channel Class.
Definition: DtChannel.h:30
Definition: DtOsgOverlayManager.h:161
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Creator class.
Definition: DtOverlayManager.h:93
Abstract base class for managing the overlays.
Definition: DtOverlayManager.h:25
ChannelOverlayMap myChannelOverlayMap
Definition: DtOsgOverlayManager.h:194
DtOsgOverlayResourceProvider * myProvider
Definition: DtOsgOverlayManager.h:201
boost::unordered_map< DtChannel *, std::set< unsigned int > > ChannelOverlayMap
Definition: DtOsgOverlayManager.h:184
Base class to provide boost signal/slot management.
DtSignalConnectionManager myConnections
Definition: DtOsgOverlayManager.h:192
boost::unordered_map< DtChannel *, unsigned int > ChannelSpecificOverlayMap
Definition: DtOsgOverlayManager.h:129
boost::unordered_map< DtChannel *, std::map< int, unsigned int > > ChannelModelSetOverlayMap
Definition: DtOsgOverlayManager.h:133
DtDe & myDe
Definition: DtOsgOverlayManager.h:191
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:26
DtDe & de()
Definition: DtOsgOverlayManager.h:48
DtWidgetPicker * myPicker
Definition: DtOsgOverlayManager.h:176
ChannelSpecificOverlayMap myChannelSpecific3DOverlayMap
Definition: DtOsgOverlayManager.h:197
The DtOverlayRenderer implements the overlay concept.
Definition: DtOverlayRenderer.h:23