VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOverlayManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvUtil/signalslib.h>
15 
16 namespace makVrv
17 {
18  class DtChannel;
19  class DtDe;
20  class DtMouseEvent;
21  class DtRenderer;
22 
26  {
27  public:
28 
30  virtual ~DtOverlayManager();
31 
33  {
34  InvalidOverlay = 0,
43  //Allow 16 user set model sets.
44  ModelSet_UserEnd = ModelSet_UserStart + 16,
46  //Allow for 128 channel specific overlays
47  Channel_SpecificEnd = Channel_SpecificStart + 128,
52  };
53 
55  virtual void render(DtChannel* channel, bool projectedGeocentricEffect,
56  float geocentricAlpha,
57  double* position, double* matrix, double* projectionMatrix,
58  double viewportSize[2]) = 0;
59 
61  virtual void releaseResources() = 0;
62 
64  static DefaultOverlays modelSetToOverlay(unsigned int modelSet);
65 
66  virtual void enableOverlayOnChannel(unsigned int layerId, bool enabled,
67  DtChannel& channel) = 0;
68 
72  virtual bool handleMouseEvent(const DtMouseEvent& ev,
73  DtChannel& channel) = 0;
74 
76  virtual void destroyOverlayLayer(unsigned int layerId) = 0;
77 
79  virtual bool overlayLayerIsVisible(unsigned int layerId) const = 0;
80 
84  virtual void setOverlayLayerVisibility(unsigned int layerId,
85  bool visible) = 0;
86 
87  boost::signalslib::signal<void (DtChannel* channel, DefaultOverlays overlay)> signal_overlayAboutToBeRendered;
88 
89  };
90 
94  {
95  public:
96 
98  static DtOverlayManagerCreator& instance(DtDe&);
99 
101  static void registerInstance(DtDe& de,DtOverlayManagerCreator*);
102 
104  virtual DtOverlayManager* create(DtDe& de) = 0;
105  };
106 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
Definition: DtOverlayManager.h:42
Definition: DtOverlayManager.h:48
Definition: objectSettingsManager.h:48
Definition: DtOverlayManager.h:45
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
The abstract Channel Class.
Definition: DtChannel.h:30
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DefaultOverlays
Definition: DtOverlayManager.h:32
boost::signalslib::signal< void(DtChannel *channel, DefaultOverlays overlay)> signal_overlayAboutToBeRendered
Definition: DtOverlayManager.h:87
Creator class.
Definition: DtOverlayManager.h:93
Abstract base class for managing the overlays.
Definition: DtOverlayManager.h:25
Definition: DtOverlayManager.h:50
Definition: DtOverlayManager.h:36
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtOverlayManager.h:35
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)