From 2d93c9559d0fba3573e471758e85a7ecb20c6da0 Mon Sep 17 00:00:00 2001 From: Diren D Bharwani Date: Thu, 22 Sep 2022 14:54:06 +0800 Subject: [PATCH 1/3] Restructured Transform system to match intended system structure --- .../src/Math/Transform/SHTransformSystem.cpp | 12 ++++-- .../src/Math/Transform/SHTransformSystem.h | 42 +++++++++++++++---- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp b/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp index 879c2d34..125de0e2 100644 --- a/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp +++ b/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp @@ -21,12 +21,18 @@ namespace SHADE { + /*-----------------------------------------------------------------------------------*/ + /* Static Data Member Definitions */ + /*-----------------------------------------------------------------------------------*/ + + SHTransformSystem::TransformUpdateRoutine SHTransformSystem::UpdateRoutine; + /*-----------------------------------------------------------------------------------*/ /* Constructors & Destructor Definitions */ /*-----------------------------------------------------------------------------------*/ - SHTransformSystem::SHTransformSystem() - : SHSystemRoutine { "Transform Routine", false } + SHTransformSystem::TransformUpdateRoutine::TransformUpdateRoutine() + : SHSystemRoutine { "Transform Update", false } {} @@ -34,7 +40,7 @@ namespace SHADE /* Public Function Member Definitions */ /*-----------------------------------------------------------------------------------*/ - void SHTransformSystem::Execute(double dt) noexcept + void SHTransformSystem::TransformUpdateRoutine::Execute(double dt) noexcept { // Get the current scene graph to traverse and update const auto& SCENE_GRAPH = SHSceneManager::GetCurrentSceneGraph(); diff --git a/SHADE_Engine/src/Math/Transform/SHTransformSystem.h b/SHADE_Engine/src/Math/Transform/SHTransformSystem.h index 5eebd292..4d62475a 100644 --- a/SHADE_Engine/src/Math/Transform/SHTransformSystem.h +++ b/SHADE_Engine/src/Math/Transform/SHTransformSystem.h @@ -21,19 +21,18 @@ namespace SHADE /* Type Definitions */ /*-----------------------------------------------------------------------------------*/ - class SH_API SHTransformSystem : public SHSystemRoutine + class SH_API SHTransformSystem : public SHSystem { public: - /*---------------------------------------------------------------------------------*/ /* Constructors & Destructor */ /*---------------------------------------------------------------------------------*/ - SHTransformSystem (); - ~SHTransformSystem () = default; + SHTransformSystem () = default; + ~SHTransformSystem () = default; - SHTransformSystem (const SHTransformSystem&) = delete; - SHTransformSystem (SHTransformSystem&&) = delete; + SHTransformSystem (const SHTransformSystem&) = delete; + SHTransformSystem (SHTransformSystem&&) = delete; /*---------------------------------------------------------------------------------*/ /* Operator Overloads */ @@ -43,10 +42,37 @@ namespace SHADE SHTransformSystem& operator= (SHTransformSystem&&) = delete; /*---------------------------------------------------------------------------------*/ - /* Function Members */ + /* System Routines */ /*---------------------------------------------------------------------------------*/ - void Execute(double dt) noexcept override; + class TransformUpdateRoutine : public SHSystemRoutine + { + public: + /*-------------------------------------------------------------------------------*/ + /* Constructors & Destructor */ + /*-------------------------------------------------------------------------------*/ + + TransformUpdateRoutine (); + ~TransformUpdateRoutine () = default; + + TransformUpdateRoutine (const TransformUpdateRoutine&) = delete; + TransformUpdateRoutine (TransformUpdateRoutine&&) = delete; + + /*-------------------------------------------------------------------------------*/ + /* Operator Overloads */ + /*-------------------------------------------------------------------------------*/ + + TransformUpdateRoutine& operator= (const TransformUpdateRoutine&) = delete; + TransformUpdateRoutine& operator= (TransformUpdateRoutine&&) = delete; + + /*-------------------------------------------------------------------------------*/ + /* Function Members */ + /*-------------------------------------------------------------------------------*/ + + void Execute(double dt) noexcept override; + }; + + static TransformUpdateRoutine UpdateRoutine; private: /*---------------------------------------------------------------------------------*/ From cda7330c5b92731c43157d1cfb0bde71d79360d6 Mon Sep 17 00:00:00 2001 From: Diren D Bharwani Date: Thu, 22 Sep 2022 14:56:58 +0800 Subject: [PATCH 2/3] Removed static data member for transform update routine --- SHADE_Engine/src/Math/Transform/SHTransformSystem.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SHADE_Engine/src/Math/Transform/SHTransformSystem.h b/SHADE_Engine/src/Math/Transform/SHTransformSystem.h index 4d62475a..c57cbdbd 100644 --- a/SHADE_Engine/src/Math/Transform/SHTransformSystem.h +++ b/SHADE_Engine/src/Math/Transform/SHTransformSystem.h @@ -72,7 +72,7 @@ namespace SHADE void Execute(double dt) noexcept override; }; - static TransformUpdateRoutine UpdateRoutine; + //static TransformUpdateRoutine UpdateRoutine; private: /*---------------------------------------------------------------------------------*/ From 38dbd0c2179bb0e15084307ccad587a3f80aab2f Mon Sep 17 00:00:00 2001 From: Diren D Bharwani Date: Thu, 22 Sep 2022 15:49:00 +0800 Subject: [PATCH 3/3] Removed static data member...again... --- SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp b/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp index f229cbdd..adbdf746 100644 --- a/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp +++ b/SHADE_Engine/src/Math/Transform/SHTransformSystem.cpp @@ -25,7 +25,7 @@ namespace SHADE /* Static Data Member Definitions */ /*-----------------------------------------------------------------------------------*/ - SHTransformSystem::TransformUpdateRoutine SHTransformSystem::UpdateRoutine; + //SHTransformSystem::TransformUpdateRoutine SHTransformSystem::UpdateRoutine; /*-----------------------------------------------------------------------------------*/ /* Constructors & Destructor Definitions */ @@ -40,7 +40,7 @@ namespace SHADE /* Public Function Member Definitions */ /*-----------------------------------------------------------------------------------*/ - void SHTransformSystem::TransformUpdateRoutine::Execute(double dt) noexcept + void SHTransformSystem::TransformUpdateRoutine::Execute(double) noexcept { // Get the current scene graph to traverse and update const auto& SCENE_GRAPH = SHSceneManager::GetCurrentSceneGraph();