Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TGLAutoRotator.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/eve:$Id$
0002 // Author: Matevz Tadel 2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TGLAutoRotator
0013 #define ROOT_TGLAutoRotator
0014 
0015 #include "TObject.h"
0016 #include "TString.h"
0017 
0018 class TGLCamera;
0019 class TGLViewer;
0020 class TTimer;
0021 class TStopwatch;
0022 
0023 class TGLAutoRotator : public TObject
0024 {
0025 private:
0026    TGLAutoRotator(const TGLAutoRotator&) = delete;
0027    TGLAutoRotator& operator=(const TGLAutoRotator&) = delete;
0028 
0029 protected:
0030    TGLViewer  *fViewer;
0031    TGLCamera  *fCamera;
0032    TTimer     *fTimer;
0033    TStopwatch *fWatch;
0034 
0035    Bool_t     fRotateScene;
0036 
0037    Double_t   fDeltaPhi;
0038 
0039    Double_t   fDt;
0040    Double_t   fWPhi;
0041    Double_t   fWTheta, fATheta;
0042    Double_t   fWDolly, fADolly;
0043 
0044    Double_t   fThetaA0, fDollyA0;
0045    Bool_t     fTimerRunning;
0046 
0047    TString    fImageName;
0048    Int_t      fImageCount;
0049    Bool_t     fImageAutoSave;
0050 
0051    TString    fImageGUIBaseName;
0052    Int_t      fImageGUIOutMode;
0053 
0054 public:
0055    TGLAutoRotator(TGLViewer* v);
0056    ~TGLAutoRotator() override;
0057 
0058    TGLViewer* GetViewer() const { return fViewer; }
0059    TGLCamera* GetCamera() const { return fCamera; }
0060 
0061    // --------------------------------
0062 
0063    void Start();
0064    void Stop();
0065 
0066    void Timeout();
0067    void RotateScene();
0068 
0069    // --------------------------------
0070 
0071    Bool_t   IsRunning() const     { return fTimerRunning; }
0072 
0073    Bool_t   GetRotateScene() const { return fRotateScene; }
0074    void     SetRotateScene(Bool_t rotateScene) {Stop(); fRotateScene = rotateScene; }
0075 
0076    Double_t GetDeltaPhi() const {return fDeltaPhi; }
0077    void     SetDeltaPhi(Double_t dPhi) {fDeltaPhi = dPhi; }
0078 
0079    Double_t GetDt() const         { return fDt; }
0080    void     SetDt(Double_t dt);
0081 
0082    Double_t GetWPhi() const       { return fWPhi; }
0083    void     SetWPhi(Double_t w)   { fWPhi = w;    }
0084 
0085    Double_t GetWTheta() const     { return fWTheta; }
0086    void     SetWTheta(Double_t w) { fWTheta = w;    }
0087    Double_t GetATheta() const     { return fATheta; }
0088    void     SetATheta(Double_t a);
0089 
0090    Double_t GetWDolly() const     { return fWDolly; }
0091    void     SetWDolly(Double_t w) { fWDolly = w;    }
0092    Double_t GetADolly() const     { return fADolly; }
0093    void     SetADolly(Double_t a);
0094 
0095    TString  GetImageName() const              { return fImageName;  }
0096    void     SetImageName(const TString& name) { fImageName = name;  }
0097    Int_t    GetImageCount() const             { return fImageCount; }
0098    void     SetImageCount(Int_t ic)           { fImageCount = ic;   }
0099    Bool_t   GetImageAutoSave() const          { return fImageAutoSave; }
0100    void     SetImageAutoSave(Bool_t s)        { fImageAutoSave = s; }
0101 
0102    void     StartImageAutoSaveAnimatedGif(const TString& filename);
0103    void     StartImageAutoSave(const TString& filename);
0104    void     StopImageAutoSave();
0105 
0106    TString  GetImageGUIBaseName() const               { return fImageGUIBaseName;  }
0107    void     SetImageGUIBaseName(const TString& gname) { fImageGUIBaseName = gname; }
0108 
0109    Int_t    GetImageGUIOutMode() const  { return fImageGUIOutMode; }
0110    void     SetImageGUIOutMode(Int_t m);
0111 
0112    void     StartImageAutoSaveWithGUISettings();
0113 
0114    ClassDefOverride(TGLAutoRotator, 0); // Automatic, timer-based, rotation of GL-viewer's camera.
0115 };
0116 
0117 #endif