
Haptic API suite
current version: (2011-04-11)
SVN repository (source code): svn://cgg.mff.cuni.cz/HapticApi/branches/HapticAPIsuite/trunk
Haptic API suite is a part of the Haptic API survey
Download installer (Win32 binaries 2010-07-27): HapticAPIsuite_1.0.zip Win32 install (~13 MB), Linux and MacOSX version still experimental
Documentation: user documentation, developer documentation



What you see are screenshots from CHAI 3D high-level testing application developed in C++/GLUT/CHAI 3D (click the thumbnail to enlarge the photo)

What is Haptic API suite?
Haptic API suite is a set of applications created during the Haptic API survey. The survey aims to compare accessible APIs for the use of a haptic technology. The suite is trying to show how to program with different APIs. The survey will draw experience from writing these applications and direct inexperienced haptic programmer which API to use for his purposes.
Content of the suite
The Haptic API suite tries to cover the most APIs usable with the Novint Falcon device.
Low-level APIs such as HDAL SDK and libnifalcon supports just the Novint Falcon device. High-level APIs supports various devices from Sensable, Force Dimension or HapticMaster.
The schema below shows system architecture layers starting from the Novint Falcon device at the top and ends with the scenegraph high-level APIs at the bottom.
Blue boxes represents APIs you can use in your application, green boxes are classes wrapping the driver or low-level API and red boxes represents abstract device class that you can use to communicate with different numerous haptic devices within the bigger software development kit or application programming interface.
Schema 1 - Haptic API suite system architecture layers
Haptic API suite provides minimalistic application with source code for every "blue" box API (some of them are still in progress). Minimialistic application has only one main functionality - print a position of the device and optionally send a force to the device (which is a three-dimensional vector when using 3-DOF {degrees of freedom} device). The purpose of such an applicaiton is to show basics of the API usage on a low-level access. In addition to minimalistic applications Haptic API suite provides test applications that use higher-level access to haptic device (use of haptic tool, haptic forces, ...). You can see the actual content of the Haptic API suite in the table below.
Project | info | language/API | platform |
CHAI3D - highlevel | scenegraph high-level | C++/CHAI3D | Win32, (experimental Win64, Linux, Mac OS-X) |
Metuunt | low-level (integration into existing project), DirectX 9 | C++/CHAI3D (lowlevel) | Win32 |
CHAI3D - minimal | low-level | C++/CHAI3D (lowlevel) | Win32, (experimental Win64, Linux, Mac OS-X) |
CHAI3D - haptic benchmark | low-level | C++/CHAI3D (lowlevel) | Win32, (experimental Win64, Linux, Mac OS-X) |
HDAL - minimal | low-level | C++/HDAL | Win32 |
HAPI - minimal | low-level | C++/HAPI | Win32 |
H3DAPI - highlevel | high-level | C++/H3DAPI | Win32 |
JTouchToolkit - minimal | low-level | Java/JTouchToolkit | Win32 (HDAL wrapper) |
libNiFalcon - minimal | Novint Falcon driver, low-level | C++/libNiFalcon | Win32, (experimental Win64, Linux, Mac OS-X) |
CHAI3D | libnifalcon integration, libpng integration, bugfixes | C++/CHAI3D | Win32, (experimental Win64, Linux, Mac OS-X) |
Please visit user documentation and developer documentation for more complex information about Haptic API suite.
2011, Petr Kadlecek