File InspectionResult.hpp¶
File List > inspection > InspectionResult.hpp
Go to the documentation of this file
//
// SPDX-FileCopyrightText: 2026 Michal Grabarczyk
// SPDX-License-Identifier: GPL-3.0-only WITH Universal-FOSS-exception-1.0
//
// This file is also available under a separate commercial license.
// See COMMERCIAL-LICENSING.md for contact information.
//
#pragma once
#include <QList>
#include <QObject>
#include <QVariantMap>
#if __has_include(<QtQmlIntegration/qqmlintegration.h>)
#include <QtQmlIntegration/qqmlintegration.h>
#else
#include <QtQml/qqmlregistration.h>
#endif
#include <limits>
namespace QAccelPlot {
namespace InspectionNS {
Q_NAMESPACE
QML_NAMED_ELEMENT(Inspection)
enum class Status {
Ready,
NoMatch,
Idle,
Preparing,
Unsupported,
Unavailable,
InvalidArgument,
Stale,
};
Q_ENUM_NS(Status)
} // namespace InspectionNS
using InspectionStatus = InspectionNS::Status;
struct InspectionDataPoint {
Q_GADGET
QML_ANONYMOUS
Q_PROPERTY(InspectionNS::Status status MEMBER status CONSTANT)
Q_PROPERTY(bool valid READ valid CONSTANT)
Q_PROPERTY(quint64 dataRevision MEMBER dataRevision CONSTANT)
Q_PROPERTY(int index MEMBER index CONSTANT)
Q_PROPERTY(qreal x MEMBER x CONSTANT)
Q_PROPERTY(qreal y MEMBER y CONSTANT)
Q_PROPERTY(qreal value MEMBER value CONSTANT)
Q_PROPERTY(qreal pixelX MEMBER pixelX CONSTANT)
Q_PROPERTY(qreal pixelY MEMBER pixelY CONSTANT)
Q_PROPERTY(qreal distance MEMBER distance CONSTANT)
Q_PROPERTY(bool interpolated MEMBER interpolated CONSTANT)
public:
InspectionStatus status{InspectionStatus::NoMatch};
quint64 dataRevision{0};
int index{-1};
qreal x{std::numeric_limits<qreal>::quiet_NaN()};
qreal y{std::numeric_limits<qreal>::quiet_NaN()};
qreal value{std::numeric_limits<qreal>::quiet_NaN()};
qreal pixelX{std::numeric_limits<qreal>::quiet_NaN()};
qreal pixelY{std::numeric_limits<qreal>::quiet_NaN()};
qreal distance{std::numeric_limits<qreal>::quiet_NaN()};
bool interpolated{false};
bool valid() const;
};
struct InspectionSummary {
Q_GADGET
QML_ANONYMOUS
Q_PROPERTY(InspectionNS::Status status MEMBER status CONSTANT)
Q_PROPERTY(bool valid READ valid CONSTANT)
Q_PROPERTY(quint64 dataRevision MEMBER dataRevision CONSTANT)
Q_PROPERTY(int count MEMBER count CONSTANT)
Q_PROPERTY(qreal minimum MEMBER minimum CONSTANT)
Q_PROPERTY(qreal maximum MEMBER maximum CONSTANT)
Q_PROPERTY(int minimumIndex MEMBER minimumIndex CONSTANT)
Q_PROPERTY(int maximumIndex MEMBER maximumIndex CONSTANT)
Q_PROPERTY(qreal mean MEMBER mean CONSTANT)
Q_PROPERTY(qreal standardDeviation MEMBER standardDeviation CONSTANT)
public:
InspectionStatus status{InspectionStatus::NoMatch};
quint64 dataRevision{0};
int count{0};
qreal minimum{std::numeric_limits<qreal>::quiet_NaN()};
qreal maximum{std::numeric_limits<qreal>::quiet_NaN()};
int minimumIndex{-1};
int maximumIndex{-1};
qreal mean{std::numeric_limits<qreal>::quiet_NaN()};
qreal standardDeviation{std::numeric_limits<qreal>::quiet_NaN()};
bool valid() const;
};
struct InspectionBracket {
Q_GADGET
QML_ANONYMOUS
Q_PROPERTY(InspectionNS::Status status MEMBER status CONSTANT)
Q_PROPERTY(bool valid READ valid CONSTANT)
Q_PROPERTY(quint64 dataRevision MEMBER dataRevision CONSTANT)
Q_PROPERTY(InspectionDataPoint left MEMBER left CONSTANT)
Q_PROPERTY(InspectionDataPoint right MEMBER right CONSTANT)
Q_PROPERTY(bool adjacent MEMBER adjacent CONSTANT)
Q_PROPERTY(InspectionDataPoint interpolated MEMBER interpolated CONSTANT)
public:
InspectionStatus status{InspectionStatus::NoMatch};
quint64 dataRevision{0};
InspectionDataPoint left;
InspectionDataPoint right;
bool adjacent{false};
InspectionDataPoint interpolated;
bool valid() const;
};
struct InspectionPage {
Q_GADGET
QML_ANONYMOUS
Q_PROPERTY(InspectionNS::Status status MEMBER status CONSTANT)
Q_PROPERTY(bool valid READ valid CONSTANT)
Q_PROPERTY(quint64 dataRevision MEMBER dataRevision CONSTANT)
Q_PROPERTY(int total MEMBER total CONSTANT)
Q_PROPERTY(int offset MEMBER offset CONSTANT)
Q_PROPERTY(int limit MEMBER limit CONSTANT)
Q_PROPERTY(bool hasMore MEMBER hasMore CONSTANT)
Q_PROPERTY(bool sourceOrder MEMBER sourceOrder CONSTANT)
Q_PROPERTY(QList<int> indices MEMBER indices CONSTANT)
public:
InspectionStatus status{InspectionStatus::NoMatch};
quint64 dataRevision{0};
int total{0};
int offset{0};
int limit{0};
bool hasMore{false};
bool sourceOrder{false};
QList<int> indices;
bool valid() const;
};
struct InspectionRecord {
Q_GADGET
QML_ANONYMOUS
Q_PROPERTY(InspectionNS::Status status MEMBER status CONSTANT)
Q_PROPERTY(bool valid READ valid CONSTANT)
Q_PROPERTY(quint64 dataRevision MEMBER dataRevision CONSTANT)
Q_PROPERTY(int index MEMBER index CONSTANT)
Q_PROPERTY(bool interpolated MEMBER interpolated CONSTANT)
Q_PROPERTY(QVariantMap fields MEMBER fields CONSTANT)
public:
InspectionStatus status{InspectionStatus::NoMatch};
quint64 dataRevision{0};
int index{-1};
bool interpolated{false};
QVariantMap fields;
bool valid() const;
};
} // namespace QAccelPlot