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//=============================================================================================================
65{
66public:
67 using SPtr = QSharedPointer<FiffChPos>;
68 using ConstSPtr = QSharedPointer<const FiffChPos>;
69 using UPtr = std::unique_ptr<FiffChPos>;
70 using ConstUPtr = std::unique_ptr<const FiffChPos>;
71
72 //=========================================================================================================
76 FiffChPos();
77
78 //=========================================================================================================
84 FiffChPos(const FiffChPos& p_FiffChPos);
85
86 //=========================================================================================================
97 FiffChPos& operator=(const FiffChPos& other) = default;
98
99 //=========================================================================================================
103 ~FiffChPos();
104
105 //=========================================================================================================
111 inline static qint32 storageSize();
112
113 //=========================================================================================================
122 friend bool operator==(const FiffChPos& a, const FiffChPos& b);
123
124public:
126 Eigen::Vector3f r0;
127 Eigen::Vector3f ex;
128 Eigen::Vector3f ey;
129 Eigen::Vector3f ez;
130};
131
132//=============================================================================================================
133// INLINE DEFINITIONS
134//=============================================================================================================
135
137{
138 return sizeof(FiffChPos::coil_type) + sizeof(FiffChPos::r0) + sizeof(FiffChPos::ex) + sizeof(FiffChPos::ey) + sizeof(FiffChPos::ez);
139}
140
141//=============================================================================================================
142
143inline bool operator==(const FiffChPos& a, const FiffChPos& b)
144{
145 return (a.coil_type == b.coil_type &&
146 a.r0.isApprox(b.r0, 0.0001f) &&
147 a.ex.isApprox(b.ex, 0.0001f) &&
148 a.ey.isApprox(b.ey, 0.0001f) &&
149 a.ez.isApprox(b.ez, 0.0001f));
150}
151} // NAMESPACE
152
153#endif // FIFF_CH_POS_H
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.
qint32 fiff_int_t
Definition fiff_types.h:86
bool operator==(const FiffChInfo &a, const FiffChInfo &b)
FiffChPos & operator=(const FiffChPos &other)=default
friend bool operator==(const FiffChPos &a, const FiffChPos &b)
QSharedPointer< FiffChPos > SPtr
Definition fiff_ch_pos.h:67
Eigen::Vector3f r0
fiff_int_t coil_type
QSharedPointer< const FiffChPos > ConstSPtr
Definition fiff_ch_pos.h:68
std::unique_ptr< const FiffChPos > ConstUPtr
Definition fiff_ch_pos.h:70
std::unique_ptr< FiffChPos > UPtr
Definition fiff_ch_pos.h:69
static qint32 storageSize()
Eigen::Vector3f ey
Eigen::Vector3f ex
Eigen::Vector3f ez