ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1Base
VP1Base
IVP13DSystemSimple.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// //
7
// Header file for class IVP13DSystemSimple //
8
// //
9
// Author: Thomas Kittelmann <Thomas.Kittelmann@cern.ch> //
10
// //
11
// Initial version: April 2007 //
12
// //
14
15
#ifndef IVP13DSYSTEMSIMPLE_H
16
#define IVP13DSYSTEMSIMPLE_H
17
18
#include "
VP1Base/IVP13DSystem.h
"
19
20
class
SoSeparator;
21
class
SoNode;
22
class
SoPath;
23
24
class
IVP13DSystemSimple
:
public
IVP13DSystem
{
25
26
Q_OBJECT
27
28
public
:
29
34
35
IVP13DSystemSimple
(
const
QString &
name
,
const
QString &
information
,
const
QString &
contact_info
);
36
37
virtual
void
systemcreate
(
StoreGateSvc
* detstore);
//Optional.
38
39
//If you need a controller - create it and return it from a
40
//reimplementation of this method (it will only be called
41
//once). This method will be called before both systemcreate() and
42
//restoreFromState().
43
virtual
QWidget *
buildController
();
44
45
void
ensureBuildController
();
//Rarely you might wish to call this if you need to access
46
//controller elements in methods that might be called earlier than ::create().
47
48
//If some part of the scene should stay for the entire run, reimplement and append scene to root, :
49
virtual
void
buildPermanentSceneGraph
(
StoreGateSvc
* detstore,SoSeparator *root);
50
51
//Reimplement and build a scenegraph for a given event based on the contents of storegate:
52
virtual
void
buildEventSceneGraph
(
StoreGateSvc
* sg, SoSeparator *root)=0;
53
54
void
updateGUI
();
//Call this occasionally in buildEventSceneGraph(...) to avoid GUI freezing.
55
56
//Reimplement if you need to take action when the user picks an object with the mouse:
57
virtual
void
userPickedNode
(SoNode* pickedNode, SoPath *pickedPath);
58
//NB: This convenient method will often suffice for simple
59
//systems. Systems requiring more advanced selection/deselection
60
//functionality should insert SoCooperativeSelection nodes in their
61
//scenegraphs and use the methods of IVP13Dsystem to handle them.
62
63
virtual
void
systemerase
();
//Optional - for erasing maps etc. with event data. //Fixme: make pure virtual (i.e. require!.. or make warning??)
64
65
virtual
void
systemuncreate
();
//Optional.
66
71
72
virtual
~IVP13DSystemSimple
();
73
74
//Call this at any point to get warnings about nodes where
75
//notifications have been mistakenly been left off:
76
void
warnOnDisabledNotifications
()
const
;
77
78
private
:
79
class
Imp
;
80
Imp
*
m_d
;
81
SoSeparator *
getSceneGraph
()
const
;
82
void
create
(
StoreGateSvc
* detstore);
83
void
refresh
(
StoreGateSvc
* storegate);
84
void
erase
();
85
void
uncreate
();
86
};
87
89
inline
void
IVP13DSystemSimple::updateGUI
() {
IVP13DSystem::updateGUI
(); }
90
91
#endif
IVP13DSystem.h
IVP13DSystemSimple::Imp
Definition
IVP13DSystemSimple.cxx:33
IVP13DSystemSimple::erase
void erase()
Definition
IVP13DSystemSimple.cxx:173
IVP13DSystemSimple::systemcreate
virtual void systemcreate(StoreGateSvc *detstore)
Definition
IVP13DSystemSimple.cxx:23
IVP13DSystemSimple::IVP13DSystemSimple
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
Definition
IVP13DSystemSimple.cxx:50
IVP13DSystemSimple::updateGUI
void updateGUI()
Definition
IVP13DSystemSimple.h:89
IVP13DSystemSimple::getSceneGraph
SoSeparator * getSceneGraph() const
Definition
IVP13DSystemSimple.cxx:127
IVP13DSystemSimple::create
void create(StoreGateSvc *detstore)
Definition
IVP13DSystemSimple.cxx:133
IVP13DSystemSimple::refresh
void refresh(StoreGateSvc *storegate)
Definition
IVP13DSystemSimple.cxx:146
IVP13DSystemSimple::uncreate
void uncreate()
Definition
IVP13DSystemSimple.cxx:202
IVP13DSystemSimple::userPickedNode
virtual void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
Definition
IVP13DSystemSimple.cxx:26
IVP13DSystemSimple::buildPermanentSceneGraph
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
Definition
IVP13DSystemSimple.cxx:25
IVP13DSystemSimple::buildController
virtual QWidget * buildController()
Definition
IVP13DSystemSimple.cxx:24
IVP13DSystemSimple::systemerase
virtual void systemerase()
Definition
IVP13DSystemSimple.cxx:28
IVP13DSystemSimple::~IVP13DSystemSimple
virtual ~IVP13DSystemSimple()
Definition
IVP13DSystemSimple.cxx:80
IVP13DSystemSimple::warnOnDisabledNotifications
void warnOnDisabledNotifications() const
Definition
IVP13DSystemSimple.cxx:221
IVP13DSystemSimple::m_d
Imp * m_d
Definition
IVP13DSystemSimple.h:80
IVP13DSystemSimple::buildEventSceneGraph
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
IVP13DSystemSimple::ensureBuildController
void ensureBuildController()
Definition
IVP13DSystemSimple.cxx:90
IVP13DSystemSimple::systemuncreate
virtual void systemuncreate()
Definition
IVP13DSystemSimple.cxx:27
IVP13DSystem::IVP13DSystem
IVP13DSystem(const QString &name, const QString &information, const QString &contact_info)
Definition
IVP13DSystem.cxx:356
IVP1System::name
const QString & name() const
Definition
IVP1System.cxx:50
IVP1System::updateGUI
void updateGUI()
Definition
IVP1System.cxx:262
IVP1System::information
const QString & information() const
Definition
IVP1System.cxx:56
IVP1System::contact_info
const QString & contact_info() const
Definition
IVP1System.cxx:62
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
Generated on
for ATLAS Offline Software by
1.17.0