iMSTK
Interactive Medical Simulation Toolkit
imstkDeviceManagerFactory.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 "imstkFactory.h"
10 
11 namespace imstk
12 {
13 class DeviceClient;
14 class DeviceManager;
15 
37 class DeviceManagerFactory : public ObjectFactory<std::shared_ptr<DeviceManager>>
38 {
39 public:
43  static std::shared_ptr<DeviceManager> makeDeviceManager(const std::string typeName);
44 
51  static std::shared_ptr<DeviceManager> makeDeviceManager();
52 };
53 
57 template<typename T>
59 
60 #define IMSTK_REGISTER_DEVICE_MANAGER(objType) DeviceManagerRegistrar<objType> _imstk_registerdevicemanager ## objType(#objType)
61 } // namespace imstk
Generic Factory class that can take objects with constructor parameters.
Definition: imstkFactory.h:24
Manages and generates the DeviceManager&#39;s.
Compound Geometry.
static std::shared_ptr< DeviceManager > makeDeviceManager()
Attempts to create a new DeviceManager by whichever is default If multiple haptic managers are built ...
Templated class that can add to the object factory with objects that will be generated via std::make_...
Definition: imstkFactory.h:87