v2.0.0
Loading...
Searching...
No Matches
fiff_ch_pos.h
Go to the documentation of this file.
1//=============================================================================================================
28
29#ifndef FIFF_CH_POS_H
30#define FIFF_CH_POS_H
31
32//=============================================================================================================
33// INCLUDES
34//=============================================================================================================
35
36#include "fiff_global.h"
37#include "fiff_types.h"
38
39//=============================================================================================================
40// QT INCLUDES
41//=============================================================================================================
42
43#include <QSharedPointer>
44#include <memory>
45
46//=============================================================================================================
47// DEFINE NAMESPACE FIFFLIB
48//=============================================================================================================
49
50namespace FIFFLIB
51{
52
53//=============================================================================================================
63{
64public:
65 using SPtr = QSharedPointer<FiffChPos>;
66 using ConstSPtr = QSharedPointer<const FiffChPos>;
67 using UPtr = std::unique_ptr<FiffChPos>;
68 using ConstUPtr = std::unique_ptr<const FiffChPos>;
69
70 //=========================================================================================================
74 FiffChPos();
75
76 //=========================================================================================================
82 FiffChPos(const FiffChPos &p_FiffChPos);
83
84 //=========================================================================================================
88 ~FiffChPos();
89
90 //=========================================================================================================
96 inline static qint32 storageSize();
97
98 //=========================================================================================================
106 friend bool operator== (const FiffChPos &a, const FiffChPos &b);
107
108public:
109 fiff_int_t coil_type;
110 Eigen::Vector3f r0;
111 Eigen::Vector3f ex;
112 Eigen::Vector3f ey;
113 Eigen::Vector3f ez;
114
115};
116
117//=============================================================================================================
118// INLINE DEFINITIONS
119//=============================================================================================================
120
122{
123 return sizeof(FiffChPos::coil_type)
124 + sizeof(FiffChPos::r0) + sizeof(FiffChPos::ex)
125 + sizeof(FiffChPos::ey) + sizeof(FiffChPos::ez);
126}
127
128//=============================================================================================================
129
130inline bool operator== (const FiffChPos &a, const FiffChPos &b)
131{
132 return (a.coil_type == b.coil_type &&
133 a.r0.isApprox(b.r0, 0.0001f) &&
134 a.ex.isApprox(b.ex, 0.0001f) &&
135 a.ey.isApprox(b.ey, 0.0001f) &&
136 a.ez.isApprox(b.ez, 0.0001f));
137}
138} // NAMESPACE
139
140#endif // FIFF_CH_POS_H
bool operator==(const BIDSPath &a, const BIDSPath &b)
Export/import macros and build-info accessors for the FIFFLIB shared library.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:44
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
FIFF file I/O, in-memory data structures and high-level readers/writers.
bool operator==(const FiffChInfo &a, const FiffChInfo &b)
QSharedPointer< FiffChPos > SPtr
Definition fiff_ch_pos.h:65
Eigen::Vector3f r0
fiff_int_t coil_type
QSharedPointer< const FiffChPos > ConstSPtr
Definition fiff_ch_pos.h:66
std::unique_ptr< const FiffChPos > ConstUPtr
Definition fiff_ch_pos.h:68
std::unique_ptr< FiffChPos > UPtr
Definition fiff_ch_pos.h:67
static qint32 storageSize()
Eigen::Vector3f ey
Eigen::Vector3f ex
Eigen::Vector3f ez