50#include <QSharedPointer>
85 typedef QSharedPointer<FsSurface>
SPtr;
100 explicit FsSurface(
const QString& p_sFile);
111 explicit FsSurface(
const QString &subject_id, qint32
hemi,
const QString &
surf,
const QString &subjects_dir);
143 inline qint32
hemi()
const;
159 inline QString
surf()
const;
176 static bool read(
const QString &subject_id, qint32
hemi,
const QString &
surf,
const QString &subjects_dir,
FsSurface &p_Surface,
bool p_bLoadCurvature =
true);
192 static bool read(
const QString &path, qint32
hemi,
const QString &
surf,
FsSurface &p_Surface,
bool p_bLoadCurvature =
true);
206 static bool read(
const QString &p_sFileName,
FsSurface &p_Surface,
bool p_bLoadCurvature =
true);
214 static Eigen::VectorXf
read_curv(
const QString &p_sFileName);
233 inline const Eigen::MatrixX3f&
rr()
const;
241 inline const Eigen::MatrixX3i&
tris()
const;
249 inline const Eigen::MatrixX3f&
nn()
const;
257 inline const Eigen::VectorXf&
curv()
const;
265 inline const Eigen::Vector3f&
offset()
const;
273 inline Eigen::Vector3f&
offset();
298 static qint32
fread3(QDataStream &stream);
307 static qint32
fread3(std::iostream &stream);
317 static Eigen::VectorXi
fread3_many(QDataStream &stream, qint32 count);
327 static Eigen::VectorXi
fread3_many(std::iostream &stream, qint32 count);
334 Eigen::MatrixX3f m_matRR;
335 Eigen::MatrixX3i m_matTris;
336 Eigen::MatrixX3f m_matNN;
337 Eigen::VectorXf m_vecCurv;
339 Eigen::Vector3f m_vecOffset;
355 return m_iHemi == -1;
Fs library export/import macros.
FreeSurfer surface and annotation I/O.
static Eigen::VectorXf read_curv(const QString &p_sFileName)
const Eigen::MatrixX3f & nn() const
static Eigen::VectorXi fread3_many(QDataStream &stream, qint32 count)
QSharedPointer< FsSurface > SPtr
static qint32 fread3(QDataStream &stream)
const Eigen::MatrixX3i & tris() const
const Eigen::Vector3f & offset() const
static bool read(const QString &subject_id, qint32 hemi, const QString &surf, const QString &subjects_dir, FsSurface &p_Surface, bool p_bLoadCurvature=true)
const Eigen::MatrixX3f & rr() const
const Eigen::VectorXf & curv() const
QSharedPointer< const FsSurface > ConstSPtr
static Eigen::MatrixX3f compute_normals(const Eigen::MatrixX3f &rr, const Eigen::MatrixX3i &tris)