v2.0.0
Loading...
Searching...
No Matches
fiff_dig_point_set.h
Go to the documentation of this file.
1//=============================================================================================================
35
36#ifndef FIFFLIB_FIFF_DIG_POINT_SET_H
37#define FIFFLIB_FIFF_DIG_POINT_SET_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "fiff_global.h"
44
45//=============================================================================================================
46// QT INCLUDES
47//=============================================================================================================
48
49#include <QSharedPointer>
50#include <QIODevice>
51#include <QList>
52
53#include "fiff_stream.h"
54#include "fiff_dig_point.h"
55#include <memory>
56
57//=============================================================================================================
58// EIGEN INCLUDES
59//=============================================================================================================
60
61//=============================================================================================================
62// FORWARD DECLARATIONS
63//=============================================================================================================
64
65//=============================================================================================================
66// DEFINE NAMESPACE FIFFLIB
67//=============================================================================================================
68
69namespace FIFFLIB {
70
71//=============================================================================================================
72// FIFFLIB FORWARD DECLARATIONS
73//=============================================================================================================
74
75class FiffDigPoint;
76class FiffDirNode;
77
78//=============================================================================================================
84
86{
87
88public:
89 using SPtr = QSharedPointer<FiffDigPointSet>;
90 using ConstSPtr = QSharedPointer<const FiffDigPointSet>;
91 using UPtr = std::unique_ptr<FiffDigPointSet>;
92 using ConstUPtr = std::unique_ptr<const FiffDigPointSet>;
93
94 //=========================================================================================================
99
100 //=========================================================================================================
106 FiffDigPointSet(const FiffDigPointSet &p_FiffDigPointSet);
107
108 //=========================================================================================================
114 FiffDigPointSet(QList<FIFFLIB::FiffDigPoint> pointList);
115
116 //=========================================================================================================
122 FiffDigPointSet(QIODevice &p_IODevice);
123
124 //=========================================================================================================
129
130 //=========================================================================================================
139 static bool readFromStream(FiffStream::SPtr& p_Stream, FiffDigPointSet& p_Dig);
140
141 //=========================================================================================================
145 inline void clear();
146
147 //=========================================================================================================
153 inline bool isEmpty() const;
154
155 //=========================================================================================================
161 inline qint32 size() const;
162
163 //=========================================================================================================
169 void write(QIODevice &p_IODevice);
170
171 //=========================================================================================================
177 void writeToStream(FiffStream* p_pStream);
178
179 //=========================================================================================================
187 const FiffDigPoint& operator[] (qint32 idx) const;
188
189 //=========================================================================================================
197 FiffDigPoint& operator[] (qint32 idx);
198
199 //=========================================================================================================
207 FiffDigPointSet pickTypes(QList<int> includeTypes) const;
208
209 //=========================================================================================================
217 FiffDigPointSet& operator<< (const FiffDigPoint& dig);
218
219 //=========================================================================================================
227 FiffDigPointSet& operator<< (const FiffDigPoint* dig);
228
229 //=========================================================================================================
236 void applyTransform(const FiffCoordTrans& coordTrans, bool bApplyInverse = false);
237
238 //=========================================================================================================
244 QList<FiffDigPoint> getList();
245
246protected:
247
248private:
249 QList<FiffDigPoint> m_qListDigPoint;
250};
251
252//=============================================================================================================
253// INLINE DEFINITIONS
254//=============================================================================================================
255
257{
258 m_qListDigPoint.clear();
259}
260
261//=============================================================================================================
262
263inline bool FiffDigPointSet::isEmpty() const
264{
265 return m_qListDigPoint.size() == 0;
266}
267
268//=============================================================================================================
269
270inline qint32 FiffDigPointSet::size() const
271{
272 return m_qListDigPoint.size();
273}
274} // namespace FIFFLIB
275
276#ifndef metatype_fiffdigpointset
277#define metatype_fiffdigpointset
279#endif
280
281#ifndef metatype_fiffdigpointset_sptr
282#define metatype_fiffdigpointset_sptr
284#endif
285
286#endif // FIFFLIB_FIFF_DIG_POINT_SET_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
Q_DECLARE_METATYPE(FIFFLIB::FiffDigPointSet)
FiffStream class declaration.
FiffDigPoint class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Coordinate transformation description.
Digitization point description.
Holds a set of digitizer points.
std::unique_ptr< FiffDigPointSet > UPtr
FiffDigPointSet pickTypes(QList< int > includeTypes) const
std::unique_ptr< const FiffDigPointSet > ConstUPtr
void applyTransform(const FiffCoordTrans &coordTrans, bool bApplyInverse=false)
QSharedPointer< FiffDigPointSet > SPtr
void write(QIODevice &p_IODevice)
void writeToStream(FiffStream *p_pStream)
static bool readFromStream(FiffStream::SPtr &p_Stream, FiffDigPointSet &p_Dig)
QSharedPointer< const FiffDigPointSet > ConstSPtr
QList< FiffDigPoint > getList()
Directory node structure.
FIFF File I/O routines.
QSharedPointer< FiffStream > SPtr