CHAI 3D
Computer Haptics & Active Interfaces

Getting Started (also see the examples page)


Installation

The main CHAI distribution file unzips to a set of directories that is ready for compilation and linking. All relevant header files are in the 'include' directory. To link against the CHAI libraries, use the .lib files in the 'lib/msvc6', 'lib/msvc7', or 'lib/bbcp6' directories.

If you want to modify and/or rebuild CHAI, project files for MSVC6 and MSVC7 are located in the 'msvc6' and 'msvc7' directories, and project files for Borland C++ 6 are located in the 'bbcp6' directory. Both projects build straight to the appropriate lib directory.

All the example CHAI applications build to the 'bin' directory, and you can run them from there without modifying your system path. If you want to build CHAI applications to other directories, you should include the 'bin' directory in your system path. Relevant dll's for interfacing with haptic devices are located in this directory.

You'll also find a "virtual haptic device" ('dhdVirtual.exe') in the 'bin' directory; when you run it, you will be able to manipulate the position of a contact point, and forces rendered by CHAI will be displayed as a vector in the virtual device application. This is very handy for developing when you don't have a device around, or for creating a controlled environment for debugging haptic applications.

If you are planning to use the CHAI interface to the ServoToGo I/O board, you'll also need to set up the dlportio library, which we've included in the 'bin' directory. You can just copy DLPORTIO.sys into your 'system32/drivers' directory, or you can use the installer ('port95nt.exe') provided by the manufacturer (DriverLinx), which we've also included in the 'external' directory.

Borland users:

  • You should install BCPP6 updates 1-4 before compiling CHAI. A bug in the Borland includes in updates 1-3 prevented structures from being aligned correctly, which in CHAI manifests itself as problems with loading bitmaps.
  • If you are using the board interfaces and you have any link-time or run-time trouble with the DLPORTIO libraries provided in the DriverLinx installer, there is a free wrapper available.


Getting started with CHAI development

Although full doxygen documentation can be viewed from the docs page, the best way to get started with CHAI is to take a look at the examples that are provided in the main distribution. Examples are provided for MSVC 6.0, MSVC 7.0 (.net 2003), and Borland C++ 6.00. Each example includes a README with helpful hints about where the "highlights" in in the code are. All the examples build to the 'bin' directory, so you can see what they do just by starting them there.

For more information, you should see the examples page, which explains what the examples do and lets you launch them from your browser.


Contributing to CHAI

Right now, CHAI is produced by academics, for academics, and we claim neither that it's full-featured nor that it's bug-free. Your suggestions and contributions will be invaluable in building CHAI into a standard for multimodal environment development.

You may report problems, questions, suggestion or contributions to CHAI to support@chai3d.org.

Users are encouraged to submit contributions to CHAI. Please read over the contributions and copyright policy, which we have borrowed from VTK. The summary is that for logistic reasons, the copyright for all CHAI code goes to the CHAI team, and you can trust that we will maintain your name as it appears in your modified source.

Related Links


Written by Dan Morris, September 2005