|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #include "ui_trackingsurfacescontrollerform.h"
23 #include "GaudiKernel/SystemOfUnits.h"
25 #include <Inventor/nodes/SoSeparator.h>
26 #include <Inventor/nodes/SoLineSet.h>
27 #include <Inventor/nodes/SoVertexProperty.h>
28 #include <Inventor/nodes/SoSwitch.h>
29 #include <Inventor/nodes/SoMaterial.h>
37 :
IVP13DSystemSimple(
"TrackingSurfacesSystem",
"This is an illustration of a very basic 3D system.",
"edward.moyse@gmail.com"), m_multiselection(0)
51 message(
"Error: Got null storegate pointer");
65 std::string surfname=
"SurfaceCollection";
67 if (
status != StatusCode::SUCCESS || !surfColl) {
68 message(
"Error: Could not retrieve SurfaceCollection (used key="+QString(surfname.c_str())+
")");
71 message(
"Loaded SurfaceCollection with key [" +QString(surfname.c_str())+
"] and which contains [" +
QString::number(surfColl->
size()) +
"] surfaces.");
94 for ( surfItr = surfColl->
begin() ; surfItr != surfItrEnd; ++surfItr) {
98 SoMaterial *material =
new SoMaterial;
100 material->diffuseColor.setValue(0.6, 0., 0.6);
102 material->diffuseColor.setValue(1., 0., 1.);
126 messageDebug(
"TrackingSurfacesSystem::userPickedNode - have been passed node ["+QString(
"0x%1").
arg((quintptr)pickedNode,
130 message(
"Error: Do not have surface information for picked node");
138 std::ostringstream
s;
139 s << *(matchedSurface);
140 l << QString(
s.str().c_str()).split(
'\n');
145 for (
CamListItr itCam = cameras.begin(); itCam!=cameras.end(); ++itCam) {
153 for (SoNode *
node : nodes) {
156 message(
"Error: Does not have surface information for all nodes");
165 QWidget * controller =
new QWidget(0);
166 Ui::TrackingSurfacesControllerForm ui;
167 ui.setupUi(controller);
void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)
Const iterator class for DataVector/DataList.
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
void registerSelectionNode(SoCooperativeSelection *)
The Athena Transient Store API.
std::map< SoNode *, const Trk::Surface * > m_nodeToSurface
std::set< SoCamera * > CamList
::StatusCode StatusCode
StatusCode definition for legacy code.
void userPickedNode(SoNode *pickedNode, SoPath *pickedPath)
CamList::iterator CamListItr
SoNode * translateSurface(const Trk::Surface &sf, const bool &simple=false) const
void userChangedSelection(SoCooperativeSelection *, QSet< SoNode * >, QSet< SoPath * >)
void messageDebug(const QString &) const
SoCooperativeSelection * m_multiselection
bool isActive() const
Return 'true' if this surface is owned by the detector element.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
QWidget * buildController()
static VP1CameraHelper * animatedZoomToSubTree(SoCamera *camera, SoGroup *sceneroot, SoNode *subtreeroot, double duration_in_secs=1.0, double clipVolPercent=100.0, double lastClipVolPercent=100.0, double slack=1.0, const SbVec3f &lookat=SbVec3f(999, 999, 999), const SbVec3f &upvec=SbVec3f(999, 999, 999), bool varySpeed=true, bool forceCircular=false)
size_type size() const noexcept
Returns the number of elements in the collection.
void message(const QString &) const
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
void updateSelectionMode(bool single)