12 #ifndef ROOT_TStructViewerGUI 13 #define ROOT_TStructViewerGUI
double dist(Rotation3D const &r1, Rotation3D const &r2)
void SetNodePtr(TStructNode *val)
Sets top node pointer and updates view.
TGTextEntry * fPointerTypeTextEntry
void CalculatePosistion(TStructNode *parent)
Recursive method to calculating nodes posistion in 3D space.
void Update(Bool_t resetCamera=false)
Updates view. Clear all the nodes, call draw function and update scene. Doesn't reset camera...
void SetLinksVisibility(Bool_t val)
Sets links visibility to "visible".
void ScaleByChangedSlot()
Activated when user press radio button.
TGNumberEntry * fBoxHeightEntry
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
TStructNodeProperty * FindNodeProperty(TStructNode *node)
Returns pointer to property associated with node "node".
void ColorSelectedSlot(Pixel_t pixel)
Slot for default color selsect.
TGRadioButton * fScaleByMembersButton
void ShowLinksToggled(Bool_t on)
Changes links visibility and refresh view.
Minimal GL-viewer that can be embedded in a standard ROOT frames.
Concrete physical shape - a GL drawable.
Bool_t GetLinksVisibility() const
Returns true if links are visible, otherwise return false.
~TStructViewerGUI()
Destructor.
TGLabel * fMembersCountLabel
void UpdateLabels(TStructNode *node)
Refresh information in labels when user put mouse over object.
static const double x2[5]
TGTextButton * fUndoButton
#define ClassDef(name, id)
void Divide(TList *list, Float_t x1, Float_t x2, Float_t y1, Float_t y2)
Divides rectangle where the outlining box is placed.
void CloseWindow()
Delete window.
TStructNodeEditor * fEditor
void Scale(TStructNode *parent)
Recursive method to scaling all modes on scene.
void UpdateButtonSlot()
Update button slot. Updates scene.
static TGeoMedium * fgMedium
void DrawLink(TStructNode *parent)
Recursive method to draw links.
TGCheckButton * fAutoRefesh
void GLWidgetProcessedEventSlot(Event_t *event)
Handle events. Sets fMouseX and fMouseY when user move a mouse over viewer and hides ToolTip...
TStructNodeProperty * GetDefaultColor()
Return default color for nodes.
void DrawNode(TStructNode *node)
Creates and draws TGeoVolume from given "node".
void UnCheckMaxObjects()
Shows hidden nodes.
TGTextButton * fRedoButton
TGLabel * fAllMembersCountLabel
TGLEmbeddedViewer * fGLViewer
TGRadioButton * fScaleBySizeButton
void Draw(Option_t *option="")
Check limits and draws nodes and links.
static const double x1[5]
TStructNode * GetNodePtr() const
Returns top node pointer.
void RedoButtonSlot()
Activated when user click Redo button. Repeat last Undo action.
void DrawVolumes(TStructNode *visObj)
Recursive method to draw GeoVolumes.
TGNumberEntry * fLevelDistanceEntry
Media are used to store properties related to tracking and which are useful only when using geometry ...
TGTextEntry * fPointerTextEntry
void AutoRefreshButtonSlot(Bool_t on)
Activated when user chage condition.
void BoxHeightValueSetSlot(Long_t h)
Emmited when user changes height of boxes.
void CheckMaxObjects(TStructNode *parent)
Check if all of nodes can be displayed on scene. Hides redendant nodes.
TStructNode * fSelectedObject
TStructViewerGUI(TStructViewer *parent, TStructNode *nodePtr, TList *colors, const TGWindow *p=NULL, UInt_t w=800, UInt_t h=600)
Constructs window with "w" as width, "h" as height and given parent "p".
Int_t GetColor(TStructNode *node)
Returns color form fColors for given "node".
void ResetButtonSlot()
Resets camera.
TGLabel * fTotalSizeLabel
TGCheckButton * fShowLinksCheckButton
void SetPointerButtonSlot()
Sets pointer given in fPointerTestEntry to the main pointer.
void DoubleClickedSlot()
Activated when user double click on objects on 3D scene.
void LevelDistValueSetSlot(Long_t dist)
Emmited when user changes distance between levels.
void MouseOverSlot(TGLPhysicalShape *shape)
MouseOver slot.
void UndoButtonSlot()
UndoButton Slot. Activated when user press Undo button. Restore last top node pointer.
This class stores a (key,value) pair using an external hash.