38 #ifndef __usVirtualNeedle_h_
39 #define __usVirtualNeedle_h_
42 #include <visp3/ustk_core/usConfig.h>
44 #ifdef USTK_HAVE_VTK_QT
46 #include <visp3/core/vpHomogeneousMatrix.h>
48 #include <visp3/ustk_gui/usViewerWidget.h>
50 #include <visp3/ustk_gui/usVTKConverter.h>
53 #include <vtkArrowSource.h>
54 #include <vtkCylinderSource.h>
55 #include <vtkInteractorStyleTrackballCamera.h>
56 #include <vtkMatrix4x4.h>
57 #include <vtkProperty.h>
58 #include <vtkRenderWindowInteractor.h>
59 #include <vtkSTLReader.h>
60 #include <vtkSTLWriter.h>
61 #include <vtkSmartPointer.h>
62 #include <vtkSphereSource.h>
64 #include <QPaintEngine>
68 #include <vtkAxesActor.h>
69 #include <vtkPoints.h>
70 #include <vtkPolyDataMapper.h>
71 #include <vtkRenderWindow.h>
72 #include <vtkRenderer.h>
73 #include <vtkSmartPointer.h>
76 #if defined(USTK_HAVE_VTK_QT4)
77 #include <QApplication>
79 #include <QVTKWidget.h>
80 #include <QtGui/QGridLayout>
81 #include <QtGui/QMainWindow>
82 #include <QtGui/QPushButton>
83 #elif defined USTK_HAVE_VTK_QT5
84 #include <QApplication>
86 #if USTK_HAVE_VTK_VERSION < 0x090000
87 #include <QVTKWidget.h>
89 #include <QVTKOpenGLWidget.h>
91 #include <QtWidgets/QGridLayout>
92 #include <QtWidgets/QMainWindow>
93 #include <QtWidgets/QPushButton>
107 usVirtualNeedle(QWidget *parent = NULL, Qt::WindowFlags f = Qt::WindowFlags());
126 vtkPolyData *m_meshPolyData;
128 vtkPolyData *m_meshNeedle;
131 vtkSmartPointer<vtkActor> m_meshActor;
132 vtkSmartPointer<vtkActor> m_needleActor;
135 vtkSmartPointer<vtkAxesActor> m_axesActor;
138 vtkRenderer *renderer;
Class used to render a virtual needle movable in a 3D environment.
usVirtualNeedle(QWidget *parent=NULL, Qt::WindowFlags f=Qt::WindowFlags())
virtual ~usVirtualNeedle()
vtkPoints * getMeshPoints()
void setMeshInScene(vtkPolyData *mesh)
void paintEvent(QPaintEvent *event)
void keyPressEvent(QKeyEvent *event)
void updateNeedlePosition(vpHomogeneousMatrix transform)