44class QRhiResourceUpdateBatch;
81 return m_instanceCount;
101 bool boundingBox(QVector3D& min, QVector3D& max)
const;
103 void setSelected(
int index,
bool selected);
114 int intersect(
const QVector3D& rayOrigin,
const QVector3D& rayDir,
float& dist)
const;
117 void createGeometry();
121 std::unique_ptr<GpuBuffers> m_gpu;
123 int m_indexCount = 0;
124 int m_instanceCount = 0;
125 bool m_visible =
true;
147 QByteArray m_vertexData;
148 QByteArray m_indexData;
149 QByteArray m_instanceData;
150 QVector<QMatrix4x4> m_loadedModels;
152 bool m_geometryDirty =
false;
153 bool m_instancesDirty =
false;
155 std::vector<QVector4D> m_originalColors;
Library export/import macros and namespace marker for the disp3D library.
#define DISP3DSHARED_EXPORT
Ordered set of INVLIB::InvEcd records — the result of a sequential dipole-fit run.
3-D brain visualisation using the Qt RHI rendering backend.
Interleaved vertex attributes (position, normal, color, curvature) for brain surface GPU upload.
QRhiBuffer * indexBuffer() const
void load(const INVLIB::InvEcdSet &ecdSet)
void updateBuffers(QRhi *rhi, QRhiResourceUpdateBatch *u)
int instanceCount() const
void applyTransform(const QMatrix4x4 &trans)
void setVisible(bool visible)
QRhiBuffer * vertexBuffer() const
QRhiBuffer * instanceBuffer() const
Holds a set of Electric Current Dipoles.