26#ifndef G4VTKQTVIEWER_HH
27#define G4VTKQTVIEWER_HH
45#include "QVTKOpenGLNativeWidget.h"
54 using PVPath = std::vector<PVNodeID>;
91 int POIndex,
const QString& logicalName,
92 Qt::CheckState state, QTreeWidgetItem* parentTreeNode,
100 unsigned int fullPathIndex,
const QString& parentRoot,
101 unsigned int currentIndexInTreeSceneHandler,
102 int currentPVPOIndex);
112#ifdef G4MULTITHREADED
113 QThread* fQVtkContextVisSubThread;
114 QThread* fQVtkContextMainThread;
virtual void DoneWithMasterThread()
virtual void SwitchToMasterThread()
virtual void SwitchToVisSubThread()
virtual void MovingToVisSubThread()
virtual void DoneWithVisSubThread()
void addNonPVSceneTreeElement(const G4String &model, G4Visible &visible, int currentPOIndex)
void createSceneTreeWidget()
~G4VtkQtViewer() override
virtual void CreateMainWindow(QVTKOpenGLNativeWidget *, const QString &)
bool parseAndInsertInSceneTree(QTreeWidgetItem *parentItem, G4PhysicalVolumeModel *pPVModel, unsigned int fullPathIndex, const QString &parentRoot, unsigned int currentIndexInTreeSceneHandler, int currentPVPOIndex)
QString getModelShortName(const G4String &model)
void Initialise() override
G4VtkQtViewer(G4VSceneHandler &, const G4String &name)
std::vector< PVNodeID > PVPath
void SetWidgetInteractor(vtkAbstractWidget *widget) override
void EnableClipperWidget() override
void createSceneTreeComponent()
G4PhysicalVolumeModel::G4PhysicalVolumeNodeID PVNodeID
void addPVSceneTreeElement(const G4String &model, G4PhysicalVolumeModel *pPVModel, int currentPOIndex)
void FinishView() override
QTreeWidgetItem * createTreeWidgetItem(const PVPath &fullPath, const QString &name, int copyNb, int POIndex, const QString &logicalName, Qt::CheckState state, QTreeWidgetItem *parentTreeNode, const G4Colour &color)
G4VtkViewer(G4VSceneHandler &, const G4String &name)