OpenHaptics®
Developer Edition
Add 3D Touch™ Navigation and Haptics to Your Applications
Create a compelling user experience for your customers: Enable users to go beyond working with a 2D mousein your applications, to interacting with and manipulating objects in a realistic intuitive way. Allow users to feel
objects in a virtual 3D scene, making skills easier to learn. Give your customers true 3D navigation and directinteraction in a way that makes them more productive and adds a “wow” factor to your application.
OpenHaptics® Developer Edition enables software developers toadd haptics and true 3D navigation to a broad range of applications
including 3D design and modeling, medical, games, entertainment,visualization, and simulation. This haptics toolkit is patterned after
the OpenGL® API making it familiar to graphics programmers
and facilitating integration with OpenGL applications. Using theOpenHaptics toolkit, developers can leverage existing OpenGL
code for specifying geometry and supplement it with OpenHaptics
commands to simulate haptic material properties such as friction
and stiffness. The extensible architecture enables developers to add
functionality to support new types of shapes. It is also designed tointegrate third-party libraries such as physics/dynamics and collision
detection engines. The OpenHaptics toolkit supports the range of 3D
Systems PHANTOM® devices, from the more compact Touch device
to the larger PHANTOM Premium devices. The OpenHaptics toolkit
supports Microsoft® Windows® 7 and 8, and Linux®.

The OpenHaptics toolkit is easy for graphics programmers to learn
and allows significant reuse of existing OpenGL code.

This toolkit includes the Haptic Device API (HDAPI), the Haptic Library API (HLAPI), utilities, PHANTOM Device Drivers (PDD), and source codeexamples. The HDAPI provides low-level access to the haptic device, enables haptics programmers to render forces directly, offers control overconfiguring the runtime behavior of the drivers, and provides convenient utility features and debugging aids. The HLAPI provides high level
haptic rendering and is designed to be familiar to OpenGL API programmers. It allows significant reuse of existing OpenGL code and greatly
simplifies synchronization of the haptics and graphics threads. The Device Drivers support all 3D Systems’ Touch and Phantom haptic devices.

The OpenHaptics Toolkit
Haptic Library API (HLAPI)
Utilities
Haptic Device API (HDAPI)

Geomagic Touch Device Drivers (PDD)

SourceCode Examples

OpenHaptics® Developer Edition
The HDAPI provides low-level access to the haptic device, enables haptics programmers to render forces directly,
offers control over configuring the runtime behaviour of the drivers, and provides convenient utility features anddebugging aids.

Utilities

The Haptic Device API

C++ Haptic Device Wrapper
Workspace-to-camera View Mapping
Vector and Matrix Math and Geometry
Snap Constraints

Get Device
Characteristics

GetDevice StateSource Code Examples

SetDevice State

Enable/Disable

Calibration
Control

Scheduler
Synchronous & Asynchronous
User-defined Callbacks

Error Handling

Haptic Thread &Servo Loop Timing

Error Detection& Safety

Force Modifiers, Error Reporting

Haptic Device

Physical Characteristics & Kinematic Transforms

3DOF

Touch™
Touch X™
Premium models

6DOF

Premium 1.5/6DOF
Premium 3.0/6DOF

Calibration
I/0 (availability varies by platform)
RJ45 Ethernet, USB, Parallel

Key Features & Benefits• Optimized interface to the 3D Systems haptic devices, including the low-cost Touch devices• Architected to be extensible• Software control over:- User-definable haptic servo loop for ideal performance- Error handling and safety limits for an optimal user experience- Scheduling user-defined callbacks within the haptic thread for maximum control over synchronization- Direct access to encoder values and control over motor DAC values for advanced programming• Includes API, utilities, and source code examples

Haptic Device API Functionality
Get Device State• Position, orientation, velocity• 3 coordinate spaces: Cartesian, joint,
raw data I/O (encoder/DAC)• Buttons

Get Device Characteristics• Model, version, serial number• Workspace dimensions, I/O DOF• Max stiffness, max force, max velocity,max torque, max torque stiffness• Motor temperature• Calibration capabilities

Set Device State• Force/torque in Cartesian space• Motor DAC• LED status

Scheduler• Synchronous and asynchronous userdefined callbacks• Customizable scheduling of callbacks• Facilitates synchronization of the haptics
and graphics threads• User-definable haptic servo loop rate

Enable/Disable• Force: output, clamping, ramping• Error reporting• Software checks: max force, max velocity• Error Reporting and Handling• Error categories, including:- Function- Force- Device- Haptic rendering- Scheduler• Error stack

Device Calibration Interface• Auto calibration• Manual calibration

Utilities• C++ haptic device wrapper• Workspace-to-camera view mapping• Vector and matrix math and geometry• Snap constraints

OpenHaptics® Developer Edition
The HLAPI provides high-level haptic rendering and is designed to be familiar to OpenGL API programmers. It
allows significant reuse of existing OpenGL code and greatly simplifies synchronization of the haptics and graphics
threads.

Utilities

Open Haptics Toolkit

Workspace-to-camera View Mapping
Vector and Matrix Math and Geometry
Use Haptic Device as Mouse

Source Code Examples

Direct Force
Rendering

Shape Rendering
OpenGL® Geometry

Materials

Polygons, points,
lines

Stiffness, damping,friction

Custom Geometry

Dynamic/DeformableShapes

Direct ProxyRendering
Integration withsimulation &dynamics engines

State MachineStandard EffectViscosity, constant,springState Management& Error Handling

CustomForce Effects
Thread Management

Haptic Rendering Pipeline
Proxy Shaders / Force Shaders

HDAPI

Key Features & Benefits• Designed for programmers familiar with graphics and with no prior knowledge of haptics• Enables reuse of existing OpenGL code for fast integration• Designed to integrate third-party libraries such as physics/dynamics and collision detection engines• Extensible and flexible architecture will enable future support of other graphics libraries such as Microsoft® DirectX®
• Support for polygonal meshes, tessellated NURBS, and subdivision surfaces• Includes API, utilities, and source code examples• The QuickHaptics micro API enables rapid program design deployment. With QuickHaptics you can write a simple graphic/haptics application
using 8 lines of programming code instead of 300

Haptic Library API Functionality
Shapes

Surface Material Properties

Events• OpenGL primitives(polygons, points, and lines)• Custom/extension• Friction• Stiffness and damping• Front/back faces

Force Effects

Dynamics• Constant (e.g. gravity)• Viscosity, 3D friction• Spring• Custom/extension• Capabilities for integration with third-party
physics/dynamics and collision detectionengines• Windows- 2D Mouse• Haptic device- Touch/untouch- Motion- Calibration

Touch Model• Capabilities for third-party integration• Single point• Future support for multipoint• Contact/constraint

Deformable Objects

Programmer Productivity• Dynamic changes for effects• Push/pop attributes

The Broadest Range of 3D Systems Haptic Devices& Toolkits for Haptic Application Development

Touch™

Touch X™

Phantom Premium 1.5/6DOF &1.5 High Force/6DOF

Phantom Premium 3.0/6DOF

Haptic Devices
The 3D Systems product line of haptic devices enables users to touch and manipulate virtual objects. Different models in this industry-leading
product line meet the varying needs of commercial software developers, academic and commercial researchers, and product designers.
The PHANTOM Premium models are high-precision instruments and, within the PHANTOM product line, provide the largest workspaces andhighest forces, and some offer 6 degrees of freedom (6DOF) output capabilities. The Geomagic Touch and TouchX devices offer affordable
desktop solutions.

Contact Information
AMERICAS

APAC

CHINA

geomagic.sales.americas@3dsystems.com
Cary, NC, USA : +1.800.691.1839
Brazil : +55.11.3318.5100
Mexico : +52.(644).114.6401

geomagic.sales.apac@3dsystems.comSouth East Asia : +60.12.398.8473
Australia & New Zealand : +61.450.593.739
India : +91.98404.78347

geomagic.sales.china@3dsystems.com
Hotline : +86.400.890.7899

EMEA

JAPAN

KOREA

geomagic.sales.emea@3dsystems.com
Darmstadt, Germany : +49.6151.357.0

geomagic.sales.japan@3dsystems.com
Tokyo : +81.3.5798.2510

geomagic.sales.korea@3dsystems.com
Seoul : +82.2.6262.9900

3D Systems provides comprehensive 3D products and services, including 3D printers, print materials, on-demand parts services and digital design tools. Its ecosystem supports advanced
applications from the product design shop to the factory floor to the operating room. As the originator of 3D printing and a shaper of future 3D solutions, 3D Systems has spent its 30 year
history enabling professionals and companies to optimize their designs, transform their workflows, bring innovative products to market and drive new business models.
Specifications subject to change without notice. 3D Systems, Geomagic and the 3D Systems Logo are trademarks of 3D Systems, Inc.
All other trademarks are the property of their respective owners.
Copyright © 3D Systems, Inc. All rights reserved. 3D Systems OpenHaptics Developer Edition EN 2016www.3dsystems.com