36 #ifndef DISP3DLIB_VIEW3D_H
37 #define DISP3DLIB_VIEW3D_H
43 #include "../../disp3D_global.h"
50 #include <Qt3DExtras/Qt3DWindow>
53 #include <QObjectPicker>
60 class QPropertyAnimation;
62 namespace Qt3DRender {
64 class QRenderCaptureReply;
66 class QRenderSurfaceSelector;
81 class Data3DTreeModel;
82 class CustomFrameGraph;
95 typedef QSharedPointer<View3D>
SPtr;
116 void setModel(QSharedPointer<DISP3DLIB::Data3DTreeModel> pModel);
124 void setSceneColor(
const QColor& colSceneColor);
130 void startStopCameraRotation(
bool bChecked);
139 void setCameraRotation(
float fAngle);
148 Qt3DCore::QTransform getCameraTransform();
154 void toggleCoordAxis(
bool bChecked);
160 void showFullScreen(
bool bChecked);
166 void setLightColor(
const QColor &color);
172 void setLightIntensity(
double value);
180 void takeScreenshot();
188 void activatePicker(
const bool bActivatePicker);
194 void showSingleView();
200 void showMultiView();
204 void saveScreenshot();
216 void initObjectPicking();
222 void keyPressEvent(QKeyEvent* e)
override;
230 void createCoordSystem(Qt3DCore::QEntity* parent);
238 void handlePickerPress(Qt3DRender::QPickEvent *qPickEvent);
244 void initSingleCam();
250 void initMultiCams();
256 void initSingleView();
262 void initMultiView();
268 void updateMultiViewAspectRatio();
274 void setMultiViewVertical();
280 void setMultiViewHorizontal();
286 void resizeEvent(QResizeEvent *)
override;
288 enum MultiViewOrientation{
299 QPointer<Qt3DRender::QRenderSurfaceSelector>m_pMultiFrame;
324 void pickEventOccured(Qt3DRender::QPickEvent *qPickEvent);
329 #endif // DISP3DLIB_VIEW3D_H