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

RICBall.h

Go to the documentation of this file.
00001 
00002 //
00003 // $Id: RICBall.h,v 1.8 2003/06/06 15:00:44 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 RICBALL_H
00033 #define RICBALL_H
00034 
00035 #include <Inventor/SbLinear.h>
00036 #include "Observer.h"
00037 
00038 // Forward declarations.
00039 class SoMaterial;
00040 class SoMatrixTransform;
00041 class SoSphere;
00042 class SoTransformSeparator;
00043 class gstSeparator;
00044 class gstSphere;
00045 class gstTransform;
00046 
00059 class RICBall : public Subject
00060 {
00061 public:
00063   RICBall();
00064 
00066   virtual ~RICBall();
00067 
00069   static void EventCB(gstTransform*, void*, void*);
00070 
00072   static void GraphicCB(gstTransform*, void*, void*);
00073 
00075   SoTransformSeparator* getOIVNode();
00076 
00078   gstSeparator* getGHOSTNode();
00079 
00081   int isTouched();
00082 
00084   void setDiffuseColor(const SbVec3f&);
00085 
00087   void setRadius(const float&);
00088 
00090   void setTransform(const SbMatrix&);
00091 
00093   void setTransparency(const float&);
00094 
00095 protected:
00097 
00098 
00100   SoMaterial* material;
00101 
00103   SoTransformSeparator* separator;
00104 
00106   SoSphere* sphere;
00107 
00109   SoMatrixTransform* transform;
00110 
00112 
00114 
00115 
00117   gstSeparator* hapticSeparator;
00118 
00120   gstSphere* hapticSphere;
00121 
00123 };
00124 
00125 #endif /* RICBALL_H */

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