VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWindowManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
15 
16 #include <boost/signal.hpp>
17 #include <boost/signals2.hpp>
18 
19 namespace makVrv
20 {
21  class DtChannelProctor;
22  class DtChannelManager;
23  class DtDe;
24  class DtWindow;
25  class DtChannel;
26  class DtAgentManager;
27  class DtWindowProctor;
28  class DtWindowManagerSignaler;
29 
33  {
34 
35  public:
36 
37  typedef std::list<DtWindow*> WindowList;
38 
39  public:
40 
42  virtual ~DtWindowManager();
43 
45  virtual void realizeConfiguration();
46 
50  virtual bool addWindow(const std::string& displayName, const DtWindowConfiguration& wc);
51 
54  virtual bool destroyWindow( const std::string& displayName, const std::string& windowName );
55 
58  virtual bool modifyWindow( const std::string& displayName, const std::string& windowName,
59  const DtWindowConfiguration& config );
60 
62  DtWindow* findWindow(const std::string& name);
63 
65  virtual WindowList& windows();
66 
68  virtual const WindowList& windows() const;
69 
72  virtual void addWindow(DtWindow* window);
73 
75  virtual void destroyWindow(DtWindow* window);
76 
79  virtual bool tick();
80 
83  virtual bool isVisibleAndCloseToCamera(
84  float sphereRadius,
85  float sphereCenterX, float sphereCenterY, float sphereCenterZ,
86  float distance, float upX, float upY, float upZ) const = 0;
87 
89  virtual int maxTextureUnits() const;
90 
92  typedef boost::function<void (DtWindow*)> WindowFunction;
93 
95  virtual void forEachWindow(const WindowFunction& perWindowFunction);
96 
98  typedef boost::function<void (DtChannel*)> ChannelFunction;
99 
101  virtual void forEachChannel(const ChannelFunction& perChannelFunction);
102 
104  virtual void setIncrementalCompileOption(bool enable) = 0;
105 
106  protected:
107 
111 
114  virtual DtWindow* realizeWindowConfiguration(DtWindowConfiguration& wc);
115 
117  virtual void destroyWindows();
118 
119  protected:
120 
122 
130  };
131 
135  {
136  public:
137 
139  static DtWindowManagerSignaler& instance(DtDe& de);
140 
142  virtual ~DtWindowManagerSignaler();
143 
145  boost::signal<void (DtWindow*)> signal_windowCreated;
146 
148  boost::signal<void()> signal_closeConfirmationAffirmed;
149 
153  boost::signals2::signal<void (DtWindow*)> signal_windowToBeDestroyed;
154 
157  boost::signal<void (DtWindow*)> signal_windowResizabilityChanged;
158 
159  protected:
160 
162 
163  };
164 
168  {
169  public:
171  static DtWindowManagerCreator& instance(DtDe& de);
172 
174  static void registerInstance(DtDe& de, DtWindowManagerCreator* anInstance);
175 
177  virtual DtWindowManager* create(DtDe& de, DtWindowConfigurations& configs) = 0;
178  };
179 }
DtWindowProctor * myWindowProctor
Definition: DtWindowManager.h:127
Abstract Base class.
Definition: DtWindow.h:25
Virtual base class.
Definition: DtVirtualBaseClass.h:22
unsigned int myExternalContextCount
Definition: DtWindowManager.h:129
This is used to distribute information about a window from the master to slave engines.
Definition: DtWindowProctor.h:28
boost::function< void(DtChannel *)> ChannelFunction
Function type that runs on a channel object.
Definition: DtWindowManager.h:98
boost::signal< void(DtWindow *)> signal_windowResizabilityChanged
Signal emitted when a local window needs to go from fixed size to resizeable and vice versa...
Definition: DtWindowManager.h:157
boost::signal< void(DtWindow *)> signal_windowCreated
Signal emitted when a local window is added.
Definition: DtWindowManager.h:145
Component which knows how to make windows.
Definition: DtWindowManager.h:32
boost::signals2::signal< void(DtWindow *)> signal_windowToBeDestroyed
Signal emitted when a local window is to be destroyed.
Definition: DtWindowManager.h:153
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:31
the Signals for DtViewManager
Definition: DtWindowManager.h:134
DtDe & myDe
Protected members.
Definition: DtWindowManager.h:123
Contains makVrv::DtVirtualBaseClass class.
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
std::list< DtWindow * > WindowList
Definition: DtWindowManager.h:37
DtWindowConfigurations & myWindowConfigurations
Definition: DtWindowManager.h:125
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtDisplayConfiguration class.
Creator for a DtWindowManager.
Definition: DtWindowManager.h:167
DtWindowManagerSignaler & mySignaler
Definition: DtWindowManager.h:124
boost::function< void(DtWindow *)> WindowFunction
Function type that runs on a window object.
Definition: DtWindowManager.h:92
boost::signal< void()> signal_closeConfirmationAffirmed
Signal emitted before the sys prop.
Definition: DtWindowManager.h:148
WindowList myWindowList
Definition: DtWindowManager.h:126
Proctor class for remotely controlling channels.
Definition: DtChannelProctor.h:24
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtChannelProctor * myChannelProctor
Definition: DtWindowManager.h:128
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)