summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/runtime/Qt3DSTimePolicy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/runtime/Qt3DSTimePolicy.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/runtime/Qt3DSTimePolicy.h124
2 files changed, 0 insertions, 124 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 2025912174c4cf99270b7439ec3b021e1d089ae
diff --git a/src/Runtime/ogl-runtime/src/runtime/Qt3DSTimePolicy.h b/src/Runtime/ogl-runtime/src/runtime/Qt3DSTimePolicy.h
deleted file mode 100644
index 6a137196..00000000
--- a/src/Runtime/ogl-runtime/src/runtime/Qt3DSTimePolicy.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 1993-2009 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#pragma once
-#include "foundation/Qt3DSOption.h"
-
-//==============================================================================
-// Namespace
-//==============================================================================
-namespace Q3DStudio {
-
-struct TimePolicyModes
-{
- enum Enum {
- StopAtEnd = 0,
- Looping,
- PingPong,
- Ping,
- };
-};
-
-//==============================================================================
-/**
- * Filter time based of parameters such as loop, duration, ping-pong etc.
- *
- * The time policy is an agnostic class that transforms time units based on
- * internal settings and times given to it. Think of it as the minimal
- * intelligence needed to support the time playback modes we use. It is simply
- * a function that takes in a source time variable, adjusts it accordingly,
- * and returns a filtered version.
- */
-
-QT3DS_ALIGN_PREFIX(4) class CTimePolicy
-{
- //==============================================================================
- // Fields and Constants
- //==============================================================================
-public:
- const static TTimeUnit FOREVER; ///< Forever repetitions means loop forever, Forever duration
- ///means infinite duration
- friend struct SComponentTimePolicyOverride; ///< This class needs to mangle some of our internal
- ///members to keep everything consistent
-
-protected:
- // Time policy related ( 20 bytes )
- unsigned long m_LocalTime; ///< Component current local time; transformed by playmodes
- unsigned long m_LoopingDuration; ///< Looping duration
- SAlignedTimeUnit m_Offset; ///< Subtraction modifier
- FLOAT m_Rate; ///< Time policy rate
- UINT8 m_TimePadding[12]; ///< Padding to keep the size of the time policy the same.
-
- UINT8
- m_TimePolicyMode : 2; ///< Number of durations before halting - FOREVER means infinite reps
- UINT8 m_Paused : 1; ///< Paused or playing
- UINT8 m_OffsetInvalid : 1; ///< True if we need to reset our offset
- UINT8 m_Backward : 1; ///< True if are in 'reverse' mode
-
- UINT8 m_Unused[3]; ///< (Padding 3 bytes)
-
- //==============================================================================
- // Methods
- //==============================================================================
-public: // Construction
- void Initialize(const TTimeUnit inLoopingDuration = FOREVER,
- TimePolicyModes::Enum inMode = TimePolicyModes::StopAtEnd);
- void Initialize(const TTimeUnit inLoopingDuration, UINT32 inRepetitions, BOOL inPingPong);
-
-public: // Access Methods
- FLOAT GetRate() const { return m_Rate; }
- void SetRate(float inRate) { m_Rate = inRate; }
-
- bool IsReverse() const { return m_Backward; }
- void SetReverse(bool inIsReverse) { m_Backward = inIsReverse ? 1 : 0; }
-
- TTimeUnit GetTime() const;
- void SetTime(TTimeUnit inTime);
-
- TTimeUnit GetLoopingDuration() const;
- void SetLoopingDuration(const TTimeUnit inTime);
-
- BOOL GetPaused() const;
- void SetPaused(const BOOL inPaused);
-
- BOOL GetPlayBackDirection() const;
-
-public: // Time update
- // The addendum contains extra parameters used that can be specified in a goto-slide command
- // in the uia file.
- BOOL ComputeTime(const TTimeUnit inTime);
-
-private:
- TTimeUnit InternalGetTime() const;
-
- BOOL UpdateTime(const TTimeUnit inTime);
-} QT3DS_ALIGN_SUFFIX(4);
-
-} // namespace Q3DStudio