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
0002
0003
0004
0005
0006
0007
0008
0009
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);
0115 };
0116
0117 #endif