TAPs 0.7.7.3
TAPsOpenGLBaseViewManager.hpp
Go to the documentation of this file.
00001 /******************************************************************************
00002 TAPsOpenGLBaseViewManager.hpp
00003 
00004 Declares the pure virtual interface for OpenGL View Manager
00005 
00006 SUKITTI PUNAK   (07/20/2005)
00007 UPDATE          (07/30/2005)
00008 ******************************************************************************/
00009 #ifndef TAPs_OPENGL_BASE_VIEW_MANAGER_HPP
00010 #define TAPs_OPENGL_BASE_VIEW_MANAGER_HPP
00011 
00012 #include "../../Core/TAPsLib.hpp"
00013 
00014 BEGIN_NAMESPACE_TAPs__OpenGL
00015 //=============================================================================
00016 template <typename T>
00017 class OpenGLBaseViewManager {
00018 public:
00019     //----------------------------------------------------------------
00020     // Default Constructor and Destructor
00021     OpenGLBaseViewManager ();
00022     virtual ~OpenGLBaseViewManager ();
00023     //----------------------------------------------------------------
00024     enum ModifyViewType {
00025         MODIFY_VIEW_TRANSLATE,
00026         MODIFY_VIEW_ROTATE,
00027         MODIFY_VIEW_SCALE,
00028         INVALID_MODIFY_VIEW
00029     };
00030     //----------------------------------------------------------------
00031     // Pure Virtual Fns
00032     virtual void Setup () = 0;
00033     virtual void Cleanup () = 0;
00034     virtual void ReshapeView ( int width, int height ) = 0;
00035     virtual void UpdateView () = 0;
00036     virtual int GetWindowWidth () const = 0;
00037     virtual int GetWindowHeight () const = 0;
00038     virtual bool IsModifyingView () const = 0;
00039     virtual void StartModifyView ( ModifyViewType type, int x, int y ) = 0;
00040     virtual void StopModifyView () = 0;
00041     virtual void ModifyView ( int x, int y ) = 0;
00042     virtual bool ToScreen ( const Vector3<T> &obj, Vector3<T> &win ) const = 0;
00043     virtual bool FromScreen ( const Vector3<T> &win, Vector3<T> &obj ) const = 0;
00044     virtual T GetWindowToWorldScale () const = 0;
00045     virtual const Matrix4x4<T> &GetViewTransform () const = 0;
00046     virtual const Matrix4x4<T> &GetProjTransform () const = 0;
00047     //----------------------------------------------------------------
00048     // Get/Set Fns
00049     inline void SetClearColor ( const T color[4] );
00050     inline void SetClearColor ( T r, T g, T b, T a );
00051 private:
00052     //================================================================
00053     // Data Members
00054     //----------------------------------------------------------------
00055 }; // CLASS END: OpenGLBaseViewManager *****************************************
00056 //=============================================================================
00057 END_NAMESPACE_TAPs__OpenGL
00058 //-----------------------------------------------------------------------------
00059 // Include definition if TAPs_USE_EXPORT is not defined
00060 //#if !defined( TAPs_USE_EXPORT )
00061     #include "TAPsOpenGLBaseViewManager.cpp"
00062 //#endif
00063 //-----------------------------------------------------------------------------
00064 #endif
00065 //345678901234567890123456789012345678901234567890123456789012345678901234567890
00066 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines