12 #ifndef ROOT_TGLViewerEditor
13 #define ROOT_TGLViewerEditor
33 class TGLLightSetSubEditor;
34 class TGLClipSetSubEditor;
36 class TGLViewerEditor :
public TGedFrame
40 TGCompositeFrame *fGuidesFrame;
41 TGCompositeFrame *fClipFrame;
42 TGCompositeFrame *fStereoFrame;
44 TGLLightSetSubEditor *fLightSet;
46 TGColorSelect *fClearColor;
47 TGCheckButton *fIgnoreSizesOnUpdate;
48 TGCheckButton *fResetCamerasOnUpdate;
49 TGTextButton *fUpdateScene;
50 TGTextButton *fCameraHome;
52 TGNumberEntry *fMaxSceneDrawTimeHQ;
53 TGNumberEntry *fMaxSceneDrawTimeLQ;
55 TGNumberEntry *fPointSizeScale;
56 TGNumberEntry *fLineWidthScale;
57 TGCheckButton *fPointSmooth;
58 TGCheckButton *fLineSmooth;
59 TGNumberEntry *fWFLineWidth;
60 TGNumberEntry *fOLLineWidth;
63 TGCheckButton *fCameraCenterExt;
64 TGTextButton *fCaptureCenter;
65 TGCheckButton *fDrawCameraCenter;
66 TGNumberEntry *fCameraCenterX;
67 TGNumberEntry *fCameraCenterY;
68 TGNumberEntry *fCameraCenterZ;
70 TGCheckButton* fCaptureAnnotate;
73 TGButtonGroup *fAxesContainer;
74 TGRadioButton *fAxesNone;
75 TGRadioButton *fAxesEdge;
76 TGRadioButton *fAxesOrigin;
77 TGCheckButton *fAxesDepthTest;
79 TGGroupFrame *fRefContainer;
80 TGCheckButton *fReferenceOn;
81 TGNumberEntry *fReferencePosX;
82 TGNumberEntry *fReferencePosY;
83 TGNumberEntry *fReferencePosZ;
85 TGGroupFrame *fCamContainer;
87 TGCheckButton* fCamOverlayOn;
89 TGLClipSetSubEditor *fClipSet;
92 TGCheckButton *fRotateSceneOn;
93 TGNumberEntry *fSceneRotDt;
95 TGNumberEntry *fARotDt, *fARotWPhi;
96 TGNumberEntry *fARotATheta, *fARotWTheta;
97 TGNumberEntry *fARotADolly, *fARotWDolly;
99 TGTextEntry *fASavImageGUIBaseName;
100 TGButtonGroup *fASavImageGUIOutMode;
102 TGNumberEntry *fStereoZeroParallax;
103 TGNumberEntry *fStereoEyeOffsetFac;
104 TGNumberEntry *fStereoFrustumAsymFac;
110 void ConnectSignals2Slots();
112 TGLViewerEditor(
const TGLViewerEditor &);
113 TGLViewerEditor &operator = (
const TGLViewerEditor &);
115 void CreateStyleTab();
116 void CreateGuidesTab();
117 void CreateClippingTab();
118 void CreateExtrasTab();
120 void UpdateReferencePosState();
123 TGLViewerEditor(
const TGWindow *p=0, Int_t width=140, Int_t height=30,
124 UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
127 virtual void ViewerRedraw();
129 virtual void SetModel(TObject* obj);
132 void DoClearColor(Pixel_t color);
133 void DoIgnoreSizesOnUpdate();
134 void DoResetCamerasOnUpdate();
135 void DoUpdateScene();
137 void UpdateMaxDrawTimes();
138 void UpdatePointLineStuff();
139 void DoCameraCenterExt();
140 void DoCaptureCenter();
142 void DoDrawCameraCenter();
143 void UpdateCameraCenter();
145 void UpdateViewerAxes(Int_t
id);
146 void UpdateViewerReference();
147 void DoCameraOverlay();
149 void SetRotatorMode();
150 void UpdateRotator();
151 void DoRotatorStart();
152 void DoRotatorStop();
153 void DoASavImageGUIBaseName(
const char* t);
154 void DoASavImageGUIOutMode(Int_t m);
155 void DoASavImageStart();
156 void DoASavImageStop();
159 void DetachFromPad(){fIsInPad = kFALSE;}
161 static TGNumberEntry* MakeLabeledNEntry(TGCompositeFrame* p,
const char* name,
162 Int_t labelw, Int_t nd=7, Int_t s=5);
164 ClassDef(TGLViewerEditor, 0);