Logo ROOT  
Reference Guide
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
40 TGeoManager *fGeometry; // Selected geometry manager
41 TGeoVolume *fVolume; // Volume object
42 Bool_t fIsModified; // Flag that volume was modified
43 Bool_t fIsAssembly; // Flag that the volume is an assembly
44 Bool_t fIsDivided; // Flag that the volume is divided
45 TGShutter *fCategories; // Categories shutter
46 TGTextEntry *fVolumeName; // Volume name text entry
47 TGeoShape *fSelectedShape; // Selected shape
48 TGLabel *fLSelShape; // Selected shape label
49 TGPictureButton *fBSelShape; // Button for selecting a shape
50 TGeoMedium *fSelectedMedium; // Selected medium
51 TGLabel *fLSelMedium; // Selected medium label
52 TGPictureButton *fBSelMedium; // Button for selecting a medium
53 TGeoVolume *fSelectedVolume; // Selected volume
54 TGLabel *fLSelVolume; // Selected volume label
55 TGPictureButton *fBSelVolume; // Button for selecting a volume
56 TGeoMatrix *fSelectedMatrix; // Selected matrix
57 TGLabel *fLSelMatrix; // Selected matrix label
58 TGPictureButton *fBSelMatrix; // Button for selecting a matrix
59 TGNumberEntry *fCopyNumber; // Node copy number
60 TGTextButton *fAddNode; // Button for adding a node
61 TGTextButton *fEditShape; // Check button for shape editing
62 TGTextButton *fEditMedium; // Check button for medium editing
63 TGComboBox *fNodeList; // Daughters combo box
64 TGTextButton *fEditMatrix; // Button for editing the position of a daughter
65 TGTextButton *fRemoveNode; // Button for removing a daughter
66 TGCheckButton *fBVis[2]; // Buttons for setting vis. on/off
67 TGRadioButton *fBView[3]; // Radio for selecting view options
68 TGCheckButton *fBRaytrace; // Raytracing on/off
69 TGCheckButton *fBAuto; // Check button for auto vis level
70 TGNumberEntry *fEVisLevel; // Number entry for visibility level
71 TGTextButton *fApplyDiv; // Button for applying division settings
72 TGTextEntry *fDivName; // Division volume name text entry
73 TGRadioButton *fBDiv[3]; // Radio for selecting division type
74 TGNumberEntry *fEDivFrom; // Number entry for division start
75 TGNumberEntry *fEDivStep; // Number entry for division step
76 TGNumberEntry *fEDivN; // Number entry for division Nslices
77
78 virtual void ConnectSignals2Slots(); // Connect the signals to the slots
79
80public:
81 TGeoVolumeEditor(const TGWindow *p = nullptr,
82 Int_t width = 140, Int_t height = 30,
83 UInt_t options = kChildFrame,
85 virtual ~TGeoVolumeEditor();
86 virtual void SetModel(TObject *obj);
87 virtual void ActivateBaseClassEditors(TClass* cl);
88
89 void DoAddNode();
90 void DoVolumeName();
91 void DoSelectShape();
92 void DoSelectMedium();
93 void DoSelectMatrix();
94 void DoSelectVolume();
95 void DoEditShape();
96 void DoEditMedium();
97 void DoEditMatrix();
98 void DoRemoveNode();
99 void DoVisVolume();
100 void DoVisDaughters();
101 void DoVisAuto();
102 void DoVisLevel();
103 void DoViewAll();
104 void DoViewLeaves();
105 void DoViewOnly();
106 void DoDivSelAxis();
107 void DoDivFromTo();
108 void DoDivStep();
109 void DoDivN();
110 void DoDivName();
111 void DoApplyDiv();
112 void DoRaytrace();
113
114 ClassDef(TGeoVolumeEditor,0) // TGeoVolume editor
115};
116
117#endif
@ kChildFrame
Definition: GuiTypes.h:379
ULong_t Pixel_t
Pixel value.
Definition: GuiTypes.h:40
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
ClassDef(TGedFrame, 0)
Common base class for geombuilder editors.
Definition: TGeoGedFrame.h:13
The manager class for any TGeo geometry.
Definition: TGeoManager.h:45
Base class describing materials.
Definition: TGeoMaterial.h:36
Geometrical transformation package.
Definition: TGeoMatrix.h:41
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition: TGeoMedium.h:24
Base abstract class for all shapes.
Definition: TGeoShape.h:26
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
virtual ~TGeoVolumeEditor()
Destructor.
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
virtual void SetModel(TObject *obj)
Connect to the picked volume.
TGeoVolume * fVolume
TGTextButton * fEditShape
TGeoMedium * fSelectedMedium
TGeoVolume * fSelectedVolume
TGRadioButton * fBView[3]
void DoVisVolume()
Slot for setting volume visible/invisible.
TGeoShape * fSelectedShape
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.
TGTextButton * fEditMedium
TGPictureButton * fBSelMedium
void DoDivN()
Handle division N modification.
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.
virtual void ActivateBaseClassEditors(TClass *cl)
Add editors to fGedFrame and exclude TLineEditor.
TGeoVolumeEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for volume editor.
void DoVolumeName()
Modify volume name.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:49
Mother of all ROOT objects.
Definition: TObject.h:41