From 9feece4df35693ce01e889364801a982cc435043 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Mon, 15 Jul 2024 13:12:05 +0200 Subject: [PATCH] Add RemoveChildNodes --- openVulkanoCpp/Scene/Node.cpp | 9 +++++++++ openVulkanoCpp/Scene/Node.hpp | 2 ++ 2 files changed, 11 insertions(+) diff --git a/openVulkanoCpp/Scene/Node.cpp b/openVulkanoCpp/Scene/Node.cpp index 78e43f6..8bb41c2 100644 --- a/openVulkanoCpp/Scene/Node.cpp +++ b/openVulkanoCpp/Scene/Node.cpp @@ -71,6 +71,15 @@ namespace OpenVulkano::Scene } } + void Node::RemoveChildNodes() + { + for (Node* node : children) + { + node->SetParent(nullptr); + } + children.clear(); + } + void Node::AddDrawable(Drawable* drawable) { if (scene) drawable->SetScene(scene); diff --git a/openVulkanoCpp/Scene/Node.hpp b/openVulkanoCpp/Scene/Node.hpp index 60955a2..784bf17 100644 --- a/openVulkanoCpp/Scene/Node.hpp +++ b/openVulkanoCpp/Scene/Node.hpp @@ -53,6 +53,8 @@ namespace OpenVulkano::Scene void RemoveChild(Node* node); + void RemoveChildNodes(); + inline void RemoveChild(Drawable* drawable) { RemoveDrawable(drawable); } void AddDrawable(Drawable* drawable);