#pragma once // Include modules #include "enums.hpp" // Include dependencies #include #include QT_BEGIN_NAMESPACE namespace Ui { class EditWidget; } QT_END_NAMESPACE class EditWidget: public QWidget { Q_OBJECT public: EditWidget(QWidget* parent = nullptr); ~EditWidget(); void updatePositions(osg::Vec3 point); void updateNormals(osg::Vec3 normal); void invalidatePositions(); ActiveTrackingSystem getSelectedTrackingSystem(); void setSelection(int id); int getSelectedPoint(); void updateTrackpointCount(); protected: virtual void showEvent(QShowEvent* event); private slots: void selectTool(Tool tool); void resetAllSettings(); void tabChanged(int index); void updateNormalModifier(); void resetNormalModifier(); void setNormalModifier(osg::Vec3 normalModifier); void updateOptiTrackSettings(); void resetOptiTrackSettings(); void setOptiTrackSettings(double length, double radius); void updateSteamVRTrackSettings(); void resetSteamVRTrackSettings(); void setSteamVRTrackSettings(double length); void updateActionPointSettings(QString input); void resetActionPointSettings(); void setActionPointSettings(std::string identifier); void deleteCurrentTrackPoint(); void exportProject(); private: Ui::EditWidget* ui; int selectedPoint = -1; };