Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

RICDemoApp.h

Go to the documentation of this file.
00001 
00002 //
00003 // $Id: RICDemoApp.h,v 1.5 2003/06/02 21:59:59 scharver Exp $
00004 //
00005 // Author: Chris Scharver
00006 // Email: scharver@evl.uic.edu
00007 // Copyright (c) 2003 Electronic Visualization Laboratory,
00008 //                    University of Illinois at Chicago
00009 //
00010 // Permission is hereby granted, free of charge, to any person
00011 // obtaining a copy of this software and associated documentation
00012 // files (the "Software"), to deal in the Software without
00013 // restriction, including without limitation the rights to use, copy,
00014 // modify, merge, publish, distribute, sublicense, and/or sell copies
00015 // of the Software, and to permit persons to whom the Software is
00016 // furnished to do so, subject to the following conditions:
00017 //
00018 // The above copyright notice and this permission notice shall be
00019 // included in all copies or substantial portions of the Software.
00020 //
00021 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00022 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00023 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00024 // NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
00025 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00026 // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00027 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00028 // DEALINGS IN THE SOFTWARE.
00029 //
00031 
00032 #ifndef RICDEMOAPP_H
00033 #define RICDEMOAPP_H
00034 
00035 #include "OIVAppShell.h"
00036 #include "Observer.h"
00037 
00038 #include <Inventor/SbBox.h>
00039 #include <Inventor/SoDB.h>
00040 #include <Inventor/actions/SoGLRenderAction.h>
00041 #include <Inventor/actions/SoHandleEventAction.h>
00042 #include <Inventor/nodes/SoPointLight.h>
00043 #include <Inventor/nodes/SoSeparator.h>
00044 #include <Inventor/nodes/SoSphere.h>
00045 #include <Inventor/nodes/SoTransform.h>
00046 
00047 #include <gstPHANToM.h>
00048 #include <gstPHANToM_SCP.h>
00049 #include <gstScene.h>
00050 #include <gstTransform.h>
00051 #include <gstTranslateManipulator.h>
00052 
00064 class RICDemoApp : public OIVAppShell, public Observer
00065 {
00066 public:
00068   RICDemoApp(int, char**);
00069 
00071   virtual ~RICDemoApp();
00072 
00074   static void PointerGraphicCB(gstTransform*, void*, void*);
00075 
00077 
00078 
00080   virtual void buildScene();
00081 
00083   virtual void frameUpdate();
00084 
00086   virtual void update();
00087 
00089 
00091   SbBox3f getWorkspaceSize();
00092 
00094   void setPhantomOffset(const SbVec3f&);
00095 
00097   virtual void update(Subject*);
00098 
00099 protected:
00101   bool m_canTranslate;
00103   int m_stylusButtonOn;
00104 
00106 
00107 
00109   SoSeparator* m_ghostSep;
00110 
00112   SoTransform* m_phantomOffset;
00113 
00115   SoTransform* m_phantomTransform;
00116 
00118 
00120 
00121 
00123   gstScene* m_hapScene;
00124 
00126   gstSeparator* m_hapRoot;
00127 
00129   gstPHANToM* m_phantom;
00130 
00132   gstPHANToM_SCP* m_phantomSCP;
00133 
00135   gstTranslateManipulator* m_translateManip;
00136 
00138   SbBox3f m_workspaceSize;
00139 
00141 
00142 };
00143 
00144 #endif /* RICDEMOAPP_H */

Generated on Thu Jun 12 10:13:13 2003 for RICDemo by doxygen1.2.18