Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGeoVolumeEditor.h
Go to the documentation of this file.
1// @(#):$Id$
2// Author: M.Gheata
3
4/*************************************************************************
5 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TGeoVolumeEditor
13#define ROOT_TGeoVolumeEditor
14
15#include "TGWidget.h"
16#include "TGeoGedFrame.h"
17
18class TGeoManager;
19class TGeoVolume;
20class TGeoShape;
21class TGeoMedium;
22class TGeoMaterial;
23class TGeoMatrix;
24class TGTextEntry;
25class TGNumberEntry;
26class TGTab;
27class TGComboBox;
28class TGTextButton;
29class TGPictureButton;
30class TGCheckButton;
31class TGRadioButton;
32class TGShutter;
33class TGShutterItem;
34class TGeoTabManager;
35
37
38protected:
39 TGeoManager *fGeometry; // Selected geometry manager
40 TGeoVolume *fVolume; // Volume object
41 Bool_t fIsModified; // Flag that volume was modified
42 Bool_t fIsAssembly; // Flag that the volume is an assembly
43 Bool_t fIsDivided; // Flag that the volume is divided
44 TGShutter *fCategories; // Categories shutter
45 TGTextEntry *fVolumeName; // Volume name text entry
46 TGeoShape *fSelectedShape; // Selected shape
47 TGLabel *fLSelShape; // Selected shape label
48 TGPictureButton *fBSelShape; // Button for selecting a shape
49 TGeoMedium *fSelectedMedium; // Selected medium
50 TGLabel *fLSelMedium; // Selected medium label
51 TGPictureButton *fBSelMedium; // Button for selecting a medium
52 TGeoVolume *fSelectedVolume; // Selected volume
53 TGLabel *fLSelVolume; // Selected volume label
54 TGPictureButton *fBSelVolume; // Button for selecting a volume
55 TGeoMatrix *fSelectedMatrix; // Selected matrix
56 TGLabel *fLSelMatrix; // Selected matrix label
57 TGPictureButton *fBSelMatrix; // Button for selecting a matrix
58 TGNumberEntry *fCopyNumber; // Node copy number
59 TGTextButton *fAddNode; // Button for adding a node
60 TGTextButton *fEditShape; // Check button for shape editing
61 TGTextButton *fEditMedium; // Check button for medium editing
62 TGComboBox *fNodeList; // Daughters combo box
63 TGTextButton *fEditMatrix; // Button for editing the position of a daughter
64 TGTextButton *fRemoveNode; // Button for removing a daughter
65 TGCheckButton *fBVis[2]; // Buttons for setting vis. on/off
66 TGRadioButton *fBView[3]; // Radio for selecting view options
67 TGCheckButton *fBRaytrace; // Raytracing on/off
68 TGCheckButton *fBAuto; // Check button for auto vis level
69 TGNumberEntry *fEVisLevel; // Number entry for visibility level
70 TGTextButton *fApplyDiv; // Button for applying division settings
71 TGTextEntry *fDivName; // Division volume name text entry
72 TGRadioButton *fBDiv[3]; // Radio for selecting division type
73 TGNumberEntry *fEDivFrom; // Number entry for division start
74 TGNumberEntry *fEDivStep; // Number entry for division step
75 TGNumberEntry *fEDivN; // Number entry for division Nslices
76
77 virtual void ConnectSignals2Slots(); // Connect the signals to the slots
78
79public:
80 TGeoVolumeEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
82 ~TGeoVolumeEditor() override;
83 void SetModel(TObject *obj) override;
84 void ActivateBaseClassEditors(TClass *cl) override;
85
86 void DoAddNode();
87 void DoVolumeName();
88 void DoSelectShape();
89 void DoSelectMedium();
90 void DoSelectMatrix();
91 void DoSelectVolume();
92 void DoEditShape();
93 void DoEditMedium();
94 void DoEditMatrix();
95 void DoRemoveNode();
96 void DoVisVolume();
97 void DoVisDaughters();
98 void DoVisAuto();
99 void DoVisLevel();
100 void DoViewAll();
101 void DoViewLeaves();
102 void DoViewOnly();
103 void DoDivSelAxis();
104 void DoDivFromTo();
105 void DoDivStep();
106 void DoDivN();
107 void DoDivName();
108 void DoApplyDiv();
109 void DoRaytrace();
110
111 ClassDefOverride(TGeoVolumeEditor, 0) // TGeoVolume editor
112};
113
114#endif
@ kChildFrame
Definition GuiTypes.h:379
ULong_t Pixel_t
Pixel value.
Definition GuiTypes.h:40
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition TClass.h:81
Selects different options.
Definition TGButton.h:264
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
Definition TGComboBox.h:47
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition TGFrame.cxx:683
This class handles GUI labels.
Definition TGLabel.h:24
TGNumberEntry is a number entry input widget with up/down buttons.
Yield an action as soon as it is clicked.
Definition TGButton.h:228
Selects different options.
Definition TGButton.h:321
A shutter widget contains a set of shutter items that can be open and closed like a shutter.
Definition TGShutter.h:55
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
Definition TGTab.h:46
Yield an action as soon as it is clicked.
Definition TGButton.h:142
A TGTextEntry is a one line text input widget.
Definition TGTextEntry.h:24
ROOT GUI Window base class.
Definition TGWindow.h:23
Common base class for geombuilder editors.
The manager class for any TGeo geometry.
Definition TGeoManager.h:44
Base class describing materials.
Geometrical transformation package.
Definition TGeoMatrix.h:38
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition TGeoMedium.h:23
Base abstract class for all shapes.
Definition TGeoShape.h:25
Manager for all editor tabs.
Editor for geometry volumes and assemblies of volumes.
TGPictureButton * fBSelMatrix
virtual void ConnectSignals2Slots()
Connect signals to slots.
TGTextButton * fApplyDiv
void DoApplyDiv()
Apply current division settings.
TGTextButton * fAddNode
TGPictureButton * fBSelShape
void DoRemoveNode()
Remove a daughter.
TGTextEntry * fVolumeName
TGNumberEntry * fEDivFrom
void DoSelectMatrix()
Select a matrix for positioning.
void DoEditMatrix()
Edit the position of the selected node.
void DoSelectMedium()
Select a new medium.
TGComboBox * fNodeList
void DoVisDaughters()
Slot for setting daughters visible/invisible.
TGNumberEntry * fEVisLevel
TGTextButton * fEditMatrix
TGNumberEntry * fEDivN
TGeoVolume * fVolume
TGTextButton * fEditShape
TGeoMedium * fSelectedMedium
TGeoVolume * fSelectedVolume
TGRadioButton * fBView[3]
void DoVisVolume()
Slot for setting volume visible/invisible.
TGeoShape * fSelectedShape
~TGeoVolumeEditor() override
Destructor.
void DoDivFromTo()
Handle division range modification.
void DoVisAuto()
Slot for setting visibility depth auto.
void DoViewLeaves()
Slot for viewing last leaves only.
void DoViewOnly()
Slot for viewing volume only.
TGCheckButton * fBVis[2]
TGNumberEntry * fEDivStep
TGTextButton * fRemoveNode
void DoDivStep()
Handle division step modification.
void DoVisLevel()
Slot for visibility level.
TGeoMatrix * fSelectedMatrix
void DoRaytrace()
Slot for raytracing.
void DoSelectVolume()
Select a daughter volume.
void DoEditShape()
Edit the shape of the volume.
TGTextEntry * fDivName
TGCheckButton * fBRaytrace
TGNumberEntry * fCopyNumber
TGPictureButton * fBSelVolume
TGCheckButton * fBAuto
TGeoManager * fGeometry
void DoEditMedium()
Edit the medium of the volume.
void SetModel(TObject *obj) override
Connect to the picked volume.
TGTextButton * fEditMedium
TGPictureButton * fBSelMedium
void DoDivN()
Handle division N modification.
void ActivateBaseClassEditors(TClass *cl) override
Add editors to fGedFrame and exclude TLineEditor.
TGShutter * fCategories
void DoSelectShape()
Select a new shape.
void DoViewAll()
Slot for viewing volume and containers.
void DoAddNode()
Add a daughter.
TGRadioButton * fBDiv[3]
void DoDivSelAxis()
Change division axis and preserve number of slices.
void DoDivName()
Modify division name.
void DoVolumeName()
Modify volume name.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition TGeoVolume.h:43
Mother of all ROOT objects.
Definition TObject.h:41