v2.0.0
Loading...
Searching...
No Matches
fiff_ch_pos.h
Go to the documentation of this file.
1//=============================================================================================================
36
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#include <memory>
53
54//=============================================================================================================
55// DEFINE NAMESPACE FIFFLIB
56//=============================================================================================================
57
58namespace FIFFLIB
59{
60
61//=============================================================================================================
68{
69public:
70 using SPtr = QSharedPointer<FiffChPos>;
71 using ConstSPtr = QSharedPointer<const FiffChPos>;
72 using UPtr = std::unique_ptr<FiffChPos>;
73 using ConstUPtr = std::unique_ptr<const FiffChPos>;
74
75 //=========================================================================================================
79 FiffChPos();
80
81 //=========================================================================================================
87 FiffChPos(const FiffChPos &p_FiffChPos);
88
89 //=========================================================================================================
93 ~FiffChPos();
94
95 //=========================================================================================================
101 inline static qint32 storageSize();
102
103 //=========================================================================================================
111 friend bool operator== (const FiffChPos &a, const FiffChPos &b);
112
113public:
115 Eigen::Vector3f r0;
116 Eigen::Vector3f ex;
117 Eigen::Vector3f ey;
118 Eigen::Vector3f ez;
119
120};
121
122//=============================================================================================================
123// INLINE DEFINITIONS
124//=============================================================================================================
125
127{
128 return sizeof(FiffChPos::coil_type)
129 + sizeof(FiffChPos::r0) + sizeof(FiffChPos::ex)
130 + sizeof(FiffChPos::ey) + sizeof(FiffChPos::ez);
131}
132
133//=============================================================================================================
134
135inline bool operator== (const FiffChPos &a, const FiffChPos &b)
136{
137 return (a.coil_type == b.coil_type &&
138 a.r0.isApprox(b.r0, 0.0001f) &&
139 a.ex.isApprox(b.ex, 0.0001f) &&
140 a.ey.isApprox(b.ey, 0.0001f) &&
141 a.ez.isApprox(b.ez, 0.0001f));
142}
143} // NAMESPACE
144
145#endif // FIFF_CH_POS_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
Old fiff_type declarations - replace them.
bool operator==(const BIDSPath &a, const BIDSPath &b)
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
qint32 fiff_int_t
Definition fiff_types.h:89
bool operator==(const FiffChInfo &a, const FiffChInfo &b)
QSharedPointer< FiffChPos > SPtr
Definition fiff_ch_pos.h:70
Eigen::Vector3f r0
fiff_int_t coil_type
QSharedPointer< const FiffChPos > ConstSPtr
Definition fiff_ch_pos.h:71
std::unique_ptr< const FiffChPos > ConstUPtr
Definition fiff_ch_pos.h:73
std::unique_ptr< FiffChPos > UPtr
Definition fiff_ch_pos.h:72
static qint32 storageSize()
Eigen::Vector3f ey
Eigen::Vector3f ex
Eigen::Vector3f ez