35#ifndef ELECTRODEOBJECT_H
36#define ELECTRODEOBJECT_H
59class QRhiResourceUpdateBatch;
119 const QVector<ElectrodeShaft>&
shafts()
const;
136 const QColor& minColor = Qt::blue,
137 const QColor& maxColor = Qt::red);
169 QVector<unsigned int>& indices,
170 int cylinderSides = 16)
const;
233 QVector<ElectrodeShaft> m_shafts;
234 QString m_selectedContact;
242 void computeBoundingBox();
255 static QColor interpolateColor(
float value,
float minVal,
float maxVal,
256 const QColor& minColor,
const QColor& maxColor);
260 std::unique_ptr<GpuBuffers> m_gpu;
disp3D library export/import macros.
#define DISP3DSHARED_EXPORT
3-D brain visualisation using the Qt RHI rendering backend.
Single contact on a depth electrode shaft.
One shaft of a stereotactic depth electrode (sEEG).
QVector< ElectrodeContact > contacts
uint32_t shaftIndexCount() const
void generateShaftGeometry(QVector< float > &vertices, QVector< unsigned int > &indices, int cylinderSides=16) const
QRhiBuffer * instanceBuffer() const
void setShafts(const QVector< ElectrodeShaft > &shafts)
void generateContactInstances(QVector< float > &instanceData) const
QRhiBuffer * indexBuffer() const
void updateBuffers(QRhi *rhi, QRhiResourceUpdateBatch *u)
QVector3D boundingBoxMax() const
const QVector< ElectrodeShaft > & shafts() const
QRhiBuffer * vertexBuffer() const
void setContactValues(const QMap< QString, float > &values, const QColor &minColor=Qt::blue, const QColor &maxColor=Qt::red)
void selectContact(const QString &name)
QString selectedContact() const
int totalContactCount() const
uint32_t contactInstanceCount() const
QVector3D boundingBoxMin() const