eye tracking systems by Arrington Research, Inc.

ViewPoint EyeTracker ® Interfaces

ViewPoint Eye Tracking Software provides real-time interfaces to other applications, either on the same computer or on a remote computer.
 Ethernet ViewPointClient ™

ViewPointClient ® is a program that can run on a remote computer (or on the same computer in a different folder) and communicates with the ViewPoint EyeTracker. ViewPointClient  interfaces to a copy of the DLL and exchanges data just like the ViewPoint EyeTracker does, but it typically takes less than one percent of CPU resources. This means that the same “layered” applications can be used on a remote computer just as easily as on the same computer. The ViewPoint EyeTracker includes an Ethernet server; the ViewPointClient establishes an Ethernet link with this server. ViewPointClient™ for PC and MAC OSX is included free with the ViewPoint EyeTracker ®.

ViewPointClient is provided in both 64-bit and 32-bit versions. The 32-bit version uses a 32-bit DLL that can be used with 32-bit versions of programs such as MATLAB and Presentation.

click to enlarge

 Interfaces to Third Party Products
Integrity™ is a suite of interfaces between the ViewPoint EyeTracker® and 3rd party applications, which is provided by Arrington Research, Inc. to ensure a professional quality, uniform, complete, and thorough interface to the favorite products of eye tracker users. These provide access to data, complete eye tracker control, and data integration and synchronization, all in real-time. Integrity is included free with ViewPoint... more>>

 Optional Communication Extras

Provides real-time analog voltage signals for a variety of real-time data from the eye tracker.  more>>

Digital In/Out:

Send and receive TLL pulses.. more>>

Please contact us to find out how we can help you interface to your product.
Software Developers Kit (SDK)
Powerful and easy to use. This is included as standard with ViewPoint:

DLL and dylib library interface.
.h and .lib files.
Sample source code

The following programs show two ways to print the X and Y positions of gaze calculated by ViewPoint.  

Sample-Code:   Simple polling example

   #include “vpx.h”
       while (true) {
          VPX_RealPoint gp; // a structure with two floats for (x,y) values.
          VPX_GetGazePoint( &gp ); // pass by reference.
ViewPoint gaze : ( %g, %g ) \n, gp.x, gp.y );

Sample Code:  Event-Driven Real-Time Callback-Function

   #include “vpx.h”

   int theCallbackFunction( int msg, int subMsg, int param1, int param2, void* userPtr )
      if ( ( VPX_DAT_FRESH == msg ) && ( EYE_A == subMsg ) ) {
         VPX_RealPoint gp; // a structure with two floats for (x,y) values.

         VPX_GetGazePoint2( EYE_A, &gp ); // pass variable by reference.
         printf(“ViewPoint gaze : ( %g, %g ) \n”, gp.x, gp.y );

   void main()
      VPX_InsertCallback( theCallbackFunction, this );

Sample Code for SDK / API

  • Python 
  • ANSI C VPX_SimpleC_Demo, simple sleep function
  • Win32 (C) VPX_Win32_Demo, event handling
  • MFC (C,C++) VPX_MFC_Demo, event handling 

The sample code shows how to: Open/close the ViewPoint application, Open/Close/Pause/Resume data files, insert real-time dataMarkers and real-time stringData, access all data in real-time, complete eye tracker control, merge data in real-time from various sources.


Arrington Research Eye Tracking Communication with Other Applications