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
246// ToDo:
247// //=========================================================================================================
248// /**
249// * Write the FiffDigPointSet to a FIF file
250// *
251// * @param[in] p_IODevice IO device to write the FiffDigPointSet to.
252// */
253// void write(QIODevice &p_IODevice);
254
255protected:
256
257private:
258 QList<FiffDigPoint> m_qListDigPoint;
259};
260
261//=============================================================================================================
262// INLINE DEFINITIONS
263//=============================================================================================================
264
266{
267 m_qListDigPoint.clear();
268}
269
270//=============================================================================================================
271
272inline bool FiffDigPointSet::isEmpty() const
273{
274 return m_qListDigPoint.size() == 0;
275}
276
277//=============================================================================================================
278
279inline qint32 FiffDigPointSet::size() const
280{
281 return m_qListDigPoint.size();
282}
283} // namespace FIFFLIB
284
285#ifndef metatype_fiffdigpointset
286#define metatype_fiffdigpointset
288#endif
289
290#ifndef metatype_fiffdigpointset_sptr
291#define metatype_fiffdigpointset_sptr
293#endif
294
295#endif // FIFFLIB_FIFF_DIG_POINT_SET_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
FiffStream class declaration.
Q_DECLARE_METATYPE(FIFFLIB::FiffDigPointSet)
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