Aggiunta finestra di controllo visibilità

This commit is contained in:
2026-06-23 12:52:19 +02:00
parent c48d0505fc
commit 5588ccee31
5 changed files with 41 additions and 13 deletions
+5 -1
View File
@@ -44,6 +44,10 @@ Pos=400,0
Size=400,30 Size=400,30
[Window][Set time multiplier] [Window][Set time multiplier]
Pos=400,640 Pos=400,639
Size=400,30 Size=400,30
[Window][Set overlap]
Pos=500,31
Size=300,70
BIN
View File
Binary file not shown.
@@ -22,9 +22,13 @@ class CollectionInterface{
transparency = alpha; transparency = alpha;
return true; return true;
}; };
float getTransparency() { virtual bool getVisibility(){
return isVisible;
}
virtual float getTransparency() {
return transparency; return transparency;
} }
virtual void setVisibility(bool c) { virtual void setVisibility(bool c) {
isVisible = c; isVisible = c;
} }
-6
View File
@@ -63,13 +63,7 @@ void Gamba::setDirection(Direction dir){
float Gamba::getZ_Acc(){ float Gamba::getZ_Acc(){
float totZ_Acc = 0; float totZ_Acc = 0;
/*
for (auto i : sensori){
totZ_Acc += i->getZ_Acc();
}*/
totZ_Acc = sensori[0]->getZ_Acc() + sensori[1]->getZ_Acc(); totZ_Acc = sensori[0]->getZ_Acc() + sensori[1]->getZ_Acc();
//printf("TotAccGamba %f\n", totZ_Acc);
return totZ_Acc; return totZ_Acc;
} }
+28 -2
View File
@@ -5,6 +5,7 @@
#include "collections/headers/collection_interface.hpp" #include "collections/headers/collection_interface.hpp"
#include <imgui.h> #include <imgui.h>
#include <imgui-SFML.h> #include <imgui-SFML.h>
#include <format>
template <typename T1, typename T2> template <typename T1, typename T2>
double dist(sf::Vector2<T1> p1, sf::Vector2<T2> p2) double dist(sf::Vector2<T1> p1, sf::Vector2<T2> p2)
@@ -301,6 +302,8 @@ void doGUI(State &gs)
ImGuiWindowFlags_NoCollapse| ImGuiWindowFlags_NoCollapse|
ImGuiWindowFlags_NoTitleBar; ImGuiWindowFlags_NoTitleBar;
// Finestra gestione posizione dati
ImGui::Begin("Set data position", 0,sdp_flags); ImGui::Begin("Set data position", 0,sdp_flags);
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x * 0.3); ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x * 0.3);
ImGui::SliderScalar("Start", ImGuiDataType_U32 ,gs.intervalMinLimit,&zero,gs.intervalMajLimit); ImGui::SliderScalar("Start", ImGuiDataType_U32 ,gs.intervalMinLimit,&zero,gs.intervalMajLimit);
@@ -345,9 +348,29 @@ void doGUI(State &gs)
*gs.tMul = TimeMul[Timeid]; *gs.tMul = TimeMul[Timeid];
ImGui::End(); ImGui::End();
//Finestra controllo sovrapposizione //Finestra controllo sovrapposizione (solo su collezioni)
ImGui::Begin("Set overlap", 0,sdp_flags);
int c = 0;
for (auto i : gs.collections){
std::stringstream s;
s <<"Collezione :" << c;
ImGui::Text(s.str().c_str());
float tmpTr = i->getTransparency();
if (ImGui::SliderFloat("Transparency ", &tmpTr,0.0,1.0)) {
gs.updateCollections();
i->setTransparency(tmpTr);
}
bool tmpVs = i->getVisibility();
if (ImGui::Checkbox("is visible", &tmpVs)) {
i->setVisibility(tmpVs);
gs.updateCollections();
}
c++;
ImGui::Separator();
}
ImGui::End();
sf::Vector2u wsize = gs.window.getSize(); sf::Vector2u wsize = gs.window.getSize();
@@ -355,8 +378,11 @@ void doGUI(State &gs)
ImGui::SetWindowSize("Set data position",ImVec2(wsize.x,30)); ImGui::SetWindowSize("Set data position",ImVec2(wsize.x,30));
ImGui::SetWindowPos("Set visualization plane",ImVec2(wsize.x-400,0)); ImGui::SetWindowPos("Set visualization plane",ImVec2(wsize.x-400,0));
ImGui::SetWindowSize("Set visualization plane",ImVec2(400,30)); ImGui::SetWindowSize("Set visualization plane",ImVec2(400,30));
ImGui::SetWindowPos("Set time multiplier",ImVec2(wsize.x-400,wsize.y - 60)); ImGui::SetWindowPos("Set time multiplier",ImVec2(wsize.x-400,wsize.y - 61));
ImGui::SetWindowSize("Set time multiplier",ImVec2(400,30)); ImGui::SetWindowSize("Set time multiplier",ImVec2(400,30));
ImGui::SetWindowPos("Set overlap",ImVec2(wsize.x-300,31));
ImGui::SetWindowSize("Set overlap",ImVec2(300,70*gs.collections.size()));
ImGui::SFML::Render(gs.window); ImGui::SFML::Render(gs.window);
} }