3#include <NDEVR/QCustomDial.h>
4#include <NDEVR/QCustomLineEdit.h>
5#include <NDEVR/Button.h>
6#include <NDEVR/MagnetometerCalibrationDialog.h>
7#include <NDEVR/CoordinateOptions.h>
8#include <NDEVR/ApplicationResource.h>
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
A core class where all Design Objects including models, materials, and geometries are stored.
static QPointer< OrientationSensor > s_magnetic_reading_callback
Shared sensor used for magnetic readings across instances.
QCustomLineEdit * m_line_edit
Line edit for entering the declination angle manually.
MagnetometerWidget * m_magnetometer_widget
Widget showing live magnetometer state.
Button * m_measure_button
Button to take a magnetic reference measurement.
QGroupBox * m_magnetic_reading_group
Group box containing magnetic reading controls.
static void RegisterDialog(DesignObjectLookup *lookup)
Registers this dialog type with the application for the given lookup.
static void SetSensor(OrientationSensor *sensor)
Sets the orientation sensor used for magnetic readings.
QGroupBox * m_magnetic_value_group
Group box containing magnetic value entry controls.
void showMagnetometerOptionsPopup(PopupInfo info)
Displays a popup with magnetometer options.
void updateMagneticReference(const Angle< fltp08 > &angle)
Updates the stored magnetic reference angle.
Button * m_magnetometer_button
Button to access magnetometer calibration.
void onFinishedSignal(PopupInfo info)
Emitted when the declination dialog workflow is finished.
Angle< fltp08 > m_reference_angle
The known reference angle for declination calculation.
OrientationOperationsWidget * m_ops_widget
Widget for orientation-related operations.
void updateMagnetReadingButton()
Updates the magnetometer reading button state based on sensor availability.
void updateCalculation()
Recalculates the magnetic declination from current inputs.
MagneticDeclinationDialog(DesignObjectLookup *lookup, QWidget *parent=nullptr)
Constructs a MagneticDeclinationDialog.
QCustomLineEdit * m_magnetic_angle
Line edit displaying the measured magnetic angle.
Button * m_finish_button
Button to confirm and apply the declination value.
Forward declaration for design object lookup service.
A line edit allows users to enter and edit a single line of plain text with useful editing functions,...
The primary namespace for the NDEVR SDK.
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...