14#include "../Headers/sensormodule.hpp"
15#include "../Headers/xmlparser.hpp"
16#include "../Headers/hasher.hpp"
18#include <Qt3DCore/QEntity>
19#include <Qt3DCore/QTransform>
20#include <Qt3DExtras/Qt3DWindow>
21#include <Qt3DExtras/QForwardRenderer>
22#include <Qt3DExtras/QOrbitCameraController>
23#include <Qt3DExtras/QSphereMesh>
24#include <Qt3DExtras/QTorusMesh>
25#include <Qt3DExtras/QPhongMaterial>
26#include <Qt3DExtras/QPhongAlphaMaterial>
27#include <Qt3DRender/QCamera>
28#include <Qt3DRender/QPointLight>
29#include <Qt3DRender/QSceneLoader>
30#include <Qt3DRender/QMaterial>
31#include <Qt3DRender/QMesh>
34#include <QPropertyAnimation>
36#include <QListWidgetItem>
This class manages Bluetooth connection capabilities.
Definition: bluetooth.hpp:53
Class Hasher is introduced for Client hash ID management.
Definition: hasher.hpp:30
Represents the main class for user interface components.
Definition: mainwindow.hpp:96
void MainWindow_Reset3DScene()
Restores initial position setting of 3D scene.
Definition: mainwindow.cpp:587
void MainWindow_HistoryResizeTable()
Manages history table visual updating.
Definition: mainwindow.cpp:264
BodyPart mBodyPart
BodyPart serves for recognition of human body part.
Definition: mainwindow.hpp:895
QList< Qt3DCore::QTransform * > mMovementOrbsTransform
QList<Qt3DCore::QTransform> member variable used for auxiliary small orbs transformations.
Definition: mainwindow.hpp:757
bool mMeasurementRunning
bool member that holds information whether a measurement is in progress.
Definition: mainwindow.hpp:881
QSharedPointer< Client > mClient
QSharedPointer<Client> holds a pointer member attribute of a single Client.
Definition: mainwindow.hpp:825
Qt3DCore::QTransform * mUpperLeftArmTransform
Qt3DCore::QTransform member variable kept for upper left arm transformations.
Definition: mainwindow.hpp:673
void MainWindow_EnableHomePage()
Slot displays Home Page of Limb Range Analyzer.
Definition: mainwindow.cpp:1843
void MainWindow_MeasurementRotateRight()
Slot manages 3D scene counter-clockwise rotation.
Definition: mainwindow.cpp:1339
void MainWindow_Set3DScene(bool blueCoinOnly, bool clearResults)
Manages body and BlueCoin device repositioning within 3D scene.
Definition: mainwindow.cpp:489
SensorModule * mSensorModule
SensorModule is a member that serves as a filtration tool while processing BlueCoin measured values.
Definition: mainwindow.hpp:779
QList< QPair< ProcessingSelection, ExerciseType > > mExerciseTypeList
QList<QPair<ProcessingSelection, ExerciseType>> member variable represents a list of exercise types u...
Definition: mainwindow.hpp:839
void MainWindow_DevicesSelectionChanged()
Slot responding to Bluetooth devices selection change.
Definition: mainwindow.cpp:1096
void MainWindow_SwitchTranslation(Language language)
Slot manages retranslation of UI according to selected language.
Definition: mainwindow.cpp:1827
qint32 mMovementCounter
qint32 numerical member that holds current step of measurement used while positioning movement orbs.
Definition: mainwindow.hpp:874
QString MainWindow_ClientCheck(QStringList newEntry)
Provides user defined client entry check.
Definition: mainwindow.cpp:1528
void MainWindow_DeviceIncompatibleReport()
Slot defined for device incompatibility reporting.
Definition: mainwindow.cpp:1277
void MainWindow_ClientSelect()
Slot has a purpose of client selection.
Definition: mainwindow.cpp:1671
void MainWindow_MeasurementDisplayHistory()
Slot enables measurement history page for selected exercise and client.
Definition: mainwindow.cpp:1412
void MainWindow_HistoryRecalculateBars()
Slot manages range visualization on history page.
Definition: mainwindow.cpp:1702
Qt3DCore::QTransform * mLeftCalfTransform
Qt3DCore::QTransform member variable kept for lower left leg transformations.
Definition: mainwindow.hpp:715
void MainWindow_DevicesConnect()
This slot is used for Bluetooth connection triggering.
Definition: mainwindow.cpp:1112
QList< QSharedPointer< Session > > mSessionList
QList<QSharedPointer<Session>> represents a list of pointers to Session data used across application.
Definition: mainwindow.hpp:812
void MainWindow_Create3DScene()
Initialization function for 3D vizualization content.
Definition: mainwindow.cpp:277
void MainWindow_DevicesUpdateStatus()
Slot used for Bluetooth discovery progress visualization.
Definition: mainwindow.cpp:1053
void MainWindow_ClientResizeTable()
Serves as a client table item ratio updater.
Definition: mainwindow.cpp:251
QSharedPointer< Settings > mSettings
QSharedPointer<Settings> is a member object used across application for keeping application settings ...
Definition: mainwindow.hpp:800
void MainWindow_ReportResults()
Manages measurement results reporting.
Definition: mainwindow.cpp:609
Qt3DCore::QTransform * mSecondaryBlueCoinTransform
Qt3DCore::QTransform member variable maintained for secondary BlueCoin device transformations.
Definition: mainwindow.hpp:736
void MainWindow_InitializeUIProperties()
Initially called function for UI content settings.
Definition: mainwindow.cpp:153
void MainWindow_DevicesStartScanning()
Slot describing Bluetooth devices analysis beginning.
Definition: mainwindow.cpp:1041
Qt3DCore::QTransform * mLeftThighTransform
Qt3DCore::QTransform member variable kept for upper left leg transformations.
Definition: mainwindow.hpp:701
Hasher mHasher
Hasher member object serves for unique hash calculation based on Client data.
Definition: mainwindow.hpp:793
void MainWindow_ClientDrawTable()
Manages client table filling.
Definition: mainwindow.cpp:1511
Qt3DCore::QEntity * mGraphicsRootEntity
QEntity (namespace Qt3DCore) member variable that represents the graphics root entity.
Definition: mainwindow.hpp:653
void MainWindow_DeviceMeasure()
Slot defined for measurement beginning or stopping.
Definition: mainwindow.cpp:1215
void MainWindow_MeasurementSaveRecord()
Slot is bound to saving process of client measurement record.
Definition: mainwindow.cpp:1344
Qt3DCore::QTransform * mRightThighTransform
Qt3DCore::QTransform member variable kept for upper right leg transformations.
Definition: mainwindow.hpp:708
void MainWindow_DevicesDoneScanning()
Slot defined for Bluetooth devices discovery finish.
Definition: mainwindow.cpp:1058
void MainWindow_EnableMeasurementPage()
Slot shows the Measurement Page of LRA.
Definition: mainwindow.cpp:1870
void MainWindow_DeviceConnectedReport()
Slot that informs about Bluetooth device connection.
Definition: mainwindow.cpp:1267
void MainWindow_DeviceFilterExercises()
Slot function is responding to exercise selection changes.
Definition: mainwindow.cpp:1169
void MainWindow_InitializeUIStrings()
This function updates user interface strings.
Definition: mainwindow.cpp:203
QTranslator * mTranslator
This QTranslator pointer holds reference to application translation object.
Definition: mainwindow.hpp:631
void MainWindow_ClientRemove()
Slot manages client removal.
Definition: mainwindow.cpp:1628
Qt3DCore::QTransform * mLowerLeftArmTransform
Qt3DCore::QTransform member variable kept for lower left arm transformations.
Definition: mainwindow.hpp:687
void MainWindow_DeviceSwitchBodyPart()
Slot updates BodyPart selection status.
Definition: mainwindow.cpp:1152
void MainWindow_AboutActivateAbout()
Slot is defined for primary About page activation.
Definition: mainwindow.cpp:1765
qint32 mSelectedExercise
qint32 numerical member variable that holds the index of selected exercise.
Definition: mainwindow.hpp:853
Qt3DExtras::QPhongMaterial * mRangeMaterial
Qt3DExtras::QPhongMaterial member variable used for keeping the movement orbs color information.
Definition: mainwindow.hpp:764
Qt3DCore::QTransform * mPrimaryBlueCoinTransform
Qt3DCore::QTransform member variable maintained for primary BlueCoin device transformations.
Definition: mainwindow.hpp:729
QList< qint32 > mExerciseIndexList
QList<qint32> member variable is used for keeping exercise index values.
Definition: mainwindow.hpp:846
void MainWindow_EnableClientsPage()
Slot function that enables Clients Page.
Definition: mainwindow.cpp:1894
Qt3DExtras::Qt3DWindow * mGraphicsView
Qt3DWindow (namespace Qt3DExtras) member variable that holds graphics view used for 3D measurement co...
Definition: mainwindow.hpp:646
Qt3DCore::QTransform * mMaxRangeTransform
Qt3DCore::QTransform member variable used for maximum reached range orb transformations.
Definition: mainwindow.hpp:750
MainWindow(QWidget *parent=nullptr)
Parametric default class constructor.
Definition: mainwindow.cpp:16
void MainWindow_CleanAndQuit()
Slot function for stopping and cleaning procedure.
Definition: mainwindow.cpp:1975
void MainWindow_AboutActivateHowto()
Slot is used for About page description section activation.
Definition: mainwindow.cpp:1777
void MainWindow_MeasurementZoomIn()
Slot bound to one of 3D scene buttons for zooming in.
Definition: mainwindow.cpp:1322
XmlParser mXmlParser
XmlParser depicts a member that introduces XML loading and saving possibilities.
Definition: mainwindow.hpp:786
void MainWindow_DeviceBeyondLimitReport()
Slot function defined for connection limit reaching information.
Definition: mainwindow.cpp:1307
void MainWindow_ClearResults()
Manages measurement results clearing.
Definition: mainwindow.cpp:1032
void MainWindow_EnableSettingsPage()
Slot manages the visibility of Settings Page.
Definition: mainwindow.cpp:1950
QWidget * mGraphicsContainer
QWidget member variable that serves as a container of graphics content.
Definition: mainwindow.hpp:660
void MainWindow_DeviceUnreachableReport()
This slot informs users about device unreachability.
Definition: mainwindow.cpp:1292
Qt3DCore::QTransform * mRightCalfTransform
Qt3DCore::QTransform member variable kept for lower right leg transformations.
Definition: mainwindow.hpp:722
void MainWindow_EnableDevicesPage()
Slot serves for displaying the Devices Page.
Definition: mainwindow.cpp:1854
void MainWindow_ClientAdd()
Slot is responsible for new client adding.
Definition: mainwindow.cpp:1553
qint32 mDeviceSelectionLine
qint32 numerical member variable that holds the index of selected device.
Definition: mainwindow.hpp:860
void MainWindow_SettingsUpdate()
This slot updates application settings through user choices.
Definition: mainwindow.cpp:1790
QList< QSharedPointer< Client > > mClientList
QList<QSharedPointer<Client>> represents a list of pointers to Client data used across application.
Definition: mainwindow.hpp:806
QList< QSharedPointer< Exercise > > mExerciseList
QList<QSharedPointer<Exercise>> represents a list of pointers to Exercise data used across applicatio...
Definition: mainwindow.hpp:818
bool mEditingEnabled
bool member that holds information whether a new Client is currently being added.
Definition: mainwindow.hpp:888
QStringList mExerciseNameList
QStringList member variable serves for keeping exercise names in a list.
Definition: mainwindow.hpp:833
Qt3DCore::QTransform * mUpperRightArmTransform
Qt3DCore::QTransform member variable kept for upper right arm transformations.
Definition: mainwindow.hpp:680
Qt3DCore::QTransform * mLowerRightArmTransform
Qt3DCore::QTransform member variable kept for lower right arm transformations.
Definition: mainwindow.hpp:694
void resizeEvent(QResizeEvent *event)
Overrided function responding to window size changes.
Definition: mainwindow.cpp:133
Qt3DCore::QTransform * mMinRangeTransform
Qt3DCore::QTransform member variable used for minimum reached range orb transformations.
Definition: mainwindow.hpp:743
void MainWindow_MeasurementZoomOut()
Slot manages 3D scene zooming out.
Definition: mainwindow.cpp:1328
void MainWindow_DeviceNoConnectionReport(const QString &error)
Slot function that serves for no connection reporting.
Definition: mainwindow.cpp:1257
~MainWindow()
Default class destructor.
Definition: mainwindow.cpp:105
void MainWindow_MeasurementRotateLeft()
Slot is used for 3D scene clockwise rotation.
Definition: mainwindow.cpp:1334
qint32 mClientSelectionLine
qint32 numerical member variable that holds the index of selected client.
Definition: mainwindow.hpp:867
QPropertyAnimation * mAnimation
QPropertyAnimation variable used for window resizing.
Definition: mainwindow.hpp:666
Bluetooth * mBluetooth
Bluetooth is a member object that manages Bluetooth connection and data retrieval.
Definition: mainwindow.hpp:772
Ui::MainWindow * mUserInterface
MainWindow (namespace Ui) member variable depicting user interface content.
Definition: mainwindow.hpp:639
void MainWindow_EnableAboutPage()
This slot makes the About Page visible.
Definition: mainwindow.cpp:1933
Introduces possibilities of retrieved sensor data processing.
Definition: sensormodule.hpp:45
Class introduced in order to maintain XML loading and saving possibilities.
Definition: xmlparser.hpp:37
BodyPart
The BodyPart enum provides human limb recognition.
Definition: mainwindow.hpp:75
ExerciseType
The ExerciseType enumeration provides exercise recognition.
Definition: mainwindow.hpp:60
Namespace Ui that encapsulates MainWindow class.
Language
Language enumeration type distinguishes between possible Limb Range Analyzer UI languages.
Definition: settings.hpp:26