Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

CaveScene.h

Go to the documentation of this file.
00001 /***************************************************************************
00002 *cr 
00003 *cr (C) Copyright 1995-2019 The Board of Trustees of the 
00004 *cr University of Illinois 
00005 *cr All Rights Reserved 
00006 *cr 
00007 ***************************************************************************/
00008 /***************************************************************************
00009 * RCS INFORMATION:
00010 *
00011 * $RCSfile: CaveScene.h,v $
00012 * $Author: johns $ $Locker: $ $State: Exp $
00013 * $Revision: 1.52 $ $Date: 2020年02月26日 15:51:10 $
00014 *
00015 ***************************************************************************/
00029 #ifndef CAVE_SCENE_H
00030 #define CAVE_SCENE_H
00031 
00032 #include "Scene.h"
00033 #if 1
00034 #include <cave.h>
00035 #else
00036 #include <cave_ogl.h>
00037 #endif
00038 #include "CaveRoutines.h"
00039 #include "CaveDisplayDevice.h" // for manipulating lights etc
00040 #include "WKFThreads.h" // for the barrier synchronization code
00041 
00042 class VMDApp;
00043 
00044 // This needs to grab shared memory for use in the CAVE
00045 // environment. It does it with one means.
00046 // 1) use a CaveScene::operator new so that the internal
00047 // scene information is shared (get_disp_storage and
00048 // free_disp_storage)
00049 // The shared memory is allocated through a global function,
00050 // new_from_CAVE_memory.
00051 // This must also call the left eye and right eye draws correctly
00052 
00055 class CaveScene : public Scene {
00056 private:
00057 VMDApp *app;
00058 
00060 wkf_barrier_t * draw_barrier; 
00061 
00063 CAVELOCK draw_rwlock; 
00064 
00065 public:
00067 CaveScene(VMDApp *);
00068 virtual ~CaveScene(void);
00069 
00072 void draw(DisplayDevice *);
00073 
00075 virtual int prepare();
00076 
00078 void *operator new(size_t);
00079 void operator delete(void *, size_t);
00080 };
00081 
00082 #endif /* CAVE_SCENE_H */
00083 

Generated on Wed Nov 19 02:45:40 2025 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002

AltStyle によって変換されたページ (->オリジナル) /