head	1.1;
access
	billh
	dalke;
symbols;
locks; strict;
comment	@# @;


1.1
date	94.11.27.21.35.22;	author billh;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@############################################################################
# RCS INFORMATION:
#
#       $RCSfile$
#       $Author$        $Locker$                $State$
#       $Revision$      $Date$
#
############################################################################
# DESCRIPTION:
#
#	.tracker file from University of North Carolina trackerlib library
#	------------------------------------------------------------------
#
# master .tracker file:  configuration file for tracker library
#
#  Description:
#
# 	This file is used to initialize the tracker table t_table for the
# tracker library.  Keyword/value pairs are taken from this file and are
# put (virtually unchecked) into the tracker table.  Thus, garbage in this
# file will correspond to garbage in the tracker table.
#
# 	The tracker library looks for this file first in the master directory,
# currently /vr/lib, then in the user's home directory, then in the
# current directory.  Each file that is found overrides the previous settings.
# This way, a user's local .tracker file can have settings for overriding 
# the master .tracker file's settings for a particular tracker or trackers.
# The local .tracker files can specify only those settings which need to be
# overridden-  i.e., they need not specify all settings for all trackers.
# 
# 	The first tracker specified in this file is the one used by
# trackerlib if no TRACKER environment variable is specified.
#
# 	Whitespace in this file is ignored, and the comment character is 
# (obviously) '#'.  The comment character need not appear as the first
# character on the line.  Values associated with keywords need not be quoted
# (quotes are ignored), but should not contain whitespace.  Case matters.
#
# 	For the curious, the definition for the tracker table is in 
# /vr/unc/tracker/tracker.h, along with the other source for 
# the tracker library.  The lex and yacc source for parsing this file are in
# lexconfig.l and parser.y, respectively.  Compile-time definitions are set
# in table.h, which is included by globals.c.
#
#
# Keyword	Description
# =======	===========
#
# tracker	main keyword.  This defines the beginning of a new tracker
#	        description, and the end of any previous tracker description.
#		The name given must not contain any white space and should have
#		the form appropriate for that type of tracker.
#
#		These names are typically the type of tracker followed by
#		a chronological number:
#
#		Polhemus: polhemusN	(where N = 1, 2, 3...)
#
#		    Example: polhemus1, polhemus2, etc
#
#	        Mechanical:
#
#		Optical:
#
# interface
#   	
#   	This specifies whether the tracker is connected to the host via
#   	a serial interface or some sort of parallel interface.  At UNC,
#   	we have serial, A/D, and a National Instruments IEEE 488 interface,
#   	so allowable values for this are "serial", "analog_digital", and
#   	"national_488".  We must distinguish between different manufacturers
#   	for parallel devices since this value is used to switch between
#   	drivers.
#
#
# interface_info
#   	
#   	This field is for any data relevant to the interface;  for serial
#   	lines, it's the baud rate.  For parallel and a/d interfaces, this
#   	field is currently unused.
#
#
# device
# 	The value associated with this keyword is the actual name
#	of the /dev entry associated with the tracker.  Typically,
#	this is also a symbolic link to the actual /dev/tty* entry
#	that gives some indication of which device this port is 
#	connected to.  If there is no such port (eg., for a mech-
#	anical tracker), just set this value to the string "NULL".
#	
#		Example: device = /dev/polhemus.hmdlab
#
#   	For the parallel devices (i.e., National's), this is the
#   	name for the entry configured into the kernel for that device.
#   	(Unused so far for a/d).
#
# x_offset, y_offset, z_offset
#
#	These values specify the position of the tracker's origin
#	in room coordinates, with the origin of the room taken to
#	be in its south-west corner, which is further defined to
#	be the (possibly imaginary) intersection of the planes of 
#	the west and south walls.  Specified in meters.  These offsets
#	are only important for applications using the room's origin
#	as the origin, rather than the tracker's origin;  the tracker's
#	is used by default, which can be changed with the t_frame()
#	function.  
#
# yaw_offset, pitch_offset, roll_offset
#
#	These specify the yaw, pitch and roll (IN THAT ORDER) 
#	to apply to the tracker's coordinate system (relative to the
#	tracker coordinate system itself) in order to bring
#	it into the following coordinate system:
#		
#		  x == east,  y == north,  z == up
#
#	Thus, to arrive at these values, first rotate the tracker 
#	coord sys about its Z axis by yaw_offset, then about its NEW 
#	Y axis by pitch, and then about its NEW X axis by roll.  
#	The values are in degrees, and any or all of them may be 0.
#	After these rotations, the tracker's transformed axes should
#	line up with those described above.  All trackers using 
#	trackerlib should conform to this coordinate system.
#
#	Note that these angles give the assumed coordinate system in terms
#	of the tracker's actual coordinate system,which is the opposite of 
#	what we want at run-time.  At run-time, we want to transform
#	points in the old system into the assumed coordinate system.  
#	Therefore, the code actually takes the transpose/conjugate/inverse
#	of this transformation for its internal use.
#


#
# null tracker-  for the case when you don't want to use a tracker, but
#   want to be able to make the same calls in your code
#
tracker = null
	
	interface = serial
	
	# baud rate
	interface_info = 19200

	device = /dev/null
	
	# offsets from southwest corner of room to tracker's origin
	#  here, the sw corner is the imaginary corner formed by the wall 
	#   that the projection is on (the west wall) and by the glass wall
	#   to the south.
	x_offset = 0.0
	y_offset = 0.0
	z_offset = 0.0
	
	# orientation of assumed coordinate system in terms of actual CS
	yaw_offset =    0.0
	pitch_offset = 	0.0
	roll_offset =   0.0


#
# polhemus tracker
#
tracker = polhemus1

	interface = serial
	
	# baud rate
	interface_info = 19200
	
	# /dev entry currently associated with this tracker
	device = /dev/ttyd46

	# offsets from southwest corner of room to tracker's origin
	x_offset = 0.0
	y_offset = 0.0
	z_offset = 0.0
	
	# orientation of assumed coordinate system in terms of actual CS
	yaw_offset =   0.0
	pitch_offset = 0.0
	roll_offset =  0.0

tracker = polhemus_fake

	interface = serial
	
	# baud rate
	interface_info = 19200
	
	# /dev entry currently associated with this tracker
	device = /dev/ttyd48

	# offsets from southwest corner of room to tracker's origin
	x_offset = 0.0
	y_offset = 0.0
	z_offset = 0.0
	
	# orientation of assumed coordinate system in terms of actual CS
	yaw_offset =   0.0
	pitch_offset = 0.0
	roll_offset =  0.0


#
# BOOM display
#
tracker = boom1

	interface = serial
	
	# baud rate
	interface_info = 9600
	
	# /dev entry currently associated with this tracker
	device = /dev/ttyd4

	# offsets from southwest corner of room to tracker's origin
	x_offset = 0.0
	y_offset = 0.0
	z_offset = 0.0
	
	# orientation of assumed coordinate system in terms of actual CS
	yaw_offset =   0.0
	pitch_offset = 0.0
	roll_offset =  0.0

tracker = boom_fake

	interface = serial
	
	# baud rate
	interface_info = 9600
	
	# /dev entry currently associated with this tracker
	device = /dev/ttyd48

	# offsets from southwest corner of room to tracker's origin
	x_offset = 0.0
	y_offset = 0.0
	z_offset = 0.0
	
	# orientation of assumed coordinate system in terms of actual CS
	yaw_offset =   0.0
	pitch_offset = 0.0
	roll_offset =  0.0

tracker = fastrak1

	interface = serial
	
	# unused
	interface_info = 19200
	
	# this is the name of the device as configured into the kernel
	device = /dev/ttyd3
	
        # position of the tracker, relative to the origin of the ROOM, in
        # meters
	x_offset = 0
	y_offset = 0.42
	z_offset = 2.0
	
	# orientation of assumed coordinate system in terms of actual CS
	yaw_offset =  -90.0
	pitch_offset = 0.0
	roll_offset = 180.0

#########################################
# end of .tracker file
#########################################

@
