OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
coInteractionManager.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef CO_INTERACTIONMANAGER
9 #define CO_INTERACTIONMANAGER
10 
11 #include <OpenVRUI/coInteraction.h>
12 #include <list>
13 
14 namespace vrui
15 {
16 
17 class OPENVRUIEXPORT coInteractionManager
18 {
19 public:
21  virtual ~coInteractionManager();
22 
23  bool update();
24  void registerInteraction(coInteraction *);
25  void unregisterInteraction(coInteraction *);
26  bool isOneActive(coInteraction::InteractionType type);
27  bool isOneActive(coInteraction::InteractionGroup group);
28 
29  static coInteractionManager *the();
30 
31 private:
32  // list of registered interactions
33  std::list<coInteraction *> interactionStack[coInteraction::NumInteractorTypes];
34  // list of active but unregistered interactions
35  std::list<coInteraction *> activeUnregisteredInteractions[coInteraction::NumInteractorTypes];
36 
37 protected:
39 };
40 }
41 #endif
static coInteractionManager * im
Definition: coInteractionManager.h:38
Definition: coInteractionManager.h:17
InteractionGroup
Definition: coInteraction.h:75
Definition: coInteraction.h:17
InteractionType
Definition: coInteraction.h:44
Definition: coInteraction.h:72