16 #include <osg/observer_ptr>
17 #include <osg/GraphicsContext>
19 #include <unordered_map>
25 class DtOsgOverlayResourceProvider;
26 class DtChannelManager;
28 class DtOverlayRenderer;
32 class DtGlDeleteObjectManager;
33 class DtPickableOverlay;
60 virtual void render(
DtChannel* channel,
bool projectedGeocentricEffect,
61 float projectedGeocentricAlpha,
62 double* position,
double altitude,
double* matrix,
double* projectionMatrix,
double viewportSize[2])
override;
65 virtual void releaseResources()
override;
68 virtual void enableOverlayOnChannel(
unsigned int layerId,
bool enabled,
77 virtual void destroyOverlayLayer(
unsigned int layerId)
override;
80 virtual bool overlayLayerIsVisible(
unsigned int layerId)
const override;
85 virtual void setOverlayLayerVisibility(
unsigned int layerId,
bool visible)
override;
106 std::string windowName, std::string channelName );
115 virtual void enableModelSetOnChannel(
int modelSet,
bool enabled,
127 std::string windowName, std::string channelName );
133 virtual bool somethingToRender(
DtChannel* channel)
const;
137 virtual void handleIfActiveContextChanged(
DtChannel& currentChannel);
140 virtual void slot_channelToBeDestroyed(
DtChannel*);
144 virtual unsigned int allocateChannelSpecificLayerId();
145 virtual void deallocateChannelSpecificLayerId(
unsigned int layerId);
147 typedef std::unordered_map<DtChannel*, unsigned int>
151 typedef std::unordered_map<DtChannel*, std::map<int, unsigned int> >
154 virtual void destroyChannelSpecificOverlayLayer(
168 virtual void destroyChannelModelSetOverlayLayers(
DtChannel*);
172 typedef std::unordered_map<unsigned int,DtPickableOverlay*>
OverlayMap;
175 typedef std::unordered_map<DtChannel*, std::set<unsigned int> >
191 bool myChannelSpecificLayerIdUsageList[
192 Channel_SpecificEnd - Channel_SpecificStart + 1 ];
std::unordered_map< DtChannel *, unsigned int > ChannelSpecificOverlayMap
Definition: DtOsgOverlayManager.h:148
The OSG overlay manager managers 2D graphical overlays.
Definition: DtOsgOverlayManager.h:37
Creator class for the DtOsgOverlayManager instance.
Definition: DtOsgOverlayManager.h:200
static std::string myDataPath
Definition: DtOsgOverlayManager.h:181
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::observer_ptr< const osg::GraphicsContext > myLastGraphicsContext
Definition: DtOsgOverlayManager.h:195
ChannelSpecificOverlayMap myChannelSpecific2DOverlayMap
Definition: DtOsgOverlayManager.h:187
ChannelSpecificOverlayMap myChannelSpecific2DNormalizedOverlayMap
Definition: DtOsgOverlayManager.h:190
ChannelModelSetOverlayMap myChannelModelSetOverlayMap
Definition: DtOsgOverlayManager.h:188
DtGlDeleteObjectManager & myGlDeleteObjectManager
Definition: DtOsgOverlayManager.h:196
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
OverlayMap myOverlays
Definition: DtOsgOverlayManager.h:185
The abstract Channel Class.
Definition: DtChannel.h:35
Contains makVrv::DtOverlayManager class.
std::unordered_map< DtChannel *, std::set< unsigned int > > ChannelOverlayMap
Definition: DtOsgOverlayManager.h:176
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Creator class.
Definition: DtOverlayManager.h:105
Abstract base class for managing the overlays.
Definition: DtOverlayManager.h:25
ChannelOverlayMap myChannelOverlayMap
Definition: DtOsgOverlayManager.h:186
DtOsgOverlayResourceProvider * myProvider
Definition: DtOsgOverlayManager.h:193
Base class to provide boost signal/slot management.
Manager to delete GLBuffer in the main thread.
Definition: DtGlDeleteObjectManager.h:44
DtSignalConnectionManager myConnections
Definition: DtOsgOverlayManager.h:184
DtDe & myDe
Definition: DtOsgOverlayManager.h:183
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
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
The Osg specific implementation of the overlay resource provider.
Definition: DtOsgOverlayResourceProvider.h:25
DtDe & de()
get the DtDe
Definition: DtOsgOverlayManager.h:54
std::unordered_map< DtChannel *, std::map< int, unsigned int > > ChannelModelSetOverlayMap
Definition: DtOsgOverlayManager.h:152
ChannelSpecificOverlayMap myChannelSpecific3DOverlayMap
Definition: DtOsgOverlayManager.h:189
std::unordered_map< unsigned int, DtPickableOverlay * > OverlayMap
Definition: DtOsgOverlayManager.h:172
The DtOverlayRenderer implements the overlay concept. An overlay is a 2D scene that is drawn on top o...
Definition: DtOverlayRenderer.h:41