From fc5eba127966d75e9730f054ba9ca597e20bc7ec Mon Sep 17 00:00:00 2001 From: Endert0m Date: Sat, 20 Jun 2026 09:57:53 +0200 Subject: [PATCH] Aggiuto controllo trasparenza nelle collezioni --- src/collections/headers/collection_interface.hpp | 1 + src/collections/headers/gamba.hpp | 1 + src/collections/headers/lower_body.hpp | 2 +- src/collections/methods/gamba.cpp | 10 ++++++++++ src/collections/methods/lower_body.cpp | 7 +++++++ 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/collections/headers/collection_interface.hpp b/src/collections/headers/collection_interface.hpp index 7931487..dbd7e78 100644 --- a/src/collections/headers/collection_interface.hpp +++ b/src/collections/headers/collection_interface.hpp @@ -13,6 +13,7 @@ struct collection{ class CollectionInterface{ public: virtual collection create(ReferencePlane plane) = 0; + virtual bool setTransparency(float alpha) = 0; virtual ~CollectionInterface(){}; }; diff --git a/src/collections/headers/gamba.hpp b/src/collections/headers/gamba.hpp index cf8ab9c..330fb2b 100644 --- a/src/collections/headers/gamba.hpp +++ b/src/collections/headers/gamba.hpp @@ -14,6 +14,7 @@ class Gamba : public CollectionInterface { collection create(ReferencePlane plane) override; PieceInterface* getJointPiece(); void setDirection(Direction dir); + bool setTransparency(float alpha) override; }; #endif \ No newline at end of file diff --git a/src/collections/headers/lower_body.hpp b/src/collections/headers/lower_body.hpp index fb24b7d..82e1988 100644 --- a/src/collections/headers/lower_body.hpp +++ b/src/collections/headers/lower_body.hpp @@ -28,7 +28,7 @@ public: ~Lower_Body(); void setVisibility(bool c); - void setTransparency(float t); + bool setTransparency(float alpha) override; collection create(ReferencePlane plane) override; }; diff --git a/src/collections/methods/gamba.cpp b/src/collections/methods/gamba.cpp index dc22867..4e51667 100644 --- a/src/collections/methods/gamba.cpp +++ b/src/collections/methods/gamba.cpp @@ -56,4 +56,14 @@ void Gamba::setDirection(Direction dir){ for (auto i : sensori){ i->setDirection(dir); } +} + +bool Gamba::setTransparency(float alpha){ + for (auto i : pezzi){ + if (!i->setTransparency(alpha)) return false; + } + for (auto i : sensori){ + if (!i->setTransparency(alpha)) return false; + } + return true; } \ No newline at end of file diff --git a/src/collections/methods/lower_body.cpp b/src/collections/methods/lower_body.cpp index 30f7a79..7a14e39 100644 --- a/src/collections/methods/lower_body.cpp +++ b/src/collections/methods/lower_body.cpp @@ -52,4 +52,11 @@ Lower_Body::~Lower_Body(){ void Lower_Body::setVisibility(bool c){ +} + +bool Lower_Body::setTransparency(float alpha){ + if (!sx->setTransparency(alpha)) return false; + dx->setTransparency(alpha); + t->setTransparency(alpha); + return true; } \ No newline at end of file