35 #ifndef DISP3DLIB_GEOMETRYINFO_H
36 #define DISP3DLIB_GEOMETRYINFO_H
42 #include "../../disp3D_global.h"
55 #include <QSharedPointer>
78 #define FLOAT_INFINITY std::numeric_limits<float>::infinity()
99 typedef QSharedPointer<GeometryInfo>
SPtr;
119 static QSharedPointer<Eigen::MatrixXd> scdc(
const Eigen::MatrixX3f &matVertices,
120 const QVector<QVector<int> > &vecNeighborVertices,
121 QVector<int> &pVecVertSubset,
122 double dCancelDist = FLOAT_INFINITY);
134 static QVector<int> projectSensors(
const Eigen::MatrixX3f &matVertices,
135 const QVector<Eigen::Vector3f> &vecSensorPositions);
147 static QVector<int> filterBadChannels(QSharedPointer<Eigen::MatrixXd> matDistanceTable,
160 static inline double squared(
double dBase);
172 static QVector<int> nearestNeighbor(
const Eigen::MatrixX3f &matVertices,
173 QVector<Eigen::Vector3f>::const_iterator itSensorBegin,
174 QVector<Eigen::Vector3f>::const_iterator itSensorEnd);
188 static void iterativeDijkstra(QSharedPointer<Eigen::MatrixXd> matOutputDistMatrix,
189 const Eigen::MatrixX3f &matVertices,
190 const QVector<QVector<int> > &vecNeighborVertices,
191 const QVector<int> &vecVertSubset,
194 double dCancelDistance);
203 return dBase * dBase;
207 #endif // DISP3DLIB_GEOMETRYINFO_H