Advertisement
Guest User

hogrewidget.h

a guest
May 10th, 2012
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.69 KB | None | 0 0
  1. #ifndef HOGREWIDGET_H
  2. #define HOGREWIDGET_H
  3.  
  4. #include <QResizeEvent>
  5. #include <QCloseEvent>
  6.  
  7. #include <OGRE/Ogre.h>
  8. #include <QX11Info>
  9. //#include <QWidget>
  10. #include <QGLWidget>
  11. #include <aruco/aruco.h>
  12.  
  13. //#include <OISEvents.h>
  14. //#include <OISInputManager.h>
  15. //#include <OISKeyboard.h>
  16. //#include <OISMouse.h>
  17.  
  18. using namespace Ogre;
  19. //using namespace cv;
  20. using namespace std;
  21. using namespace aruco;
  22.  
  23. //class HOgreWidget : public QGLWidget
  24. class HOgreWidget : public QGLWidget, public Ogre::WindowEventListener, public Ogre::FrameListener
  25. {
  26.     Q_OBJECT
  27. public:
  28. //    explicit HOgreWidget(QWidget * = 0);
  29.     explicit HOgreWidget (QWidget * = 0, bool = true);
  30.     ~HOgreWidget ();
  31.  
  32.     int init (void);
  33.     int initLoop (void);
  34.     void startLoop (void);
  35.  
  36.     Root *getOgreRoot (void) { return mOgreRoot; }
  37.  
  38.     virtual Ogre::RenderSystem* chooseRenderer (RenderSystemList *);
  39.  
  40. signals:
  41.     void sgnSuccessInitalizeGL ();
  42.     void sgnResized (int, int);
  43.     void sgnClosed ();
  44.  
  45. public slots:
  46.  
  47. protected:
  48.     // Ogre::WindowEventListener
  49.     virtual void windowResized (Ogre::RenderWindow *);
  50.     virtual void windowClosed (Ogre::RenderWindow *);
  51.  
  52.     // Ogre::FrameListener
  53.     virtual bool frameRenderingQueued (const Ogre::FrameEvent &);
  54.     virtual bool frameStarted (const FrameEvent &);
  55.     virtual bool frameEnded (const FrameEvent &);
  56.  
  57.     virtual void resizeEvent (QResizeEvent *evt) {
  58. //        QSize sz = ;
  59.         cout << "HOgreWidget::resizeEvent=oldSize (" << evt->oldSize ().width () << ";" << evt->oldSize ().height () << "), " <<
  60.                 "newSize= (" << evt->size ().width () << ";" << evt->size ().height () << ")" << endl;
  61.         cout << "HOgreWidget::width ()=" << width () << ", height ()=" << height () << endl;
  62.     }
  63.  
  64.     virtual void closeEvent (QCloseEvent *evt) {
  65.         cout << "HOgreWidget::closeEvent" << endl;
  66.     }
  67.  
  68.     virtual void initializeGL () {
  69.         int iRes = init ();
  70.         initLoop ();
  71.  
  72.         cout << "HOgreWidget::initializeGL: " << iRes << endl;
  73.  
  74.         sgnSuccessInitalizeGL ();
  75.     }
  76.  
  77.     virtual void resizeGL (int, int ) {
  78.         cout << "HOgreWidget::resizeGL" << endl;
  79.     }
  80.  
  81. //    virtual void paintGL() {
  82. //        cout << "HOgreWidget::paintGL" << endl;
  83. //    }
  84.  
  85. private:
  86.     Root *mOgreRoot;
  87.     RenderWindow *mOgreRenderWindow;
  88.     Camera *mOgreCamera;
  89.     Viewport *mOgreViewport;
  90.     SceneManager *mOgreSceneMngr;
  91.     SceneNode* mOgreCameraNode;
  92.     Ogre::Entity* marOgreEntity [64];
  93.     SceneNode* marOgreObjectNode [64];
  94.     Ogre::AnimationState *marBaseAnim [64], *marTopAnim [64];
  95.     float mOgreScale;
  96.  
  97.     Ogre::String mOgrePluginsCfg;
  98.     Ogre::String mRenderSystemCfg;
  99.     Ogre::String mOgreResourcesCfg;
  100.  
  101.     /// For augmented Reality
  102.     int mWidth, mHeight;
  103.     unsigned char* mBuffer;
  104.     TexturePtr mTexture;
  105.     PixelBox mPixelBox;
  106.  
  107.     // ArUco variables
  108.     string TheInputVideo, TheInputCameraFile;
  109.     cv::VideoCapture TheVideoCapturer;
  110.     cv::Mat TheInputImage, TheInputImageUnd;
  111.     CameraParameters CameraParams, CameraParamsUnd;
  112.     MarkerDetector MDetector;
  113.     cv::vector <Marker> TheMarkers;
  114.     float TheMarkerSize;
  115.  
  116.     // OIS Input devices
  117. //    OIS::InputManager* mOISInputManager;
  118. //    OIS::Mouse*    mOISMouse;
  119. //    OIS::Keyboard* mOISKeyboard;
  120.  
  121.     bool mbAutoCreated;
  122.  
  123.     int initRenderSystem (void);
  124.     int createOgreRenderWindow (void);
  125.  
  126.     int loadResources (void);
  127.     int setupResource (void);
  128.  
  129.     int createOgreSceneManager (void);
  130.     int createOgreViewport (void);
  131.     int createOgreCamera (void);
  132.     int createOgreScene (void);
  133.  
  134.     int initAR (void);
  135.  
  136.     int createCameraBackground (void);
  137. };
  138.  
  139. #endif // HOGREWIDGET_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement