30#ifndef UTILS_POLHEMUS_CONNECTION_H
31#define UTILS_POLHEMUS_CONNECTION_H
47#include <QSerialPortInfo>
99 bool open(
const QString& portName,
137 void pointReceived(
int station,
const QVector3D& position,
const QQuaternion& orientation);
153 void penButtonPressed(
int station,
const QVector3D& position,
const QQuaternion& orientation);
157 void onSerialReadyRead();
158 void onSerialError(QSerialPort::SerialPortError err);
159 void onStreamPauseTimeout();
169 bool m_isConnected =
false;
170 QString m_backendName;
174 int m_mockSampleIdx = 0;
177 QSerialPort* m_pSerial =
nullptr;
181 QTimer m_streamPauseTimer;
182 struct StationSample { QVector3D position; QQuaternion orientation; };
183 QMap<int, StationSample> m_lastSamples;
Public umbrella header for UTILSLIB exposing the UTILSSHARED_EXPORT macro and build-info accessors.
#define UTILSSHARED_EXPORT
Polhemus Fastrak / FastSCAN ASCII record parser.
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Streaming parser for Fastrak / FastSCAN ASCII records.
@ Inches
Fastrak factory default.
Settings used to open a real Polhemus serial connection.
FastrakParser::Units units
void connectedChanged(bool isConnected)
void penButtonPressed(int station, const QVector3D &position, const QQuaternion &orientation)
void pointReceived(int station, const QVector3D &position, const QQuaternion &orientation)
PolhemusConnection(QObject *parent=nullptr)
void errorOccurred(const QString &message)
bool open(const QString &portName, const PolhemusSerialConfig &cfg=PolhemusSerialConfig{})
static QString autoDetectPortName()
Best-effort auto-detection of an attached Fastrak/FastSCAN.
QString backendName() const
static QStringList availablePorts()
Enumerate every serial port currently visible to the OS.