umn-drone / project / libs / transit / src / robot.cc
robot.cc
Raw
#include "robot.h"

Robot::Robot(JsonObject &obj) : details(obj) {
    JsonArray pos(obj["position"]);
    position = {pos[0], pos[1], pos[2]};

    JsonArray dir(obj["direction"]);
    direction = {dir[0], dir[1], dir[2]};

    speed = obj["speed"];
    available = true;
}

JsonObject Robot::GetDetails() const {
    return details;
}

void Robot::SetAvailability(bool choice) {
    available = choice;
}

void Robot::Rotate(double angle){
    direction.x = direction.x*std::cos(angle) - direction.z*std::sin(angle);
    direction.z = direction.x*std::sin(angle) + direction.z*std::cos(angle);
}