|
ATLAS Offline Software
|
Go to the documentation of this file.
18 #include "Inventor/SoPath.h"
19 #include "Inventor/nodes/SoSeparator.h"
72 m_d->
root->setName(QString(
name+
"_SceneGraph").
replace(
' ',
'_').toStdString().c_str());
73 m_d->
rootE->setName(QString(
name+
"_EventSceneGraph").
replace(
' ',
'_').toStdString().c_str());
74 m_d->
rootR->setName(QString(
name+
"_PermanentSceneGraph").
replace(
' ',
'_').toStdString().c_str());
111 std::cout<<
"IVP13DSystemSimple::Imp::made_selection Error: Could not find system pointer!"<<std::endl;
115 SoFullPath *fPath =
static_cast<SoFullPath *
>(
path);
118 SoNode *selectedNode = fPath->getTail();
123 std::cout <<
"selected nodes: " << system->
m_d->
root->getNumSelected() <<
", " << system->
m_d->
root->getPath(0) << std::endl;
129 return static_cast<SoSeparator*
>(
m_d->
root);
153 messageVerbose(
"IVP13DSystemSimple first refresh - so calling create methods (i.e. delayed create).");
181 bool saveE =
m_d->
rootE->enableNotify(
false);
185 messageVerbose(
"IVP13DSystemSimple::erase() Removing all event objects from scene");
214 m_d->
root->removeAllChildren();
223 QList<SoNode*> nodesR;
224 QList<SoNode*> nodesE;
227 if (!nodesR.isEmpty()) {
228 message(
"WARNING: Found "+
str(nodesR.count())+
" node"+QString(nodesR.count()>1?
"s":0)+
" with disabled notifications in permanent scenegraph:");
229 for (SoNode *
node : nodesR)
230 message(
" => Node ("+
str(
node)+
") of type "+QString(
node->getTypeId().getName().getString())+
", named "+QString(
node->getName().getString()));
232 if (!nodesE.isEmpty()) {
233 message(
"WARNING: Found "+
str(nodesE.count())+
" node"+QString(nodesE.count()>1?
"s":0)+
" with disabled notifications in event scenegraph:");
234 for (SoNode *
node : nodesE)
235 message(
" => Node ("+
str(
node)+
") of type "+QString(
node->getTypeId().getName().getString())+
", named "+QString(
node->getName().getString()));
242 const int n =
gr->getNumChildren();
243 for (
int i = 0;
i <
n; ++
i) {
244 SoNode * child =
gr->getChild(
i);
245 if (!child->isNotifyEnabled())
247 if (child->getTypeId().isDerivedFrom(SoGroup::getClassTypeId()))
248 getNodesWithDisabledNotifications(
static_cast<SoGroup*
>(child),
l);
virtual void systemuncreate()
void setUserSelectionNotificationsEnabled(SoCooperativeSelection *sel, bool enabled)
std::string replace(std::string s, const std::string &s2, const std::string &s3)
path
python interpreter configuration --------------------------------------—
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
virtual QWidget * buildController()
static void made_selection(void *userdata, SoPath *path)
static QString str(const QString &s)
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
SoCooperativeSelection * root
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
void registerSelectionNode(SoCooperativeSelection *)
The Athena Transient Store API.
void refresh(StoreGateSvc *storegate)
IVP13DSystemSimple * theclass
virtual void systemerase()
virtual void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
void create(StoreGateSvc *detstore)
const QString & name() const
virtual void systemcreate(StoreGateSvc *detstore)
void ensureBuildController()
static void ensureInitClass()
void messageDebug(const QString &) const
StoreGateSvc * detectorStore() const
void getNodesWithDisabledNotifications(SoGroup *, QList< SoNode * > &) const
void registerController(QWidget *)
SoSeparator * getSceneGraph() const
void unregisterSelectionNode(SoCooperativeSelection *)
void warnOnDisabledNotifications() const
void message(const QString &) const
void messageVerbose(const QString &) const
virtual ~IVP13DSystemSimple()