TQtCoinViewerImp.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROOT_TQtCoinViewerImp
00017 #define ROOT_TQtCoinViewerImp
00018
00020
00021
00022
00023
00024
00025
00027
00028 #include "RVersion.h"
00029 #if ROOT_VERSION_CODE >= 262400
00030
00031 # include "TQGLViewerImp.h"
00032 #else
00033 # include "TGLViewerImp.h"
00034 #endif
00035
00036 #include "TString.h"
00037
00038 #ifndef __CINT__
00039 # include <qglobal.h>
00040 # if QT_VERSION < 0x40000
00041 # include <qmainwindow.h>
00042 # include <qptrvector.h>
00043 # else
00044 # include <q3mainwindow.h>
00045 # include <q3ptrvector.h>
00046 # endif
00047 # include <qlabel.h>
00048 #else
00049 # if QT_VERSION < 0x40000
00050 class QMainWindow;
00051 # else
00052 class Q3MainWindow;
00053 # endif
00054 class QString;
00055 #endif
00056
00057
00058 class SoSeparator;
00059 class SoNode;
00060 class SoMaterial;
00061 class SoCallback;
00062 class SoQtRenderArea;
00063 class SoPerspectiveCamera;
00064 class SoSelection;
00065
00066
00067
00068
00069
00070 #include <vector>
00071
00072 class QAction;
00073 class TVirtualPad;
00074 class SoQtExaminerViewer;
00075 class TObject3DView;
00076
00077 #if QT_VERSION < 0x40000
00078 class TQtCoinViewerImp :public QMainWindow, public TGLViewerImp {
00079 #else
00080
00081 class TQtCoinViewerImp :public Q3MainWindow, public TGLViewerImp {
00082
00083 #endif
00084 Q_OBJECT
00085 private:
00086
00087 SoQtRenderArea *fInventorViewer;
00088 SoQtExaminerViewer *qt_viewer;
00089 SoSeparator *fRootNode;
00090 SoSeparator *fShapeNode;
00091 SoSelection *fSelNode;
00092 SoPerspectiveCamera *myCamera;
00093 SoPerspectiveCamera *fCamera;
00094
00095 std::vector<int> flist[3];
00096
00097 TQtCoinViewerImp(const TQtCoinViewerImp&);
00098 void operator=(const TQtCoinViewerImp&) {}
00099 protected:
00100
00101 TString fSaveFile;
00102 TString fSaveType;
00103 Int_t fMaxSnapFileCounter;
00104
00105
00106 TVirtualPad *fPad;
00107
00108
00109
00110 #ifndef __CINT__
00111 #if QT_VERSION < 0x40000
00112 QPtrVector<QLabel> fStatusBar;
00113 #else
00114
00115 Q3PtrVector<QLabel> fStatusBar;
00116
00117 #endif
00118 #endif
00119
00120
00121
00122
00123
00124
00125
00126 QAction *fSnapShotAction;
00127
00128
00129
00130
00131 protected:
00132 void CopyFile(const QString &fileName2Copy,Int_t counter);
00133 void CreateViewer(const char *name="qcoinviewer");
00134
00135 void MakeMenu();
00136
00137
00138
00139
00140
00141
00142
00143 public:
00144 enum {kStatusPopIn, kStatusNoBorders, kStatusOwn, kStatusPopOut};
00145
00146
00147
00148
00149 TQtCoinViewerImp(TVirtualPad *pad, const char *title="Coin Viewer", UInt_t width=400, UInt_t height=300);
00150
00151
00152 virtual ~TQtCoinViewerImp();
00153 void AddRootChild(ULong_t id);
00154 virtual void Clear();
00155
00156 virtual void CreateStatusBar(Int_t *parts, Int_t nparts=1);
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166 std::vector<int> GetMyGLList1() { return flist[0]; }
00167 std::vector<int> GetMyGLList2() { return flist[1]; }
00168 std::vector<int> GetMyGLList3() { return flist[2]; }
00169
00170
00171
00172
00173 virtual void Update();
00174
00175 virtual ULong_t GetViewerID() const;
00176
00177
00178 virtual void DisconnectPad();
00179
00180 virtual TVirtualPad *GetPad();
00181 void CreateViewer(const int id);
00182 void EmitSelectSignal(TObject3DView * view);
00183 void SetBoxSelection();
00184 void SetLineSelection();
00185
00186 #ifndef __CINT__
00187 public slots:
00188
00189
00190
00191
00192 virtual void AddGLList(unsigned int list, int type=1);
00193 virtual void RemoveGLList(unsigned int list);
00194
00195 virtual void PrintCB();
00196 virtual void CopyCB();
00197 virtual void CopyFrameCB();
00198 virtual void SaveCB();
00199 virtual void OpenCB();
00200 virtual void ClearCB();
00201 virtual void SaveAsCB();
00202
00203
00204 virtual void SetBackgroundColor(Color_t color);
00205
00206 virtual void ShowObjectInfo(TObject *, const QPoint&);
00207 virtual void SnapShotSaveCB(bool);
00208 virtual void SaveSnapShot(bool);
00209 virtual void ShowFrameAxisCB(bool);
00210 virtual void ShowLightsCB(bool);
00211 virtual void SynchTPadCB(bool);
00212 virtual void SetRotationAxisAngle(const float x, const float y, const float z, const float a);
00213 virtual void SetSnapFileCounter(int counter);
00214
00215
00216 virtual void AboutCB();
00217 virtual void HelpCB();
00218 signals:
00219 void CoinObjectSelected(TObject *, const QPoint&);
00220 #endif
00221
00222
00223 };
00224
00225
00226 #endif
Generated on Wed Sep 27 15:15:34 2006 for QtCoinViewer by
1.3.7