CAVELib 3.1.1 User and Reference Guide
Keyword Index


Chapter 1 - CAVELib Programming
Introduction
Compiling a CAVELib Program
CAVELib Applications
W2K CAVELib Application Projects
Workspace
Project
Project Settings
Source Files
CAVELib Callbacks
Rendering
Interaction
Trackers
Controller
Navigation
Multi-Threading
Shared Memory
Data Synchronization
Program Flow
CAVELib On Clusters
Form of a Basic CAVELib Program
Program Source Code
Program Structure
Chapter 2 - pfCAVELib Programming
Introduction
Basic pfCAVE Program
pfCAVE Functions
Overview
Functions
Special Notes
Simulator Mode
CAVELib Functions & Variables
Chapter 3 - Simulation
Introduction
Simulated Tracking
Head Controls
Wand Controls
Simulated Wand Controls
Simulated Display
Chapter 4 - Sample Programs
CAVELib Sample Program 1
CAVELib Sample Program 2
Chapter 5 - Software Configuration
Introduction
Configuration Keywords
Legacy Configuration Keywords
Chapter 6 - Hardware Configurations
i3D Structures
Projectors and Mirrors
Stereo Glasses
Stereo Emitters
Controller
Tracking Systems
Workstation
General Configuration Notes
Basic Configuration Display
Canonical Displays, CAVE and Box Format Displays
ImmersaDesk(TM) / Desk-Type Display
Holobench / Multi-Screen Desk
Reality Center / Curved Screen Display
Single Pipe Super Desktop Setup
Three Pipe Super Desktop Setup
Three Pipe Fixed Projection Point Setup
Additional Configuration Options for Clusters
Master Node Configuration Settings
Slave Node Configuration Settings
Chapter 7 - Functions, Data Types, and Macros
Overview
Data Types
CAVE_WALL_ID
CAVEID
CAVE_SENSOR_ST
CAVE_CONTROLLER_ST
CAVENETID
CAVE_USER_ST
CAVELOCK
CAVECALLBACK
CAVE_ST
Basic CAVELib Functions
void CAVEConfigure(int *argc,char **argv,char **appdefaults)
void CAVEDisplay(CAVECALLBACK function,int num_args,...)
void CAVEExit(void)
void CAVEFrameFunction(CAVECALLBACK function,int num_args,...)
void CAVEInit(void)
void CAVEInitApplication(CAVECALLBACK function,int num_args,...)
void CAVEStopApplication(CAVECALLBACK function,int numargs,...)
CAVE Macros, Variables, and Miscellaneous Functions
Sensor & Controller Macros
CAVESENSOR(i)
CAVENETSENSOR(user,i)
CAVEBUTTONn = [ 0 | 1 ]
CAVE_JOYSTICK_X
CAVE_JOYSTICK_Y
Global Variables
int CAVENear,CAVEFar
int CAVEEye
int CAVEWall
float *CAVEFramesPerSecond
float *CAVETime
char *CAVEVersion
CAVE_CONTROLLER_ST *CAVEController
int *CAVENumUsers
CAVE_USER_ST **CAVEUser
Miscellaneous Functions
void CAVEAddCallback(CAVEID cbtype, CAVECALLBACK function, void *app_data)
volatile void * CAVEAllocDisplayData(size_t size)
volatile void * CAVEAllocDisplayDataByID(int id,size_t size)
int CAVEButtonChange(int button)
float CAVEConvertFromCAVEUnits(float val,CAVEID units)
float CAVEConvertToCAVEUnits(float val,CAVEID units)
void CAVEDisplayBarrier(void)
boolean CAVEDisplayDataChanged(volatile void *buf)
boolean CAVEDisplayDataChangedByID(int id)
boolean CAVEDisplayDataIDExists(int id)
void CAVEDisplaySync(void)
void CAVEDistribBarrier(int chanID)
void CAVEDistribCloseConnection(int chanID)
boolean CAVEDistribMaster(void)
int CAVEDistribNumNodes(void)
void CAVEDistribOpenConnection(int chanID)
int CAVEDistribRead(int chanID,void *buffer,size_t size)
void CAVEDistribWrite(int chanID,void *buffer,size_t size)
void CAVEFree(void *mem)
void CAVEFreeLock(CAVELOCK lock)
void CAVEGetActiveChannels(CAVEID wall[CAVE_NUM_WALL_IDS])
boolean CAVEgetbutton(CAVE_DEVICE_ID device)
volatile void * CAVEGetDisplayData(volatile void *buf,size_t *size)
volatile void * CAVEGetDisplayDataByID(int id,size_t *size)
int CAVEGetDisplayDataID(void *buf)
void CAVEGetEyePosition(CAVEID eye,float *x,float *y,float *z)
int CAVEGetFrameNumber(void)
void CAVEGetOrientation(CAVEID oname,float *angle)
void CAVEGetPipeChannels(CAVEID wall[CAVE_NUM_WALL_IDS])
void CAVEGetPosition(CAVEID posname,float *pos)
void CAVEGetSensorOrientation(CAVE_SENSOR_ST *sensor,CAVEID frame,float *angle)
void CAVEGetSensorPosition(CAVE_SENSOR_ST *sensor,CAVEID frame,float *pos)
void CAVEGetSensorVector(CAVE_SENSOR_ST *sensor,CAVEID vecname,float *vec)
float CAVEGetTime(void)
long CAVEgetvaluator(CAVE_DEVICE_ID device)
void CAVEGetVector(CAVEID vectorid,float vector[3])
void CAVEGetViewport(int *origX,int *origY,int *width,int *height)
void CAVEGetWallCorners(CAVE_WALL_ID id, float* ll, float* ul, float* lr)
void CAVEGetWallCornersEye(CAVE_WALL_ID id, CAVEID walleye, float* ll, float* ul, float* lr)
void CAVEGetWindowGeometry(int *origX,int *origY,int *width,int *height)
GLXContext CAVEGLXContext(void)
void CAVEHalt(void)
void CAVEHeadTransform(void)
int CAVEInStereo(void)
void *CAVEMalloc(size_t size)
boolean CAVEMasterDisplay(void)
boolean CAVEMasterWall(void)
void CAVENavConvertCAVEToWorld(float inposition[3],float outposition[3])
void CAVENavConvertVectorCAVEToWorld(float invector[3],float outvector[3])
void CAVENavConvertVectorWorldToCAVE(float invector[3],float outvector[3])
void CAVENavConvertWorldToCAVE(float inposition[3],float outposition[3])
void CAVENavGetMatrix(Matrix m)
void CAVENavInverseTransform()
void CAVENavLoadIdentity(void)
void CAVENavLoadMatrix(Matrix m)
void CAVENavLock(void)
void CAVENavMultMatrix(Matrix m)
void CAVENavPreMultMatrix(Matrix m)
void CAVENavRot(float angle, char axis)
void CAVENavScale(float xscale, float yscale, float zscale)
void CAVENavTransform()
void CAVENavTranslate(float xtrans, float ytrans, float ztrans)
void CAVENavUnlock(void)
void CAVENavWorldRot(float angle, char axis)
void CAVENavWorldScale(float xscale, float yscale, float zscale)
void CAVENavWorldTranslate(float xtrans, float ytrans, float ztrans)
CAVE_USER_ST * CAVENetFindUser(CAVENETID id)
void CAVENetGetOrientation(volatile CAVE_USER_ST *user,CAVEID oname,float *or)
void CAVENetGetPosition(volatile CAVE_USER_ST *user,CAVEID posname,float *pos)
void CAVENetGetVector(volatile CAVE_USER_ST *user,CAVEID vecname,float *vec)
void CAVENetHeadTransform(volatile CAVE_USER_ST *user)
int CAVENetReceive(void *buf,size_t size,CAVE_USER_ST **user)
void CAVENetSend(void *data,size_t size)
void CAVENetWandTransform(volatile CAVE_USER_ST *user)
int CAVENewID(void)
CAVELOCK CAVENewLock(void)
int CAVENumPipes(void)
void CAVEPassAllDisplayData(void)
void CAVEPassDisplayData(volatile void *buf,size_t size)
void CAVEPassDisplayDataByID(int id,size_t size)
int CAVEPipeNumber(void)
CAVEID CAVEProcessType(void)
void CAVEResetTracker(void)
void CAVEScramnetFree(void *mem)
void * CAVEScramnetMalloc(size_t size)
void CAVESensorTransform(CAVE_SENSOR_ST *sensor)
void CAVESetOption(CAVEID option,int value)
CAVE_DIST_NETWORKSLAVE
CAVE_GL_ACCUMSIZE
CAVE_GL_SAMPLES
CAVE_GL_ACCUMSIZE
CAVE_GL_SAMPLES
CAVE_GL_STENCILSIZE
CAVE_NET_BUFFERSIZE
CAVE_NET_NUMBUFFERS
CAVE_NET_UPDATELOCALDATA
CAVE_PROJ_INCLUDENAVIGATION
CAVE_PROJ_USEWINDOW
CAVE_PROJ_USEMODELVIEW
CAVE_SCRAMNET_ARENASIZE
CAVE_SHMEM_SIZE
CAVE_SHMEM_ADDRESS
CAVE_SIM_DRAWOUTLINE
CAVE_SIM_DRAWTIMING
CAVE_SIM_DRAWUSER
CAVE_SIM_DRAWWAND
CAVE_SIM_VIEWMODE
CAVE_TRACKER_SIGNALRESET
void CAVESetReadLock(CAVELOCK lock)
void CAVESetWriteLock(CAVELOCK lock)
void CAVESleep(float seconds)
CAVEID CAVEUnits(void)
void CAVEUnsetReadLock(CAVELOCK lock)
void CAVEUnsetWriteLock(CAVELOCK lock)
void *CAVEUserSharedMemory(int size)
void CAVEUSleep(unsigned long milliseconds)
CAVE_WALL_ID CAVEWallName(char* wallName)
char * CAVEWallName(CAVE_WALL_ID wall)
void CAVEWallTransform(void)
void CAVEWandTransform(void)
Display * CAVEXDisplay(void
XVisualInfo * CAVEXVisualInfo(void)
Window CAVEXWindow(void)
pfCAVE Function Calls
pfList * pfCAVEChannels(void)
void pfCAVEConfig(int *argc, char **argv, char **appdefaults)
void pfCAVEDCSHeadTransform(pfDCS *dcs)
void pfCAVEDCSNavTransform(pfDCS *dcs)
void pfCAVEDCSNetHeadTransform(pfDCS *dcs,volatile CAVE_USER_ST *user)
void pfCAVEDCSNetWandTransform(pfDCS *dcs,volatile CAVE_USER_ST *user)
void pfCAVEDCSWandTransform(pfDCS *dcs)
void pfCAVEDCSSensorTransform(pfDCS *dcs,CAVE_SENSOR_ST *sensor)
void pfCAVEDrawFunc(pfChanFuncType func)
void pfCAVEHalt(void)
void pfCAVEInitChannels(void)
pfChannel *pfCAVEMasterChan(void)
pfList * pfCAVEPipes(void)
void pfCAVEPostDrawFunc(pfChanFuncType func)
void pfCAVEPostFrame(void)
void pfCAVEPreDrawFunc(pfChanFuncType func)
void pfCAVEPreFrame(void)
Environment Variables
CAVE_HOME
CAVEDEBUGCONFIG
Chapter 8 - Supporting Software
Chapter 9 - CAVELib with FLEXlm Licensing
Introduction
Benefits
Installing
Terminology
Chapter 10 - Bergen Sound Server & Library
Introduction
Library Interface
bergenServer class
bergenSound class
bergenSample class
snerd
Chapter 11 - CAVELib 3.1 Install Guide
Step One - Hardware
Step Two - Installation
Step Three - Configuration Files
Step Four - Testing
Appendix A - CAVELib ChangeLog

© 2004 VRCO, Inc.