Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
iMSTK
iMSTK
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 40
    • Issues 40
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 12
    • Merge Requests 12
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • iMSTK
  • iMSTKiMSTK
  • Issues
  • #24

Closed
Open
Opened Jul 09, 2015 by Ricardo Ortiz@ricardo-ortizContributor

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)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: iMSTK/iMSTK#24