MNE-CPP  0.1.9
A Framework for Electrophysiology
gpuinterpolationmaterial.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef DISP3DLIB_GPUINTERPOLATIONMATERIAL_H
37 #define DISP3DLIB_GPUINTERPOLATIONMATERIAL_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../../../disp3D_global.h"
45 
46 //=============================================================================================================
47 // QT INCLUDES
48 //=============================================================================================================
49 
50 #include <QSharedPointer>
51 #include <QPointer>
52 
53 //=============================================================================================================
54 // EIGEN INCLUDES
55 //=============================================================================================================
56 
57 //=============================================================================================================
58 // FORWARD DECLARATIONS
59 //=============================================================================================================
60 
61 namespace QtCore {
62  class QVector3D;
63 }
64 
65 namespace Qt3DRender {
66  class QParameter;
67  class QShaderProgram;
68  class QRenderPass;
69  class QFilterKey;
70  class QTechnique;
71 }
72 
73 //=============================================================================================================
74 // DEFINE NAMESPACE DISPDLIB
75 //=============================================================================================================
76 
77 namespace DISP3DLIB {
78 
79 //=============================================================================================================
80 // DISP3DLIB FORWARD DECLARATIONS
81 //=============================================================================================================
82 
83 //=============================================================================================================
91 {
92  Q_OBJECT
93 
94 public:
95  typedef QSharedPointer<GpuInterpolationMaterial> SPtr;
96  typedef QSharedPointer<const GpuInterpolationMaterial> ConstSPtr;
98  //=========================================================================================================
105  explicit GpuInterpolationMaterial(bool bUseSortPolicy = false, Qt3DCore::QNode *parent = nullptr);
106 
107  //=========================================================================================================
111  virtual ~GpuInterpolationMaterial() = default;
112 
113 protected:
114  //=========================================================================================================
118  void init() override;
119 
120  //=========================================================================================================
124  void setShaderCode() override;
125 
126  //Compute Part
127  QPointer<Qt3DRender::QShaderProgram> m_pComputeShader;
128  QPointer<Qt3DRender::QRenderPass> m_pComputeRenderPass;
129  QPointer<Qt3DRender::QFilterKey> m_pComputeFilterKey;
130  QPointer<Qt3DRender::QTechnique> m_pComputeTechnique;
132  //Draw Part
133  QPointer<Qt3DRender::QShaderProgram> m_pDrawShader;
134  QPointer<Qt3DRender::QRenderPass> m_pDrawRenderPass;
135  QPointer<Qt3DRender::QTechnique> m_pDrawTechnique;
137  //Measurement signal
138  QPointer<Qt3DRender::QParameter> m_pSignalDataParameter;
140  //Interpolation matrix parameter
141  QPointer<Qt3DRender::QParameter> m_pColsParameter;
142  QPointer<Qt3DRender::QParameter> m_pRowsParameter;
143  QPointer<Qt3DRender::QParameter> m_pInterpolationMatParameter;
145  //Output parameter
146  QPointer<Qt3DRender::QParameter> m_pOutputColorParameter;
148  //Lower and upper normalization threshold parameter
149  QPointer<Qt3DRender::QParameter> m_pThresholdXParameter;
150  QPointer<Qt3DRender::QParameter> m_pThresholdZParameter;
152  //Colormap type
153  QPointer<Qt3DRender::QParameter> m_pColormapParameter;
154 };
155 
156 //=============================================================================================================
157 // INLINE DEFINITIONS
158 //=============================================================================================================
159 } // namespace DISP3DLIB
160 
161 #endif // DISP3DLIB_GPUINTERPOLATIONMATERIAL_H
DISP3DLIB::GpuInterpolationMaterial::m_pColsParameter
QPointer< Qt3DRender::QParameter > m_pColsParameter
Definition: gpuinterpolationmaterial.h:141
DISP3DLIB::GpuInterpolationMaterial::m_pDrawShader
QPointer< Qt3DRender::QShaderProgram > m_pDrawShader
Definition: gpuinterpolationmaterial.h:133
DISP3DLIB::GpuInterpolationMaterial::m_pSignalDataParameter
QPointer< Qt3DRender::QParameter > m_pSignalDataParameter
Definition: gpuinterpolationmaterial.h:138
DISP3DLIB::GpuInterpolationMaterial::m_pThresholdZParameter
QPointer< Qt3DRender::QParameter > m_pThresholdZParameter
Definition: gpuinterpolationmaterial.h:150
DISP3DLIB::GpuInterpolationMaterial::m_pComputeShader
QPointer< Qt3DRender::QShaderProgram > m_pComputeShader
Definition: gpuinterpolationmaterial.h:127
DISP3DLIB::GpuInterpolationMaterial::m_pDrawRenderPass
QPointer< Qt3DRender::QRenderPass > m_pDrawRenderPass
Definition: gpuinterpolationmaterial.h:134
DISP3DLIB::GpuInterpolationMaterial::m_pColormapParameter
QPointer< Qt3DRender::QParameter > m_pColormapParameter
Definition: gpuinterpolationmaterial.h:153
DISP3DLIB::GpuInterpolationMaterial::SPtr
QSharedPointer< GpuInterpolationMaterial > SPtr
Definition: gpuinterpolationmaterial.h:95
DISP3DLIB::GpuInterpolationMaterial::m_pComputeFilterKey
QPointer< Qt3DRender::QFilterKey > m_pComputeFilterKey
Definition: gpuinterpolationmaterial.h:129
DISP3DLIB::GpuInterpolationMaterial::ConstSPtr
QSharedPointer< const GpuInterpolationMaterial > ConstSPtr
Definition: gpuinterpolationmaterial.h:96
DISP3DLIB::GpuInterpolationMaterial::m_pDrawTechnique
QPointer< Qt3DRender::QTechnique > m_pDrawTechnique
Definition: gpuinterpolationmaterial.h:135
DISP3DLIB::GpuInterpolationMaterial::m_pInterpolationMatParameter
QPointer< Qt3DRender::QParameter > m_pInterpolationMatParameter
Definition: gpuinterpolationmaterial.h:143
DISP3DLIB::GpuInterpolationMaterial::m_pRowsParameter
QPointer< Qt3DRender::QParameter > m_pRowsParameter
Definition: gpuinterpolationmaterial.h:142
DISP3DLIB::AbstractPhongAlphaMaterial
This abstract class is used as a base class for all materials that are using the phong alpha lightini...
Definition: abstractphongalphamaterial.h:84
DISP3DLIB::GpuInterpolationMaterial::m_pComputeRenderPass
QPointer< Qt3DRender::QRenderPass > m_pComputeRenderPass
Definition: gpuinterpolationmaterial.h:128
DISP3DSHARED_EXPORT
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
DISP3DLIB::GpuInterpolationMaterial
Compute shader interpolation material.
Definition: gpuinterpolationmaterial.h:90
DISP3DLIB::GpuInterpolationMaterial::m_pComputeTechnique
QPointer< Qt3DRender::QTechnique > m_pComputeTechnique
Definition: gpuinterpolationmaterial.h:130
DISP3DLIB::GpuInterpolationMaterial::m_pOutputColorParameter
QPointer< Qt3DRender::QParameter > m_pOutputColorParameter
Definition: gpuinterpolationmaterial.h:146
DISP3DLIB::GpuInterpolationMaterial::m_pThresholdXParameter
QPointer< Qt3DRender::QParameter > m_pThresholdXParameter
Definition: gpuinterpolationmaterial.h:149
abstractphongalphamaterial.h
AbstractPhongAlphaMaterial class declaration.