File indexing completed on 2025-01-18 10:11:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TGeoVolumeEditor
0013 #define ROOT_TGeoVolumeEditor
0014
0015 #include "TGWidget.h"
0016 #include "TGeoGedFrame.h"
0017
0018 class TGeoManager;
0019 class TGeoVolume;
0020 class TGeoShape;
0021 class TGeoMedium;
0022 class TGeoMaterial;
0023 class TGeoMatrix;
0024 class TGTextEntry;
0025 class TGNumberEntry;
0026 class TGTab;
0027 class TGComboBox;
0028 class TGTextButton;
0029 class TGPictureButton;
0030 class TGCheckButton;
0031 class TGRadioButton;
0032 class TGShutter;
0033 class TGShutterItem;
0034 class TGeoTabManager;
0035
0036 class TGeoVolumeEditor : public TGeoGedFrame {
0037
0038 protected:
0039 TGeoManager *fGeometry;
0040 TGeoVolume *fVolume;
0041 Bool_t fIsModified;
0042 Bool_t fIsAssembly;
0043 Bool_t fIsDivided;
0044 TGShutter *fCategories;
0045 TGTextEntry *fVolumeName;
0046 TGeoShape *fSelectedShape;
0047 TGLabel *fLSelShape;
0048 TGPictureButton *fBSelShape;
0049 TGeoMedium *fSelectedMedium;
0050 TGLabel *fLSelMedium;
0051 TGPictureButton *fBSelMedium;
0052 TGeoVolume *fSelectedVolume;
0053 TGLabel *fLSelVolume;
0054 TGPictureButton *fBSelVolume;
0055 TGeoMatrix *fSelectedMatrix;
0056 TGLabel *fLSelMatrix;
0057 TGPictureButton *fBSelMatrix;
0058 TGNumberEntry *fCopyNumber;
0059 TGTextButton *fAddNode;
0060 TGTextButton *fEditShape;
0061 TGTextButton *fEditMedium;
0062 TGComboBox *fNodeList;
0063 TGTextButton *fEditMatrix;
0064 TGTextButton *fRemoveNode;
0065 TGCheckButton *fBVis[2];
0066 TGRadioButton *fBView[3];
0067 TGCheckButton *fBRaytrace;
0068 TGCheckButton *fBAuto;
0069 TGNumberEntry *fEVisLevel;
0070 TGTextButton *fApplyDiv;
0071 TGTextEntry *fDivName;
0072 TGRadioButton *fBDiv[3];
0073 TGNumberEntry *fEDivFrom;
0074 TGNumberEntry *fEDivStep;
0075 TGNumberEntry *fEDivN;
0076
0077 virtual void ConnectSignals2Slots();
0078
0079 public:
0080 TGeoVolumeEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
0081 Pixel_t back = GetDefaultFrameBackground());
0082 ~TGeoVolumeEditor() override;
0083 void SetModel(TObject *obj) override;
0084 void ActivateBaseClassEditors(TClass *cl) override;
0085
0086 void DoAddNode();
0087 void DoVolumeName();
0088 void DoSelectShape();
0089 void DoSelectMedium();
0090 void DoSelectMatrix();
0091 void DoSelectVolume();
0092 void DoEditShape();
0093 void DoEditMedium();
0094 void DoEditMatrix();
0095 void DoRemoveNode();
0096 void DoVisVolume();
0097 void DoVisDaughters();
0098 void DoVisAuto();
0099 void DoVisLevel();
0100 void DoViewAll();
0101 void DoViewLeaves();
0102 void DoViewOnly();
0103 void DoDivSelAxis();
0104 void DoDivFromTo();
0105 void DoDivStep();
0106 void DoDivN();
0107 void DoDivName();
0108 void DoApplyDiv();
0109 void DoRaytrace();
0110
0111 ClassDefOverride(TGeoVolumeEditor, 0)
0112 };
0113
0114 #endif