Warning, file /include/root/TGLViewerEditor.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_TGLViewerEditor
0013 #define ROOT_TGLViewerEditor
0014
0015 #include <memory>
0016
0017 #include "TGedFrame.h"
0018
0019 #include "TGLUtil.h"
0020
0021 class TGCheckButton;
0022 class TGNumberEntry;
0023 class TGButtonGroup;
0024 class TGroupFrame;
0025 class TGRadioButton;
0026 class TGColorSelect;
0027 class TGComboBox;
0028 class TGButton;
0029 class TGTextEntry;
0030 class TGLViewer;
0031 class TGTab;
0032
0033 class TGLLightSetSubEditor;
0034 class TGLClipSetSubEditor;
0035
0036 class TGLViewerEditor : public TGedFrame
0037 {
0038 private:
0039
0040 TGCompositeFrame *fGuidesFrame;
0041 TGCompositeFrame *fClipFrame;
0042 TGCompositeFrame *fStereoFrame;
0043
0044 TGLLightSetSubEditor *fLightSet;
0045
0046 TGColorSelect *fClearColor;
0047 TGCheckButton *fIgnoreSizesOnUpdate;
0048 TGCheckButton *fResetCamerasOnUpdate;
0049 TGTextButton *fUpdateScene;
0050 TGTextButton *fCameraHome;
0051
0052 TGNumberEntry *fMaxSceneDrawTimeHQ;
0053 TGNumberEntry *fMaxSceneDrawTimeLQ;
0054
0055 TGNumberEntry *fPointSizeScale;
0056 TGNumberEntry *fLineWidthScale;
0057 TGCheckButton *fPointSmooth;
0058 TGCheckButton *fLineSmooth;
0059 TGNumberEntry *fWFLineWidth;
0060 TGNumberEntry *fOLLineWidth;
0061
0062
0063 TGCheckButton *fCameraCenterExt;
0064 TGTextButton *fCaptureCenter;
0065 TGCheckButton *fDrawCameraCenter;
0066 TGNumberEntry *fCameraCenterX;
0067 TGNumberEntry *fCameraCenterY;
0068 TGNumberEntry *fCameraCenterZ;
0069
0070 TGCheckButton* fCaptureAnnotate;
0071
0072 Int_t fAxesType;
0073 TGButtonGroup *fAxesContainer;
0074 TGRadioButton *fAxesNone;
0075 TGRadioButton *fAxesEdge;
0076 TGRadioButton *fAxesOrigin;
0077 TGCheckButton *fAxesDepthTest;
0078
0079 TGGroupFrame *fRefContainer;
0080 TGCheckButton *fReferenceOn;
0081 TGNumberEntry *fReferencePosX;
0082 TGNumberEntry *fReferencePosY;
0083 TGNumberEntry *fReferencePosZ;
0084
0085 TGGroupFrame *fCamContainer;
0086 TGComboBox* fCamMode;
0087 TGCheckButton* fCamOverlayOn;
0088
0089 TGLClipSetSubEditor *fClipSet;
0090
0091
0092 TGCheckButton *fRotateSceneOn;
0093 TGNumberEntry *fSceneRotDt;
0094
0095 TGNumberEntry *fARotDt, *fARotWPhi;
0096 TGNumberEntry *fARotATheta, *fARotWTheta;
0097 TGNumberEntry *fARotADolly, *fARotWDolly;
0098
0099 TGTextEntry *fASavImageGUIBaseName;
0100 TGButtonGroup *fASavImageGUIOutMode;
0101
0102 TGNumberEntry *fStereoZeroParallax;
0103 TGNumberEntry *fStereoEyeOffsetFac;
0104 TGNumberEntry *fStereoFrustumAsymFac;
0105
0106
0107 TGLViewer *fViewer;
0108 Bool_t fIsInPad;
0109
0110 void ConnectSignals2Slots();
0111
0112 TGLViewerEditor(const TGLViewerEditor &);
0113 TGLViewerEditor &operator = (const TGLViewerEditor &);
0114
0115 void CreateStyleTab();
0116 void CreateGuidesTab();
0117 void CreateClippingTab();
0118 void CreateExtrasTab();
0119
0120 void UpdateReferencePosState();
0121
0122 public:
0123 TGLViewerEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30,
0124 UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
0125 ~TGLViewerEditor() override;
0126
0127 virtual void ViewerRedraw();
0128
0129 void SetModel(TObject* obj) override;
0130
0131 void SetGuides();
0132 void DoClearColor(Pixel_t color);
0133 void DoIgnoreSizesOnUpdate();
0134 void DoResetCamerasOnUpdate();
0135 void DoUpdateScene();
0136 void DoCameraHome();
0137 void UpdateMaxDrawTimes();
0138 void UpdatePointLineStuff();
0139 void DoCameraCenterExt();
0140 void DoCaptureCenter();
0141 void DoAnnotation();
0142 void DoDrawCameraCenter();
0143 void UpdateCameraCenter();
0144
0145 void UpdateViewerAxes(Int_t id);
0146 void UpdateViewerReference();
0147 void DoCameraOverlay();
0148
0149 void SetRotatorMode();
0150 void UpdateRotator();
0151 void DoRotatorStart();
0152 void DoRotatorStop();
0153 void DoASavImageGUIBaseName(const char* t);
0154 void DoASavImageGUIOutMode(Int_t m);
0155 void DoASavImageStart();
0156 void DoASavImageStop();
0157 void UpdateStereo();
0158
0159 void DetachFromPad(){fIsInPad = kFALSE;}
0160
0161 static TGNumberEntry* MakeLabeledNEntry(TGCompositeFrame* p, const char* name,
0162 Int_t labelw, Int_t nd=7, Int_t s=5);
0163
0164 ClassDefOverride(TGLViewerEditor, 0);
0165 };
0166
0167 #endif