Caricamento v0.3

This commit is contained in:
2026-05-31 11:06:50 +02:00
parent e50e2987c9
commit 5169bc4096
18 changed files with 208 additions and 62 deletions
+20 -10
View File
@@ -1,17 +1,18 @@
#include "../headers/caviglia.hpp"
Caviglia::Caviglia(rb::Vector3 coords, _Float16 mass){
size = caviglia_Dim;
rb::Vector3 com = {size.x/2,0, size.y/2};
rb::Vector3 com = {caviglia_Dim.x/2,caviglia_Dim.x/2, caviglia_Dim.y/2};
body = rb::rigidbody(coords, com, mass);
color = caviglia_Col;
shape = new sf::RectangleShape(size);
shape->setOrigin({size.x/2,size.y/2});
globalPos = {0,0,0};
initialize_shapes(caviglia_Dim);
}
Caviglia::~Caviglia(){
delete shape;
delete shapeXZ;
delete shapeYZ;
}
void Caviglia::update(sf::Clock cl){
@@ -19,22 +20,31 @@ void Caviglia::update(sf::Clock cl){
}
sf::Shape* Caviglia::draw(ReferencePlane plane){
shape->setFillColor(color);
rb::Vector3 tmpPos = body.getPos();
rb::Vector3_s tmpRot = body.getRot();
switch (plane)
{
case ReferencePlane::XZ:
shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]});
{
sf::Shape* shape = shapeXZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[2])));
shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]});
return shape;}
break;
case ReferencePlane::YZ:
{
sf::Shape* shape = shapeYZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setPosition({tmpPos[1]+globalPos[1],tmpPos[2]+globalPos[2]});
return shape;}
break;
default:
break;
}
return shape;
return nullptr;
}