v2.0.0
Loading...
Searching...
No Matches
fiff_types.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FIFF_TYPES_H
38#define FIFF_TYPES_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fiff_constants.h"
45#include "fiff_time.h"
46#include "fiff_data_ref.h"
47
48//=============================================================================================================
49// EIGEN INCLUDES
50//=============================================================================================================
51
52#include <Eigen/Core>
53
54//=============================================================================================================
55// QT INCLUDES
56//=============================================================================================================
57
58#include <QList>
59#include <QStringList>
60#include <QPair>
61#include <QVariant>
62
63//=============================================================================================================
64// DEFINE NAMESPACE FIFFLIB
65//=============================================================================================================
66
67namespace FIFFLIB
68{
69
70const static QStringList defaultQStringList = QStringList();
71static Eigen::MatrixXd defaultMatrixXd = Eigen::MatrixXd::Constant(1,1,-1);
72const static Eigen::MatrixXd defaultConstMatrixXd(0,0);
73const static Eigen::MatrixXi defaultMatrixXi(0,0);
74const static Eigen::VectorXi defaultVectorXi;
75const static Eigen::RowVectorXi defaultRowVectorXi;
76const static QPair<float,float> defaultFloatPair = qMakePair(-1.0f, -1.0f);
77
78typedef Eigen::Matrix<qint16, Eigen::Dynamic, Eigen::Dynamic> MatrixDau16;
79typedef Eigen::Matrix<short, Eigen::Dynamic, Eigen::Dynamic> MatrixShort;
80
81//=============================================================================================================
82// TYPEDEFS Primitive building blocks:
83//=============================================================================================================
84
85typedef unsigned char fiff_byte_t;
86typedef char fiff_char_t;
87typedef qint16 fiff_short_t;
88typedef quint16 fiff_ushort_t;
89typedef qint32 fiff_int_t;
90typedef quint32 fiff_uint_t;
91typedef qint64 fiff_long_t;
92typedef quint64 fiff_ulong_t;
93typedef float fiff_float_t;
94typedef double fiff_double_t;
95typedef quint16 fiff_dau_pack13_t;
96typedef quint16 fiff_dau_pack14_t;
97typedef qint16 fiff_dau_pack16_t;
98typedef qint32 fiff_julian_t;
99typedef char fiff_data_t; //unsig char instead of void -> avoid void in C++ cause of its undefined behaviour using delete -> this can happen during lots of casting
100
101//=============================================================================================================
102// TYPEDEFS Structured types:
103// Note: The old C structs have been replaced by proper C++ classes.
104// - fiffTimeRec -> FiffTime (fiff_time.h) - typedefs removed; use FiffTime directly
105// - fiffDataRefRec -> FiffDataRef (fiff_data_ref.h) - backward compat typedefs provided
106// - fiffTagRec -> FiffTag (fiff_tag.h) - use FiffTag::storageSize() for on-disk header size
107// - fiffIdRec -> FiffId (fiff_id.h) - backward compat typedefs below
108// - fiffDirEntryRec -> FiffDirEntry (fiff_dir_entry.h)
109// - fiffDigPointRec -> FiffDigPoint (fiff_dig_point.h)
110// - fiffCoordTransRec -> FiffCoordTrans (fiff_coord_trans.h)
111// - fiffChPosRec -> FiffChPos (fiff_ch_pos.h)
112// - fiffSparseMatrixRec -> FiffSparseMatrix (fiff_sparse_matrix.h)
113// - fiffDigStringRec, fiff_event_bits, fiff_hpi_coil, fiff_hpi_subsys -> removed (unused)
114//=============================================================================================================
115
116//=============================================================================================================
117// BACKWARD COMPATIBILITY TYPEDEFS for FiffId (fiff_id.h provides the class)
118// The old fiffIdRec struct has been replaced by FiffId.
119// These typedefs are kept so that legacy C-compat code compiles without changes.
120//=============================================================================================================
121
122// Forward declare FiffId - actual class is in fiff_id.h
123class FiffId;
124
130typedef FiffId* fiffId;
131
132//=============================================================================================================
133// BACKWARD COMPATIBILITY TYPEDEFS for FiffDirEntry (fiff_dir_entry.h provides the class)
134//=============================================================================================================
135
136// Forward declare FiffDirEntry - actual class is in fiff_dir_entry.h
137class FiffDirEntry;
138
145
146//=============================================================================================================
147// BACKWARD COMPATIBILITY TYPEDEFS for FiffDigPoint (fiff_dig_point.h provides the class)
148//=============================================================================================================
149
150// Forward declare FiffDigPoint - actual class is in fiff_dig_point.h
151class FiffDigPoint;
152
155
156#define FIFFM_CHPOS(x) &((x)->chpos)
157
158}//NAMESPACE
159
160#endif // FIFF_TYPES_H
FiffDataRef class declaration.
Fiff constants.
FiffTime class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
double fiff_double_t
Definition fiff_types.h:94
FiffDirEntry fiffDirEntryRec
Backward-compatible typedef for the old fiffDirEntryRec struct.
Definition fiff_types.h:140
char fiff_char_t
Definition fiff_types.h:86
quint16 fiff_dau_pack13_t
Definition fiff_types.h:95
char fiff_data_t
Definition fiff_types.h:99
qint32 fiff_int_t
Definition fiff_types.h:89
FiffId * fiffId
Backward-compatible pointer typedef for the old fiffId pointer.
Definition fiff_types.h:130
quint16 fiff_dau_pack14_t
Definition fiff_types.h:96
Eigen::Matrix< qint16, Eigen::Dynamic, Eigen::Dynamic > MatrixDau16
Definition fiff_types.h:78
FiffDirEntry * fiffDirEntry
Backward-compatible pointer typedef for the old fiffDirEntry pointer.
Definition fiff_types.h:144
float fiff_float_t
Definition fiff_types.h:93
qint64 fiff_long_t
Definition fiff_types.h:91
FiffId fiffIdRec
Backward-compatible typedef for the old fiffIdRec struct.
Definition fiff_types.h:126
qint16 fiff_dau_pack16_t
Definition fiff_types.h:97
quint64 fiff_ulong_t
Definition fiff_types.h:92
unsigned char fiff_byte_t
Definition fiff_types.h:85
quint16 fiff_ushort_t
Definition fiff_types.h:88
FiffDirEntry fiff_dir_entry_t
Backward-compatible typedef for the old fiff_dir_entry_t.
Definition fiff_types.h:142
FiffId fiff_id_t
Backward-compatible typedef for the old fiff_id_t.
Definition fiff_types.h:128
qint32 fiff_julian_t
Definition fiff_types.h:98
quint32 fiff_uint_t
Definition fiff_types.h:90
Eigen::Matrix< short, Eigen::Dynamic, Eigen::Dynamic > MatrixShort
Definition fiff_types.h:79
FiffDigPoint fiffDigPointRec
Backward-compatible typedef for the old fiffDigPointRec struct.
Definition fiff_types.h:154
qint16 fiff_short_t
Definition fiff_types.h:87
Digitization point description.
Directory entry description.
Universally unique identifier.
Definition fiff_id.h:67