35 #ifndef DISP3DLIB_RTSOURCEDATACONTROLLER_H
36 #define DISP3DLIB_RTSOURCEDATACONTROLLER_H
42 #include "../../../../disp3D_global.h"
57 #include <Eigen/SparseCore>
74 class RtSourceDataWorker;
75 class RtSourceInterpolationMatWorker;
88 typedef QSharedPointer<RtSourceDataController>
SPtr;
89 typedef QSharedPointer<const RtSourceDataController>
ConstSPtr;
109 void setStreamingState(
bool bStreamingState);
118 void setInterpolationFunction(
const QString &sInterpolationFunction);
126 void setLoopState(
bool bLoopState);
136 void setCancelDistance(
double dCancelDist);
144 void setTimeInterval(
int iMSec);
158 void setInterpolationInfo(
const Eigen::MatrixX3f &matVerticesLeft,
159 const Eigen::MatrixX3f &matVerticesRight,
160 const QVector<QVector<int> > &vecNeighborVerticesLeft,
161 const QVector<QVector<int> > &vecNeighborVerticesRight,
162 const Eigen::VectorXi& vecVertNoLeftHemi,
163 const Eigen::VectorXi& vecVertNoRightHemi);
172 void setSurfaceColor(
const Eigen::MatrixX4f &matColorLeft,
173 const Eigen::MatrixX4f &matColorRight);
186 void setAnnotationInfo(
const Eigen::VectorXi &vecLabelIdsLeftHemi,
187 const Eigen::VectorXi &vecLabelIdsRightHemi,
188 const QList<FSLIB::Label> &lLabelsLeftHemi,
189 const QList<FSLIB::Label> &lLabelsRightHemi,
190 const Eigen::VectorXi &vecVertNoLeft,
191 const Eigen::VectorXi &vecVertNoRight);
199 void setThresholds(
const QVector3D &vecThresholds);
207 void setVisualizationType(
int iVisType);
215 void setColormapType(
const QString &sColormapType);
223 void setNumberAverages(
int iNumAvr);
231 void setSFreq(
double dSFreq);
239 void setStreamSmoothedData(
bool bStreamSmoothedData);
247 void addData(
const Eigen::MatrixXd& data);
258 void onNewRtRawData(
const Eigen::VectorXd &vecDataVectorLeftHemi,
259 const Eigen::VectorXd &vecDataVectorRightHemi);
268 void onNewSmoothedRtRawData(
const Eigen::MatrixX4f &matColorMatrixLeftHemi,
269 const Eigen::MatrixX4f &matColorMatrixRightHemi);
277 void onNewInterpolationMatrixLeftCalculated(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixLeftHemi);
285 void onNewInterpolationMatrixRightCalculated(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixRightHemi);
308 void interpolationInfoLeftChanged(
const Eigen::MatrixX3f &matVerticesLeft,
309 const QVector<QVector<int> > &vecNeighborVerticesLeft,
310 const QVector<int> &vecMappedSubsetLeft);
320 void interpolationInfoRightChanged(
const Eigen::MatrixX3f &matVerticesRight,
321 const QVector<QVector<int> > &vecNeighborVerticesRight,
322 const QVector<int> &vecMappedSubsetRight);
332 void annotationInfoLeftChanged(
const Eigen::VectorXi &vecLabelIdsLeftHemi,
333 const QList<FSLIB::Label> &lLabels,
334 const Eigen::VectorXi &vecVertNoLeft);
344 void annotationInfoRightChanged(
const Eigen::VectorXi &vecLabelIdsRightHemi,
345 const QList<FSLIB::Label> &lLabels,
346 const Eigen::VectorXi &vecVertNoRight);
355 void surfaceColorChanged(
const Eigen::MatrixX4f &matColorLeft,
356 const Eigen::MatrixX4f &matColorRight);
364 void streamSmoothedDataChanged(
bool bStreamSmoothedData);
372 void interpolationFunctionChanged(
const QString &sInterpolationFunction);
380 void cancelDistanceChanged(
double dCancelDist);
388 void thresholdsChanged(
const QVector3D &vecThresholds);
396 void visualizationTypeChanged(
int iVisType);
404 void sFreqChanged(
double dSFreq);
412 void numberAveragesChanged(
int iNumAvr);
420 void loopStateChanged(
bool bLoopState);
428 void colormapTypeChanged(
const QString &sColormapType);
436 void rawDataChanged(
const Eigen::MatrixXd& data);
444 void newInterpolationMatrixLeftAvailable(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixLeftHemi);
452 void newInterpolationMatrixRightAvailable(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixRightHemi);
462 void newRtRawDataAvailable(
const Eigen::VectorXd &vecDataVectorLeftHemi,
463 const Eigen::VectorXd &vecDataVectorRightHemi);
472 void newRtSmoothedDataAvailable(
const Eigen::MatrixX4f &matColorMatrixLeftHemi,
473 const Eigen::MatrixX4f &matColorMatrixRightHemi);
477 #endif //DISP3DLIB_RTSOURCEDATACONTROLLER_H