TAPs 0.7.7.3
TAPsBaseHapticManager.hpp
Go to the documentation of this file.
00001 /******************************************************************************
00002 TAPsBaseHapticManager.hpp
00003 
00004 Declares the pure virtual interface for Haptic Manager
00005 
00006 SUKITTI PUNAK   (05/07/2006)
00007 UPDATE          (05/07/2006)
00008 ******************************************************************************/
00009 #ifndef TAPs_BASE_HAPTIC_MANAGER_HPP
00010 #define TAPs_BASE_HAPTIC_MANAGER_HPP
00011 
00012 //#include "../../../../Core/TAPsLib.hpp"
00013 #include <TAPs/OpenGLModelFromFile/TAPsReadModels.hpp>
00014 
00015 #include <HD/hd.h>
00016 #include <HL/hl.h>
00017 #include <HDU/hduMatrix.h>
00018 #include <HDU/hduQuaternion.h>
00019 #include <HDU/hduError.h>
00020 #include <HLU/hlu.h>
00021 
00022 // Class Forward
00023 template <typename T> class TAPs::OpenGL::BaseOpenGLViewManager;
00024 template <typename T> class TAPs::OpenGL::BaseModelManager;
00025 
00026 BEGIN_NAMESPACE_TAPs__Haptic
00027 //=============================================================================
00028 template <typename T>
00029 class BaseHapticManager {
00030 public:
00031     //----------------------------------------------------------------
00032     // Default Constructor and Destructor
00033     BaseHapticManager () {}
00034     virtual ~BaseHapticManager () {}
00035     //----------------------------------------------------------------
00036     virtual void Setup ( 
00037             TAPs::OpenGL::BaseModelManager<T> *      pModelManager,
00038             TAPs::OpenGL::BaseOpenGLViewManager<T> * pViewManager ) = 0;
00039     virtual void Cleanup () = 0;
00040     //----------------------------------------------------------------
00041     virtual void UpdateWorkSpace () = 0;
00042     virtual void DrawCursor ( OpenGL::Enum::DrawMode DM 
00043                                 = OpenGL::Enum::POLYGON ) = 0;
00044     virtual void DrawTooltipSphere ( OpenGL::Enum::DrawMode DM 
00045                                 = OpenGL::Enum::POLYGON ) = 0;
00046     virtual void DrawHapticObjects ( OpenGL::Enum::DrawMode DM 
00047                                 = OpenGL::Enum::POLYGON ) = 0;
00048     virtual bool IsManipulating () const = 0;
00049     //----------------------------------------------------------------
00050     // Retrun object ID that will be rendered hapticcally
00051     HLuint GetHapticObjectID () { return m_hHapticObjects; }
00052     //----------------------------------------------------------------
00053     // Model of Objects (Data Members)
00054     TAPs::OpenGL::OpenGLHalfEdgeModel<T> *  ToolOne;    // Tool#1
00055     T                                       ToolOneSphereTip[4];
00056     //TAPs::OpenGL::OpenGLHalfEdgeModel<T> *    ToolTwo;    // Tool#2
00057     //T                                     ToolTwoSphereTip[4];
00058 protected:
00059     //----------------------------------------------------------------
00060     // Object ID that will be rendered hapticcally
00061     HLuint  m_uiHapticObjects;
00062     //----------------------------------------------------------------
00063 }; // CLASS END: BaseHapticManager *********************************************
00064 //=============================================================================
00065 END_NAMESPACE_TAPs__Haptic
00066 //-----------------------------------------------------------------------------
00067 // Include definition if TAPs_USE_EXPORT is not defined
00068 //#if !defined( TAPs_USE_EXPORT )
00069     //#include "TAPsBaseHapticManager.cpp"
00070 //#endif
00071 //-----------------------------------------------------------------------------
00072 #endif
00073 //345678901234567890123456789012345678901234567890123456789012345678901234567890
00074 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines