50 #include <QSharedPointer>
78 typedef QSharedPointer<Surface>
SPtr;
93 explicit Surface(
const QString& p_sFile);
104 explicit Surface(
const QString &subject_id, qint32 hemi,
const QString &surf,
const QString &subjects_dir);
116 explicit Surface(
const QString &path, qint32 hemi,
const QString &surf);
136 inline qint32 hemi()
const;
144 inline bool isEmpty()
const;
152 inline QString surf()
const;
169 static bool read(
const QString &subject_id, qint32 hemi,
const QString &surf,
const QString &subjects_dir,
Surface &p_Surface,
bool p_bLoadCurvature =
true);
185 static bool read(
const QString &path, qint32 hemi,
const QString &surf,
Surface &p_Surface,
bool p_bLoadCurvature =
true);
199 static bool read(
const QString &p_sFileName,
Surface &p_Surface,
bool p_bLoadCurvature =
true);
207 static Eigen::VectorXf read_curv(
const QString &p_sFileName);
218 static Eigen::MatrixX3f compute_normals(
const Eigen::MatrixX3f& rr,
const Eigen::MatrixX3i& tris);
226 inline const Eigen::MatrixX3f& rr()
const;
234 inline const Eigen::MatrixX3i& tris()
const;
242 inline const Eigen::MatrixX3f& nn()
const;
250 inline const Eigen::VectorXf& curv()
const;
258 inline const Eigen::Vector3f& offset()
const;
266 inline Eigen::Vector3f& offset();
274 inline QString filePath()
const;
282 inline QString fileName()
const;
289 Eigen::MatrixX3f m_matRR;
290 Eigen::MatrixX3i m_matTris;
291 Eigen::MatrixX3f m_matNN;
292 Eigen::VectorXf m_vecCurv;
294 Eigen::Vector3f m_vecOffset;
310 return m_iHemi == -1;