iMSTK
Interactive Medical Simulation Toolkit
imstkOpenHapticDeviceManager.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 "imstkDeviceManager.h"
10 #include "imstkMacros.h"
11 
12 #include <vector>
13 #include <memory>
14 
15 namespace imstk
16 {
17 class OpenHapticDeviceClient;
18 
26 {
27 public:
29 
30  ~OpenHapticDeviceManager() override = default;
31 
32  IMSTK_TYPE_NAME(OpenHapticDeviceManager)
33 
34 
35  std::shared_ptr<DeviceClient> makeDeviceClient(std::string name = "") override;
39 
40 protected:
41 
42  bool initModule() override;
43 
44  void updateModule() override;
45 
46  void uninitModule() override;
47 
48 private:
50  std::unique_ptr<OpenHapticDeviceManagerImpl> m_impl;
51 };
52 } // namespace imstk
Compound Geometry.
std::shared_ptr< DeviceClient > makeDeviceClient(std::string name="") override
Create a haptic device client and add it to the internal list.
Abstract class for DeviceManagers which must return a DeviceClient for which it manages.