iMSTK
Interactive Medical Simulation Toolkit
imstkDeviceManager.h
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #pragma once
8 
9 #include "imstkModule.h"
10 #include "imstkMacros.h"
11 
12 namespace imstk
13 {
14 class DeviceClient;
15 
22 class DeviceManager : public Module
23 {
24 public:
26  {
27  // Throwing events at high rates is a bad idea for this thread
28  m_muteUpdateEvents = true;
29  // Run in another thread
30  m_executionType = ExecutionType::PARALLEL;
31  }
32 
33  ~DeviceManager() override = default;
34 
39  virtual std::shared_ptr<DeviceClient> makeDeviceClient(std::string portName = "") = 0;
40 };
41 } // namespace imstk
virtual std::shared_ptr< DeviceClient > makeDeviceClient(std::string portName="")=0
Create a haptic device client and add it to the internal list.
Compound Geometry.
Abstract class for DeviceManagers which must return a DeviceClient for which it manages.
Base class for imstk module system. A module defines something that is updated, and can be paused/res...
Definition: imstkModule.h:21