30#ifndef G4OPENINVENTORQTEXAMINERVIEWER_HH
31#define G4OPENINVENTORQTEXAMINERVIEWER_HH
57#include <Inventor/SbLinear.h>
58#include <Inventor/nodes/SoLineSet.h>
59#include <Inventor/nodes/SoEventCallback.h>
60#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
61#include <Inventor/events/SoKeyboardEvent.h>
88 public SoQtExaminerViewer {
189 const char*
name = NULL,
191 SoQtFullViewer::BuildFlag flag = BUILD_ALL,
254 void zoom(
const float);
255 void moveCamera(
float dist = 0,
bool lookdown =
false);
262 static void mouseoverCB(
void *aThis, SoEventCallback *eventCB);
263 static void pickingCB(
void *aThis, SoEventCallback *eventCB);
288 float sqrlen(
const SbVec3f&);
static constexpr double s
static void mouseoverCB(void *aThis, SoEventCallback *eventCB)
SoTranslation * mouseOverTransMaterial
void SwitchWireFrameCB(bool)
SoCoordinate3 * getCoordsNode(SoFullPath *path)
static void superimpositionCB(void *closure, SoAction *action)
static void animateSensorRotationCB(void *, SoSensor *)
SoText2 * mouseOverTextMaterial
QListWidgetItem * saveViewPtItem
SoSearchAction * searcher
void moveCamera(float dist=0, bool lookdown=false)
virtual void afterRealizeHook()
QAction * FileSaveSceneGraph
SoSwitch * animSpeedSwitch
SoNode * getSuperimpositionNode(SoNode *, const char *name)
void animateRefParticle()
QAction * FileLoadRefPath
std::string saveRefCoordsFileName
SoSeparator * newSceneGraph
SoTranslation * curInfoTrans
~G4OpenInventorQtExaminerViewer()
SoTranslation * mouseOverTransZPos
void addEscapeCallback(void(*cb)())
void buildWidget(QWidget *parent)
void parseString(T &t, const std::string &s, bool &error)
void ToolsRefPathStartCB()
QPushButton * abbrOutputButton
SoTranslation * mouseOverTransSolid
void setReferencePathZPos()
SbRotation camStartOrient
static void pickingCB(void *aThis, SoEventCallback *eventCB)
SoFont * mouseOverFontZPos
static void sceneChangeCB(void *, SoSensor *)
SbBool processSoEvent(const SoEvent *const event)
void renameViewPt(char *vpName)
SoFont * mouseOverFontMaterial
std::vector< float > refZPositions
G4OpenInventorQtExaminerViewer(QWidget *parent=NULL, const char *name=NULL, SbBool embed=TRUE, SoQtFullViewer::BuildFlag flag=BUILD_ALL, SoQtViewer::Type type=BROWSER)
static void animateRefParticleCB()
static G4OpenInventorQtExaminerViewer * viewer
SoTranslation * stranslation
SoTranslation * mouseOverTransLogName
void sortViewPts(std::vector< std::string >)
void deleteViewPt(char *vpName=NULL)
QPushButton * prevViewPtButton
SoNodeSensor * sceneChangeSensor
bool viewingBeforePickRef
void cleanUpAfterPrevFile()
QAction * FileNewBookmark
QPushButton * switchWireFrameButton
void FileLoadSceneGraphCB()
SoTimerSensor * animateSensor
virtual void actualRedraw(void)
void createElementsList()
void setOrigWindowSize(int w, int h)
Ui_Dialog * AuxWindowDialog
QAction * FileSaveRefPath
void updateViewParams(SoKeyboardEvent::Key)
void setReferencePath(SoLineSet *, SoCoordinate3 *, bool append=false)
void saveViewPt(char *name)
void updateSpeedIndicator(void)
void construct(const SbBool build)
QPushButton * switchAxesButton
SoFont * mouseOverFontLogName
void ToolsAnimateRefParticleCB()
void superimpositionEvent(SoAction *action)
SoText2 * mouseOverTextZPos
std::string saveScenegraphFileName
SoTimerSensor * animateSensorRotation
QAction * ToolsRefPathInvert
void LoadBookmarkCB(QListWidgetItem *)
QPushButton * nextViewPtButton
std::vector< sceneElement > sceneElements
QAction * FileOpenBookmark
void distanceToTrajectory(const SbVec3f &, float &, SbVec3f &, int &)
void evenOutRefParticlePts()
QAction * FileLoadSceneGraph
viewPtData camB4Animation
double animateBtwPtsPeriod
SoSwitch * animSpeedOutlineSwitch
void LookAtSceneElementCB(QListWidgetItem *)
std::vector< viewPtData > viewPtList
SoFont * mouseOverFontSolid
std::vector< SbVec3f > refParticleTrajectory
QAction * ToolsAnimateRefParticle
SoText2 * mouseOverTextSolid
QPushButton * pickRefPathButton
QPushButton * detachButton
static void animateSensorCB(void *, SoSensor *)
void ToolsRefPathInvertCB()
float sqrlen(const SbVec3f &)
SoText2 * mouseOverTextLogName
SoCoordinate3 * sgeometry
QAction * ToolsRefPathStart
void setStartingPtForAnimation()
void FileOpenBookmarkCB()
std::string viewPtAutoName()
HookEventProcState * hookBeamOn
void FileSaveSceneGraphCB()
QPushButton * saveViewPtButton
virtual G4bool Notify(G4ApplicationState requestedState)
HookEventProcState(G4OpenInventorQtExaminerViewer *)
G4OpenInventorQtExaminerViewer * viewer
const char * name(G4int ptype)
G4bool operator<(elementForSorting const &other) const
float distanceToBeamlineStart
static PROLOG_HANDLER error