The CAVELib configuration files lists a number of setup options for the virtual reality display environment which may change, but which your program would not normally set. These include such things as which walls to use, dimensions of the walls, screen sizes, and types of tracker or input devices. When a CAVELib program starts, the function CAVEConfigure() will read the configuration file and save the information in a global record used by the various CAVELib functions. The default, system wide configuration file CAVE/etc/cave.config is read first. After reading this, CAVEConfigure() will look for the file CAVE/etc/HOST.config, where HOST is the machine name, as returned by /usr/bsd/hostname, /usr/bin/hostname, or /bin/hostname, on unix and linux platforms. On Windows the user must have the CAVE_HOME environement variable set to the location of the CAVELib (e.g. C:\vrco\CAVELib_3.1), then the configuration files will be read from the etc\ directory in the CAVE_HOME directory. Next, the file .caverc in the user's home directory is read (UNIX and Linux only) followed by the file ./.caverc in the directory the application is being executed from. Any entries in a configuration file will override the settings from the files that were read earlier. This means that a user's .caverc file(s) should only contain those values wished to be changed from the default. Most of the time a user will only override the "simulator" configuration option and the "displaymode" configuration option.
The configuration file is a text file with one configuration setting per line. Each setting consists of a keyword followed by one or more values for that configuration variable. Lines beginning with # are comments. The parsing of keywords by CAVEConfigure is case-insensitive. All options which specify linear measurements should have their units given at the end of the line; the units that may be used are inches, feet, centimeters, and meters; if no units are given, feet are used by default. The configuration options that use units are: InterocularDistance, HeadSensorOffset, WandSensorOffset, TransmitterOffset>, Origin, CAVEWidth, CAVEHeight, SimulatorView, Units, and ProjectionData.