Chapter 7 - Functions, Data Types, and Macros
Previous  Top  Next


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
CAVESENSOR (i)  
CAVENETSENSOR(user,i)  
CAVEBUTTONn = [ 0 | 1 ]  
CAVE_JOYSTICK_X  
CAVE_JOYSTICK_Y  
int CAVENear,CAVEFar  
int CAVEEye  
int CAVEWall  
float* CAVEFramesPerSecond  
float* CAVETime  
char* CAVEVersion  
CAVE_CONTROLLER_ST*CAVEController  
int* CAVENumUsers  
CAVE_USER_ST** CAVEUser  
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* ori)  
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)  
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 microseconds)  
CAVE_WALL_ID CAVEWallID(char* wallName)  
char* CAVEWallName(CAVE_WALL_ID wall)  
void CAVEWallTransform(void)  
void CAVEWandTransform(void)  
Display* CAVEXDisplay(void)  
XVisualInfo* CAVEXVisualInfo(void)  
Window CAVEXWindow(void)  
 
pfCAVELib Functions
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