VR-Forces 4.7 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) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtRenderer.h,v $ $Revision: 1.31 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
16 
17 #include <vrvUtil/signalslib.h>
18 
19 namespace makVrv
20 {
21  class DtChannel;
22  class DtDe;
23  class DtMouseEvent;
24  class DtRenderer;
25 
29  {
30  public:
31 
33  virtual ~DtOverlayManager();
34 
36  {
37  InvalidOverlay = 0,
46  //Allow 16 user set model sets.
47  ModelSet_UserEnd = ModelSet_UserStart + 16,
49  //Allow for 128 channel specific overlays
50  Channel_SpecificEnd = Channel_SpecificStart + 128,
55  };
56 
58  virtual void render(DtChannel* channel, bool projectedGeocentricEffect,
59  float geocentricAlpha,
60  double* position, double* matrix, double* projectionMatrix,
61  double viewportSize[2]) = 0;
62 
64  virtual void releaseResources() = 0;
65 
67  static DefaultOverlays modelSetToOverlay(unsigned int modelSet);
68 
69  virtual void enableOverlayOnChannel(unsigned int layerId, bool enabled,
70  DtChannel& channel) = 0;
71 
75  virtual bool handleMouseEvent(const DtMouseEvent& ev,
76  DtChannel& channel) = 0;
77 
79  virtual void destroyOverlayLayer(unsigned int layerId) = 0;
80 
82  virtual bool overlayLayerIsVisible(unsigned int layerId) const = 0;
83 
87  virtual void setOverlayLayerVisibility(unsigned int layerId,
88  bool visible) = 0;
89 
90  boost::signal<void (DtChannel* channel, DefaultOverlays overlay)> signal_overlayAboutToBeRendered;
91 
92  };
93 
97  {
98  public:
99 
101  static DtOverlayManagerCreator& instance(DtDe&);
102 
104  static void registerInstance(DtDe& de,DtOverlayManagerCreator*);
105 
107  virtual DtOverlayManager* create(DtDe& de) = 0;
108  };
109 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)