94 typedef std::vector<PVNodeID> PVPath;
165 int currentPVPOIndex);
167 int currentPVPOIndex,
168 const std::string& modelDescription,
172 bool exportImage(std::string name=
"",
int width=-1,
int height=-1);
191 void moveScene(
float,
float,
float,
bool);
200 const std::vector<G4ModelingParameters::VisAttributesModifier>*
210#if QT_VERSION < 0x060000
224 enum RECORDING_STEP {WAIT,START,PAUSE,CONTINUE,STOP,READY_TO_ENCODE,ENCODING,FAILED,SUCCESS,BAD_ENCODER,BAD_OUTPUT,BAD_TMP,SAVE};
226 void createPopupMenu();
227 void createRadioAction(QAction *,QAction *,
const std::string&,
unsigned int a=1);
228 void rescaleImage(
int,
int);
229 bool printPDF(
const std::string,
int,QImage);
230 void showMovieParametersDialog();
231 void initMovieParameters();
232 QString createTempFolder();
233 QString removeTempFolder();
234 void setRecordingStatus(RECORDING_STEP);
235 void setRecordingInfos(
const QString&);
236 QString getProcessErrorMsg();
237 QWidget* getParentWidget();
238 bool parseAndInsertInSceneTree(QTreeWidgetItem *,
240 unsigned int fullPathIndex,
241 const QString& parentRoot,
242 unsigned int currentIndex,
243 int currentPVPOIndex);
244 void setCheckComponent(QTreeWidgetItem* item,
bool check);
245 void createSceneTreeComponent();
246 void createSceneTreeWidget();
247 void createViewerPropertiesWidget();
248 void createPickInfosWidget();
249 bool parseAndCheckVisibility(QTreeWidgetItem * treeNode,
int POindex);
250 QTreeWidgetItem* createTreeWidgetItem(
const PVPath& fullPath,
254 const QString& logicalName,
255 Qt::CheckState state,
256 QTreeWidgetItem * treeNode,
258 QString getModelShortName(
const G4String& modelShortName);
259 void cloneSceneTree(QTreeWidgetItem* rootItem);
260 void changeDepthOnSceneTreeItem(
double lookForDepth,
double currentDepth,QTreeWidgetItem* item);
261 void updatePositivePoIndexSceneTreeWidgetQuickMap(
int POindex,QTreeWidgetItem* item);
262 void changeQColorForTreeWidgetItem(QTreeWidgetItem* item,
const QColor&);
264 bool isSameSceneTreeElement(QTreeWidgetItem* parentOldItem,QTreeWidgetItem* parentNewItem);
265 void changeOpenCloseVisibleHiddenSelectedColorSceneTreeElement(QTreeWidgetItem* subItem);
266 bool isPVVolume(QTreeWidgetItem* item);
267 QTreeWidgetItem* cloneWidgetItem(QTreeWidgetItem* item);
268 void clearSceneTreeSelection(QTreeWidgetItem*);
269 void clearTreeWidgetElements(QTreeWidgetItem* item);
272 QTreeWidgetItem* getTreeWidgetItem(
int POindex);
275 QTreeWidgetItem* getOldTreeWidgetItem(
int POindex);
278 std::string parseSceneTreeAndSaveState();
280 std::string parseSceneTreeElementAndSaveState(QTreeWidgetItem* item,
unsigned int level);
281 QString GetCommandParameterList (
const G4UIcommand *aCommand);
282 void changeColorAndTransparency(GLuint index,
G4Color color);
288 QPoint fLastPickPoint;
299 bool fHoldRotateEvent;
301 QString fEncoderPath;
302 QString fTempFolderPath;
303 QString fMovieTempFolderPath;
304 QString fSaveFileName;
305 QString fParameterFileName;
306 QAction *fMouseRotateAction;
307 QAction *fMouseMoveAction;
308 QAction *fMousePickAction;
309 QAction *fMouseZoomInAction;
310 QAction *fMouseZoomOutAction;
311 QAction *fFullScreenOn;
312 QAction *fFullScreenOff;
313 QAction *fDrawingWireframe;
314 QAction *fDrawingLineRemoval;
315 QAction *fDrawingSurfaceRemoval;
316 QAction *fDrawingLineSurfaceRemoval;
317 QAction *fProjectionOrtho;
318 QAction *fProjectionPerspective;
320 RECORDING_STEP fRecordingStep;
322#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
323 QTime *fLastEventTime;
325 QElapsedTimer *fLastEventTime;
328 int fNbMaxFramesPerSec;
329 float fNbMaxAnglePerSec;
330 int fLaunchSpinDelay;
331 QWidget* fUISceneTreeWidget;
332 QWidget* fUIViewerPropertiesWidget;
333 QWidget* fUIPickInfosWidget;
336 bool fControlKeyPress;
339 bool fCheckSceneTreeComponentSignalLock;
340 bool fViewerPropertiesTableWidgetIsInit;
341 QTreeWidget* fSceneTreeComponentTreeWidget;
343 QWidget* fSceneTreeWidget;
344 bool fPVRootNodeCreate;
345 QLineEdit* fFilterOutput;
346 QString fFileSavePath;
349 QString fTouchableVolumes;
350 QDialog* fShortcutsDialog;
351 QTableWidget *fViewerPropertiesTableWidget;
352 QWidget* fPickInfosWidget;
353 QScrollArea* fPickInfosScrollArea;
354 int fTreeWidgetInfosIgnoredCommands;
355 QPushButton * fSceneTreeButtonApply;
356 QTextEdit *fShortcutsDialogInfos;
357 QSlider* fSceneTreeDepthSlider;
358 std::map <int, PVPath > fTreeItemModels;
359 std::map <int, PVPath > fOldTreeItemModels;
362 std::map <int, QTreeWidgetItem*> fPositivePoIndexSceneTreeWidgetQuickMap;
364 std::map <int, QTreeWidgetItem*> fOldPositivePoIndexSceneTreeWidgetQuickMap;
365 std::vector <QTreeWidgetItem*> fOldNullPoIndexSceneTreeWidgetQuickVector;
367 std::map <int, QColor> fOldVisAttrColorMap;
369 unsigned int fSceneTreeDepth;
370 QTreeWidgetItem* fModelShortNameItem;
372 int fMaxPOindexInserted;
375 std::map <int, QTreeWidgetItem*>::const_iterator fLastSceneTreeWidgetAskForIterator;
376 std::map <int, QTreeWidgetItem*>::const_iterator fLastSceneTreeWidgetAskForIteratorEnd;
379 std::map <int, QTreeWidgetItem*>::const_iterator fOldLastSceneTreeWidgetAskForIterator;
380 std::map <int, QTreeWidgetItem*>::const_iterator fOldLastSceneTreeWidgetAskForIteratorEnd;
383 QPixmap* fTreeIconOpen;
384 QPixmap* fTreeIconClosed;
385 QPixmap* fSearchIcon;
387 int fLastExportSliderValue;
389 GLuint fLastHighlightName;
392#ifdef G4MULTITHREADED
393 QThread* fQGLContextVisSubThread;
394 QThread* fQGLContextMainThread;
404 void actionSaveImage();
405 void actionChangeBackgroundColor();
406 void actionChangeTextColor();
407 void actionChangeDefaultColor();
408 void actionMovieParameters();
410 void showShortcuts();
411 void toggleMouseAction(
int);
412 void toggleSurfaceAction(
int);
413 void toggleProjection(
bool);
414 void toggleTransparency(
bool);
415 void toggleAntialiasing(
bool);
416 void toggleHaloing(
bool);
417 void toggleAux(
bool);
418 void toggleHiddenMarkers(
bool);
419 void toggleFullScreen(
bool);
420 void processEncodeFinished();
421 void processLookForFinished();
422 void processEncodeStdout();
423 void sceneTreeComponentItemChanged(QTreeWidgetItem* item,
int id);
424 void toggleSceneTreeComponentPickingCout(
int);
425 void togglePicking();
426 void currentTabActivated(
int);
429 void sceneTreeComponentSelected();
430 void changeDepthInSceneTree(
int);
431 void changeSearchSelection();
432 void changeColorAndTransparency(QTreeWidgetItem* item,
int val);
433 void tableWidgetViewerSetItemChanged(QTableWidgetItem *);