MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
abstractphongalphamaterial.h
Go to the documentation of this file.
1//=============================================================================================================
35#ifndef DISP3DLIB_ABSTRACTPHONGALPHAMATERIAL_H
36#define DISP3DLIB_ABSTRACTPHONGALPHAMATERIAL_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "../../../disp3D_global.h"
43
44//=============================================================================================================
45// QT INCLUDES
46//=============================================================================================================
47
48#include <QSharedPointer>
49#include <QPointer>
50#include <Qt3DRender/QMaterial>
51
52//=============================================================================================================
53// EIGEN INCLUDES
54//=============================================================================================================
55
56//=============================================================================================================
57// FORWARD DECLARATIONS
58//=============================================================================================================
59
60namespace Qt3DRender {
61 class QEffect;
62 class QParameter;
63 class QFilterKey;
64 class QShaderProgram;
65}
66
67//=============================================================================================================
68// DEFINE NAMESPACE DISP3DLIB
69//=============================================================================================================
70
71namespace DISP3DLIB {
72
73//=============================================================================================================
74// DISP3DLIB FORWARD DECLARATIONS
75//=============================================================================================================
76
77//=============================================================================================================
84class DISP3DSHARED_EXPORT AbstractPhongAlphaMaterial : public Qt3DRender::QMaterial
85{
86 Q_OBJECT
87
88public:
89 typedef QSharedPointer<AbstractPhongAlphaMaterial> SPtr;
90 typedef QSharedPointer<const AbstractPhongAlphaMaterial> ConstSPtr;
92 //=========================================================================================================
99 explicit AbstractPhongAlphaMaterial(bool bUseSortPolicy, QNode *parent);
100
101 //=========================================================================================================
105 virtual ~AbstractPhongAlphaMaterial() = default;
106
107 //=========================================================================================================
113 virtual float alpha() const;
114
115 //=========================================================================================================
121 virtual void setAlpha(float fAlpha);
122
123protected:
124
125 //=========================================================================================================
130 virtual void init();
131
132 //=========================================================================================================
137 virtual void setShaderCode() = 0;
138
139 //=========================================================================================================
147 virtual void addShaderToRenderPass(const QString &sObjectName, Qt3DRender::QShaderProgram *pShaderProgramm);
148
149 //=========================================================================================================
156 virtual void onAlphaChanged(const QVariant &fAlpha);
157
158 QPointer<Qt3DRender::QEffect> m_pEffect;
160 QPointer<Qt3DRender::QParameter> m_pDiffuseParameter;
161 QPointer<Qt3DRender::QParameter> m_pSpecularParameter;
162 QPointer<Qt3DRender::QParameter> m_pShininessParameter;
163 QPointer<Qt3DRender::QParameter> m_pAlphaParameter;
165 QPointer<Qt3DRender::QFilterKey> m_pDrawFilterKey;
168};
169
170//=============================================================================================================
171// INLINE DEFINITIONS
172//=============================================================================================================
173} // namespace DISP3DLIB
174
175#endif // DISP3DLIB_ABSTRACTPHONGALPHAMATERIAL_H
#define DISP3DSHARED_EXPORT
This abstract class is used as a base class for all materials that are using the phong alpha lightini...
virtual ~AbstractPhongAlphaMaterial()=default
QPointer< Qt3DRender::QParameter > m_pShininessParameter
QPointer< Qt3DRender::QParameter > m_pSpecularParameter
QPointer< Qt3DRender::QParameter > m_pAlphaParameter
QPointer< Qt3DRender::QFilterKey > m_pDrawFilterKey
QPointer< Qt3DRender::QParameter > m_pDiffuseParameter
QSharedPointer< AbstractPhongAlphaMaterial > SPtr
QSharedPointer< const AbstractPhongAlphaMaterial > ConstSPtr