What you can do with HAPI
HAPI is an open-source, cross-platform, haptics rendering engine written entirely in C++. HAPI can be used to write applications that requires use of haptics. Either write the applications from scratch or use HAPI to add haptics to already existing applications that are written in C++. HAPI is designed to be modular and all features can be extended by users.
Haptics Device Support
HAPI is device independent and supports multiple currently available commercial haptics devices. Through the use of the AnyHapticsDevice interface one of the supported conneted haptics devices will be interfaced with. Currently the supported devices are:
- Devices from Sensable .
- Devices from Force Dimension.
- Falcon - a haptics device from NovInt.
- HapticMaster - a haptics device from Moog FCS Robotics.
Support for more devices can be added by the user.
Force generation from 3D-graphics
HAPI contains a couple of different ways to generate forces from 3D surface meshes. To generate force from 3D-graphics a haptic renderer must be choosen then a haptics shape and the properties of how the surface on the shape should feel must be sent to the haptics device. Choose between different renderers, shapes and surfaces.
The haptics renderers are tested with DirectX and OpenGL (all of them). It is very easy to add haptics to applications that uses OpenGL through the use of the FeedbackBufferCollector class.
Force Effects in HAPI refer to the generation of forces which will be rendered on the haptics device based (usually) on other forces than geometrical surfaces, such as position of the haptics device. HAPI contains a couple of predefined force effects that can be used and are sufficient for a lot of haptics applications.