![]() |
TAPs 0.7.7.3
|
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