MNE-CPP  0.1.9
A Framework for Electrophysiology
fiff_ch_pos.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef FIFF_CH_POS_H
38 #define FIFF_CH_POS_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "fiff_global.h"
45 #include "fiff_types.h"
46 
47 //=============================================================================================================
48 // QT INCLUDES
49 //=============================================================================================================
50 
51 #include <QSharedPointer>
52 
53 //=============================================================================================================
54 // DEFINE NAMESPACE FIFFLIB
55 //=============================================================================================================
56 
57 namespace FIFFLIB
58 {
59 
60 //=============================================================================================================
67 {
68 public:
69  typedef QSharedPointer<FiffChPos> SPtr;
70  typedef QSharedPointer<const FiffChPos> ConstSPtr;
72  //=========================================================================================================
76  FiffChPos();
77 
78  //=========================================================================================================
84  FiffChPos(const FiffChPos &p_FiffChPos);
85 
86  //=========================================================================================================
90  ~FiffChPos();
91 
92  //=========================================================================================================
98  inline static qint32 storageSize();
99 
100  //=========================================================================================================
108  friend bool operator== (const FiffChPos &a, const FiffChPos &b);
109 
110 public:
111  fiff_int_t coil_type;
112  Eigen::Vector3f r0;
113  Eigen::Vector3f ex;
114  Eigen::Vector3f ey;
115  Eigen::Vector3f ez;
117 // ### OLD STRUCT ###
118 // /** Measurement channel position and coil type. *
119 // typedef struct _fiffChPosRec {
120 // fiff_int_t coil_type; /**< What kind of coil. *
121 // fiff_float_t r0[3]; /**< Coil coordinate system origin *
122 // fiff_float_t ex[3]; /**< Coil coordinate system x-axis unit vector *
123 // fiff_float_t ey[3]; /**< Coil coordinate system y-axis unit vector *
124 // fiff_float_t ez[3]; /**< Coil coordinate system z-axis unit vector *
125 // } fiffChPosRec,*fiffChPos; /**< Measurement channel position and coil type *
126 
127 // typedef fiffChPosRec fiff_ch_pos_t;
128 };
129 
130 //=============================================================================================================
131 // INLINE DEFINITIONS
132 //=============================================================================================================
133 
134 inline qint32 FiffChPos::storageSize()
135 {
136  return 52;
137 }
138 
139 //=============================================================================================================
140 
141 inline bool operator== (const FiffChPos &a, const FiffChPos &b)
142 {
143  return (a.coil_type == b.coil_type &&
144  a.r0.isApprox(b.r0, 0.0001f) &&
145  a.ex.isApprox(b.ex, 0.0001f) &&
146  a.ey.isApprox(b.ey, 0.0001f) &&
147  a.ez.isApprox(b.ez, 0.0001f));
148 }
149 } // NAMESPACE
150 
151 #endif // FIFF_CH_POS_H
FIFFLIB::FiffChPos::ex
Eigen::Vector3f ex
Definition: fiff_ch_pos.h:113
FIFFLIB::FiffChPos::r0
Eigen::Vector3f r0
Definition: fiff_ch_pos.h:112
FIFFLIB::FiffChPos::ConstSPtr
QSharedPointer< const FiffChPos > ConstSPtr
Definition: fiff_ch_pos.h:70
FIFFLIB::FiffChPos::storageSize
static qint32 storageSize()
Definition: fiff_ch_pos.h:134
FIFFLIB::FiffChPos
Measurement channel position and coil type.
Definition: fiff_ch_pos.h:66
FIFFLIB::FiffChPos::coil_type
fiff_int_t coil_type
Definition: fiff_ch_pos.h:111
FIFFSHARED_EXPORT
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:56
FIFFLIB::FiffChPos::ey
Eigen::Vector3f ey
Definition: fiff_ch_pos.h:114
fiff_global.h
Fiff library export/import macros.
FIFFLIB::FiffChPos::SPtr
QSharedPointer< FiffChPos > SPtr
Definition: fiff_ch_pos.h:69
fiff_types.h
Definitions for describing the objects in a FIFF file.
FIFFLIB::FiffChPos::ez
Eigen::Vector3f ez
Definition: fiff_ch_pos.h:115