MNE-CPP  0.1.9
A Framework for Electrophysiology
fiff_dig_point_set.h
Go to the documentation of this file.
1 //=============================================================================================================
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 
55 //=============================================================================================================
56 // EIGEN INCLUDES
57 //=============================================================================================================
58 
59 //=============================================================================================================
60 // FORWARD DECLARATIONS
61 //=============================================================================================================
62 
63 //=============================================================================================================
64 // DEFINE NAMESPACE FIFFLIB
65 //=============================================================================================================
66 
67 namespace FIFFLIB {
68 
69 //=============================================================================================================
70 // FIFFLIB FORWARD DECLARATIONS
71 //=============================================================================================================
72 
73 class FiffDigPoint;
74 class FiffDirNode;
75 
76 //=============================================================================================================
84 {
85 
86 public:
87  typedef QSharedPointer<FiffDigPointSet> SPtr;
88  typedef QSharedPointer<const FiffDigPointSet> ConstSPtr;
90  //=========================================================================================================
95 
96  //=========================================================================================================
102  FiffDigPointSet(const FiffDigPointSet &p_FiffDigPointSet);
103 
104  //=========================================================================================================
110  FiffDigPointSet(QList<FIFFLIB::FiffDigPoint> pointList);
111 
112  //=========================================================================================================
116  FiffDigPointSet(QIODevice &p_IODevice);
117 
118  //=========================================================================================================
122  ~FiffDigPointSet();
123 
124  //=========================================================================================================
133  static bool readFromStream(FiffStream::SPtr& p_Stream, FiffDigPointSet& p_Dig);
134 
135  //=========================================================================================================
139  inline void clear();
140 
141  //=========================================================================================================
147  inline bool isEmpty() const;
148 
149  //=========================================================================================================
155  inline qint32 size() const;
156 
157  //=========================================================================================================
162  void write(QIODevice &p_IODevice);
163 
164  //=========================================================================================================
169  void writeToStream(FiffStream* p_pStream);
170 
171  //=========================================================================================================
179  const FiffDigPoint& operator[] (qint32 idx) const;
180 
181  //=========================================================================================================
189  FiffDigPoint& operator[] (qint32 idx);
190 
191  //=========================================================================================================
199  FiffDigPointSet pickTypes(QList<int> includeTypes) const;
200 
201  //=========================================================================================================
209  FiffDigPointSet& operator<< (const FiffDigPoint& dig);
210 
211  //=========================================================================================================
219  FiffDigPointSet& operator<< (const FiffDigPoint* dig);
220 
221  //=========================================================================================================
228  void applyTransform(const FiffCoordTrans& coordTrans, bool bApplyInverse = false);
229 
230  //=========================================================================================================
236  QList<FiffDigPoint> getList();
237 
238 // ToDo:
239 // //=========================================================================================================
240 // /**
241 // * Write the FiffDigPointSet to a FIF file
242 // *
243 // * @param[in] p_IODevice IO device to write the FiffDigPointSet to.
244 // */
245 // void write(QIODevice &p_IODevice);
246 
247 protected:
248 
249 private:
250  QList<FiffDigPoint> m_qListDigPoint;
251 };
252 
253 //=============================================================================================================
254 // INLINE DEFINITIONS
255 //=============================================================================================================
256 
258 {
259  m_qListDigPoint.clear();
260 }
261 
262 //=============================================================================================================
263 
264 inline bool FiffDigPointSet::isEmpty() const
265 {
266  return m_qListDigPoint.size() == 0;
267 }
268 
269 //=============================================================================================================
270 
271 inline qint32 FiffDigPointSet::size() const
272 {
273  return m_qListDigPoint.size();
274 }
275 } // namespace FIFFLIB
276 
277 #ifndef metatype_fiffdigpointset
278 #define metatype_fiffdigpointset
280 #endif
281 
282 #ifndef metatype_fiffdigpointset
283 #define metatype_fiffdigpointset
285 #endif
286 
287 #endif // FIFFLIB_FIFF_DIG_POINT_SET_H
FIFFLIB::FiffStream::SPtr
QSharedPointer< FiffStream > SPtr
Definition: fiff_stream.h:107
fiff_stream.h
FiffStream class declaration.
FIFFLIB::FiffDigPoint
Digitization point description.
Definition: fiff_dig_point.h:68
FIFFLIB::FiffDigPointSet::SPtr
QSharedPointer< FiffDigPointSet > SPtr
Definition: fiff_dig_point_set.h:87
FIFFSHARED_EXPORT
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:56
fiff_global.h
Fiff library export/import macros.
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(FIFFLIB::FiffDigPointSet)
FIFFLIB::FiffDigPointSet::isEmpty
bool isEmpty() const
Definition: fiff_dig_point_set.h:264
FIFFLIB::FiffStream
FIFF File I/O routines.
Definition: fiff_stream.h:104
FIFFLIB::FiffCoordTrans
Coordinate transformation description.
Definition: fiff_coord_trans.h:74
FIFFLIB::FiffDigPointSet::size
qint32 size() const
Definition: fiff_dig_point_set.h:271
FIFFLIB::FiffDigPointSet::clear
void clear()
Definition: fiff_dig_point_set.h:257
FIFFLIB::FiffDigPointSet::ConstSPtr
QSharedPointer< const FiffDigPointSet > ConstSPtr
Definition: fiff_dig_point_set.h:88
FIFFLIB::FiffDigPointSet
Holds a set of digitizer points.
Definition: fiff_dig_point_set.h:83