From 22d6ea9d2ea335d4ad9f3e0db44c6eda1176702f Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Sat, 20 Jul 2024 19:12:34 +0200 Subject: [PATCH] Add second constructor to node --- openVulkanoCpp/Scene/Node.cpp | 4 ++++ openVulkanoCpp/Scene/Node.hpp | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/openVulkanoCpp/Scene/Node.cpp b/openVulkanoCpp/Scene/Node.cpp index 1ceebf1..604cc45 100644 --- a/openVulkanoCpp/Scene/Node.cpp +++ b/openVulkanoCpp/Scene/Node.cpp @@ -14,6 +14,10 @@ namespace OpenVulkano::Scene Node::Node() : localMat(1), worldMat(1), enabled(true) {} + + Node::Node(const Math::Matrix4f& pose) + : localMat(pose), worldMat(pose), enabled(true) + {} Node::~Node() noexcept { diff --git a/openVulkanoCpp/Scene/Node.hpp b/openVulkanoCpp/Scene/Node.hpp index 784bf17..89be67c 100644 --- a/openVulkanoCpp/Scene/Node.hpp +++ b/openVulkanoCpp/Scene/Node.hpp @@ -28,16 +28,18 @@ namespace OpenVulkano::Scene static constexpr DescriptorSetLayoutBinding DESCRIPTOR_SET_LAYOUT_BINDING = { 0, DescriptorSetLayoutBinding::Type::TYPE_UNIFORM_BUFFER_DYNAMIC, 1, ShaderProgramType::ALL_GRAPHICS }; Math::Matrix4f localMat, worldMat; - bool enabled = true; Node* parent = nullptr; Scene* scene = nullptr; std::vector children; std::vector drawables; UpdateFrequency matrixUpdateFrequency = UpdateFrequency::Never; ICloseable* renderNode = nullptr; + bool enabled = true; public: Node(); + + Node(const Math::Matrix4f& pose); ~Node() noexcept override; @@ -80,6 +82,8 @@ namespace OpenVulkano::Scene void Enable() { enabled = true; } void Disable() { enabled = false; } + + void SetEnabled(bool enable) { enabled = enable; } [[nodiscard]] Node* GetParent() const { return parent; }