diff --git a/build/bin/mainV7.exe b/build/bin/mainV7.exe index 751d00d..dce1329 100644 Binary files a/build/bin/mainV7.exe and b/build/bin/mainV7.exe differ diff --git a/src/collections/methods/lower_body.cpp b/src/collections/methods/lower_body.cpp index 7a14e39..cdde8d7 100644 --- a/src/collections/methods/lower_body.cpp +++ b/src/collections/methods/lower_body.cpp @@ -17,16 +17,23 @@ Lower_Body::Lower_Body(rb::Vector3 pos,std::vector data){ collection Lower_Body::create(ReferencePlane plane){ collection coll; + dx->setDirection(Direction::R); + sx->setTransparency(1); + dx->setTransparency(1); switch (plane) { - case ReferencePlane::XZ: case ReferencePlane::XZN: - dx->setDirection(Direction::R); + case ReferencePlane::XZN: + dx->setTransparency(0.5); + coll = coll + dx->create(plane); + coll = coll + sx->create(plane); + break; + case ReferencePlane::XZ: + sx->setTransparency(0.5); coll = coll + sx->create(plane); coll = coll + dx->create(plane); break; case ReferencePlane::YZ: - dx->setDirection(Direction::L); coll = coll + dx->create(plane); coll = coll + sx->create(plane); break; diff --git a/src/pieces/headers/piece_interface.hpp b/src/pieces/headers/piece_interface.hpp index 8b22dc1..fb4cfb2 100644 --- a/src/pieces/headers/piece_interface.hpp +++ b/src/pieces/headers/piece_interface.hpp @@ -47,6 +47,7 @@ class PieceInterface{ virtual bool setTransparency(float alpha){ if (alpha < 0 || alpha > 1) return false; transparency = alpha; + return true; } }; diff --git a/src/pieces/methods/torso.cpp b/src/pieces/methods/torso.cpp index b2074b9..dbb49bf 100644 --- a/src/pieces/methods/torso.cpp +++ b/src/pieces/methods/torso.cpp @@ -26,11 +26,12 @@ sf::Shape* Torso::draw(ReferencePlane plane){ switch (plane) { - case ReferencePlane::XZ: + case ReferencePlane::XZ: case ReferencePlane::XZN: { sf::Shape* shape = shapeXZ; shape->setRotation(sf::Angle(sf::radians(tmpRot[1]))); shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]}); + shape->setFillColor(color*sf::Color(255,255,255,transparency*255)); return shape;} break; @@ -39,6 +40,7 @@ sf::Shape* Torso::draw(ReferencePlane plane){ sf::Shape* shape = shapeYZ; shape->setRotation(sf::Angle(sf::radians(tmpRot[0]))); shape->setPosition({tmpPos[1]+globalPos[1],tmpPos[2]+globalPos[2]}); + shape->setFillColor(color*sf::Color(255,255,255,transparency*255)); return shape;} break; diff --git a/src/sfml_util.cpp b/src/sfml_util.cpp index f2f851e..86a3fc1 100644 --- a/src/sfml_util.cpp +++ b/src/sfml_util.cpp @@ -320,8 +320,11 @@ void doGUI(State &gs) ImGui::Begin("Set visualization plane",0,sdp_flags); const char* MyEnumNames[] = { "XZ", "YZ", "-XZ" }; int currentPlane = (int)gs.selectedPlane; - if (ImGui::SliderInt("Selected Plane", ¤tPlane,0,2,MyEnumNames[currentPlane])) gs.updateCollections(); - gs.selectedPlane = (ReferencePlane)currentPlane; + if (ImGui::SliderInt("Selected Plane", ¤tPlane,0,2,MyEnumNames[currentPlane])){ + gs.selectedPlane = (ReferencePlane)currentPlane; + gs.updateCollections(); + } + ImGui::End();