Add offset profiles

Addresses #149
This commit is contained in:
Kung-vr
2019-10-02 15:25:03 +09:00
parent d3b4d30807
commit 6dc7bc6837
6 changed files with 292 additions and 3 deletions
@@ -24,6 +24,15 @@ constexpr double k_maxOvrasUniverseCenteredTurningOffset = 25000.0;
class OverlayController;
struct OffsetProfile
{
std::string profileName;
float offsetX = 0.0f;
float offsetY = 0.0f;
float offsetZ = 0.0f;
int rotation = 0;
};
class MoveCenterTabController : public QObject
{
Q_OBJECT
@@ -210,6 +219,8 @@ private:
void outputLogHmdMatrix( vr::HmdMatrix34_t hmdMatrix );
void outputLogSettings();
std::vector<OffsetProfile> m_offsetProfiles;
public:
void initStage1();
void initStage2( OverlayController* parent );
@@ -252,6 +263,11 @@ public:
void resetHmdYawTotal();
void incomingSeatedReset();
void reloadOffsetProfiles();
void saveOffsetProfiles();
Q_INVOKABLE unsigned getOffsetProfileCount();
Q_INVOKABLE QString getOffsetProfileName( unsigned index );
// actions:
void leftHandSpaceDrag( bool leftHandDragActive );
void rightHandSpaceDrag( bool rightHandDragActive );
@@ -324,6 +340,10 @@ public slots:
void outputLogPoses();
void zeroOffsets();
void addOffsetProfile( QString name );
void applyOffsetProfile( unsigned index );
void deleteOffsetProfile( unsigned index );
signals:
void trackingUniverseChanged( int value );
void offsetXChanged( float value );
@@ -357,6 +377,8 @@ signals:
void universeCenteredRotationChanged( bool value );
void enableSeatedOffsetsRecenterChanged( bool value );
void disableSeatedMotionChanged( bool value );
void offsetProfilesUpdated();
};
} // namespace advsettings