Documentation


viewer.h

Go to the documentation of this file.
00001 
00002 //                            viewer.h                                        //
00004 
00005 #ifndef VIEWER_H
00006 #define VIEWER_H
00007 
00008 #include <list>
00009 #include <QGLViewer/qglviewer.h>
00010 #include <animal/picking.h>
00011 
00012 #include "viewerQt.h"
00013 
00014 class MainController;
00015 
00016 namespace X3DTK{
00017 namespace Qt{
00018 
00020 class Viewer : public QGLViewer
00021 {
00022 public:
00024   Viewer();
00026   Viewer(QWidget* q, const char * c);
00028   ~Viewer(); 
00029    
00031   void viewAll();
00032   
00034   void updateFrustum();
00035   
00037   void init();
00038   
00043   bool viewCapture();
00044   
00046   void drawAfterAnimation();
00047   
00055   bool mpeg2encode();
00056   
00059   bool xvidcap();
00060   
00061   //---------------------- Setters -----------------------------------------
00062   
00064   void setMainController(::MainController * mainController);
00065   
00069   bool setSnapshot(bool b);
00070   
00073   void setSnapshotFilename(QString s);
00074   
00076   void setVideoName(QString);
00077   
00079   enum video_mode{  
00080                     ANIMATION=0,
00082                     DISPLAY=1,
00084                     SCREEN=2      
00085                  }; 
00087   void setVideoMode(video_mode mode)
00088   { videoMode = mode;}
00089   
00090   
00091   //---------------------- End - Setters ----------------------------------
00092    
00093   //---------------------- Getters -----------------------------------------
00094   
00096   ::MainController * getMainController(){ return mainController; }
00097   
00099   ViewerQt * getViewerGUI(){ return viewerGUI; }
00100   
00102   bool getSnapshot(){ return snapshot; }
00103   
00105   QString getVideoName();
00106   
00108   video_mode getVideoMode(){return videoMode;}
00109   
00110   //---------------------- End - Getters ------------------------------------
00111   
00112 protected :
00113   
00115   virtual void draw();
00116   
00121   virtual void postDraw();
00122   
00124   QString helpString() const;
00125   
00126   //-----------Mouse and key board events-------------
00128   virtual void keyPressEvent(QKeyEvent *e);
00130   virtual void keyReleaseEvent(QKeyEvent *e);
00132   virtual void mouseDoubleClickEvent(QMouseEvent * e);
00134   virtual void mouseMoveEvent(QMouseEvent * e);
00136   virtual void mousePressEvent(QMouseEvent * e);
00138   virtual void mouseReleaseEvent(QMouseEvent * e);
00139   //----------- End Mouse and key board events----------
00140  
00141 protected://Members
00143   ::MainController * mainController;
00144   
00146   ViewerQt * viewerGUI;
00147   
00149   bool snapshot;
00150   
00157   QString snapshotFilename;
00158   
00160   int snapshotCounter;
00161   
00165   QString snapshotFormat;
00166 
00171   video_mode videoMode;
00172   
00173   // ----------  FF: picking -----------------------------
00175   typedef enum { MOVE_CAMERA, SELECT_OBJECT } InteractionMode;
00176   
00178   InteractionMode interactionMode;
00179   
00181   typedef std::list<animal::ConstrainedItem*> ItemList;
00182   
00184   ItemList manipulatedObjects;
00185   
00187   animal::ConstrainedItem* selectedPoint;
00188   
00189   // ----------  end FF: picking -----------------------------
00190 };
00191 
00192 }// Qt
00193 }// X3DTK
00194 
00195 #endif

Generated on Thu Dec 23 13:52:27 2004 by doxygen 1.3.6