Refactor Haptic Interfaces
Refactor the haptic interface by creating a hierarchy can can be reused by other devices.
Device->OmniDevice
The implementation of the omni device will use a pimpl idiom to contain the actual implementation of the communication layer. All implementations go in the cpp file.
class PhantomDevice : public Device
{
public:
// Constructor
OmniDevice();
// Destructor
~OmniDevice();
// Initialize device
void init();
// Shutdown device
void shutdown();
...
private:
class PhantomOmni;
std::unique_ptr<PhantomOmni> phantomOmni;
};
The Device base class will be inherited by all devices and will manage the actual input/output data coming in and out of the device, something like this:
class Device
{
public:
// Constructor
Device(const std::string &deviceName);
// Destructor
~Device();
private:
// Vectors
std::vector<smVec3d> vectors;
...
};
- Related to issue #20 (closed)