MNE-CPP  0.1.9
A Framework for Electrophysiology
customframegraph.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef DISP3DLIB_CUSTOMFRAMEGRAPH_H
37 #define DISP3DLIB_CUSTOMFRAMEGRAPH_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../../disp3D_global.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QSharedPointer>
50 #include <QPointer>
51 #include <Qt3DRender/QViewport>
52 
53 //=============================================================================================================
54 // EIGEN INCLUDES
55 //=============================================================================================================
56 
57 //=============================================================================================================
58 // FORWARD DECLARATIONS
59 //=============================================================================================================
60 
61 namespace Qt3DRender {
62  class QRenderSurfaceSelector;
63  class QClearBuffers;
64  class QNoDraw;
65  class QDispatchCompute;
66  class QTechniqueFilter;
67  class QCameraSelector;
68  class QCamera;
69  class QFilterKey;
70  class QMemoryBarrier;
71  class QCamera;
72  class QSortPolicy;
73  class QRenderStateSet;
74  class QDepthTest;
75  class QNoDepthMask;
76  class QBlendEquationArguments;
77  class QBlendEquation;
78  class QCullFace;
79  class QRenderCapture;
80  class QRenderCaptureReply;
81 }
82 
83 //=============================================================================================================
84 // DEFINE NAMESPACE DISP3DLIB
85 //=============================================================================================================
86 
87 namespace DISP3DLIB {
88 
89 //=============================================================================================================
90 // DISP3DLIB FORWARD DECLARATIONS
91 //=============================================================================================================
92 
93 //=============================================================================================================
100 class DISP3DSHARED_EXPORT CustomFrameGraph : public Qt3DRender::QViewport
101 {
102  Q_OBJECT
103 
104 public:
105  typedef QSharedPointer<CustomFrameGraph> SPtr;
106  typedef QSharedPointer<const CustomFrameGraph> ConstSPtr;
108  //=========================================================================================================
114  explicit CustomFrameGraph(Qt3DCore::QNode *parent = 0);
115 
116  //=========================================================================================================
120  ~CustomFrameGraph();
121 
122  //=========================================================================================================
128  void setCamera(Qt3DRender::QCamera *tCamera);
129 
130  //=========================================================================================================
138  void setWorkGroupSize(const uint tX, const uint tY , const uint tZ);
139 
140  //=========================================================================================================
146  void setClearColor(const QColor &tColor);
147 
148  //=========================================================================================================
154  Qt3DRender::QRenderCaptureReply* requestRenderCaptureReply();
155 
156 protected:
157 
158 private:
159 
160  //=========================================================================================================
164  void init();
165 
166  QPointer<Qt3DRender::QRenderSurfaceSelector> m_pSurfaceSelector;
168  QPointer<Qt3DRender::QClearBuffers> m_pClearBuffers;
170  QPointer<Qt3DRender::QNoDraw> m_pNoDraw;
172  QPointer<Qt3DRender::QDispatchCompute> m_pDispatchCompute;
174  QPointer<Qt3DRender::QTechniqueFilter> m_pComputeFilter;
176  QPointer<Qt3DRender::QCameraSelector> m_pCameraSelector;
178  QPointer<Qt3DRender::QMemoryBarrier> m_pMemoryBarrier;
180  QPointer<Qt3DRender::QRenderStateSet> m_pForwardState;
182  QPointer<Qt3DRender::QTechniqueFilter> m_pForwardTranspFilter;
184  QPointer<Qt3DRender::QRenderStateSet> m_pTransparentState;
186  QPointer<Qt3DRender::QTechniqueFilter> m_pForwardFilter;
188  QPointer<Qt3DRender::QTechniqueFilter> m_pForwardSortedFilter;
190  QPointer<Qt3DRender::QSortPolicy> m_pSortPolicy;
192  QPointer<Qt3DRender::QFilterKey> m_pForwardTranspKey;
194  QPointer<Qt3DRender::QFilterKey> m_pForwardKey;
196  QPointer<Qt3DRender::QFilterKey> m_pForwardSortedKey;
198  QPointer<Qt3DRender::QFilterKey> m_pComputeKey;
200  QPointer<Qt3DRender::QDepthTest> m_pDepthTest;
202  QPointer<Qt3DRender::QCullFace> m_pCullFace;
204  QPointer<Qt3DRender::QBlendEquation> m_pBlendEquation;
206  QPointer<Qt3DRender::QBlendEquationArguments> m_pBlendArguments;
208  QPointer<Qt3DRender::QNoDepthMask> m_pNoDepthMask;
210  QPointer<Qt3DRender::QRenderCapture> m_pCapture;
212  bool m_bUseOpenGl4_3;
213 };
214 
215 //=============================================================================================================
216 // INLINE DEFINITIONS
217 //=============================================================================================================
218 } // namespace DISP3DLIB
219 
220 #endif // DISP3DLIB_CUSTOMFRAMEGRAPH_H
QSharedPointer< CustomFrameGraph > SPtr
Custom framegaph class.
QSharedPointer< const CustomFrameGraph > ConstSPtr
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55