32 lines
952 B
C++
32 lines
952 B
C++
#pragma once
|
|
|
|
#include "Perception.h"
|
|
#include "Propulsion.h"
|
|
|
|
namespace Passer {
|
|
namespace RoboidControl {
|
|
|
|
/// @brief A Roboid is used to control autonomous robots
|
|
class Roboid {
|
|
public:
|
|
/// @brief Default constructor for a Roboid
|
|
Roboid();
|
|
/// @brief Creates a Roboid with Perception and Propulsion abilities
|
|
/// @param perception The Perception implementation to use for this Roboid
|
|
/// @param propulsion The Propulsion implementation to use for this Roboid
|
|
Roboid(Perception *perception, Propulsion *propulsion = nullptr);
|
|
|
|
/// @brief Update the state of the Roboid
|
|
/// @param currentTimeMs The time in milliseconds when calling this
|
|
/// function
|
|
void Update(float currentTimeMs);
|
|
|
|
/// @brief The Perception module of this Roboid
|
|
Perception *perception;
|
|
/// @brief The Propulsion module of this Roboid
|
|
Propulsion *propulsion;
|
|
};
|
|
} // namespace RoboidControl
|
|
} // namespace Passer
|
|
|
|
using namespace Passer::RoboidControl; |