3#include "proto/message_translation/tbots_geometry.h"
4#include "proto/tbots_software_msgs.pb.h"
5#include "proto/vision.pb.h"
6#include "proto/visualization.pb.h"
7#include "proto/world.pb.h"
8#include "software/ai/navigator/trajectory/bang_bang_trajectory_1d_angular.h"
9#include "software/ai/navigator/trajectory/trajectory_path.h"
10#include "software/ai/passing/pass_with_rating.h"
11#include "software/world/world.h"
21std::unique_ptr<TbotsProto::World> createWorld(
const World& world);
33std::unique_ptr<TbotsProto::World> createWorldWithSequenceNumber(
34 const World& world,
const uint64_t sequence_number);
44std::unique_ptr<TbotsProto::Team> createTeam(
const Team& team);
54std::unique_ptr<TbotsProto::Robot> createRobot(
const Robot& robot);
64std::unique_ptr<TbotsProto::Ball> createBall(
const Ball& ball);
74std::unique_ptr<TbotsProto::Field> createField(
const Field& field);
83std::unique_ptr<TbotsProto::RobotState> createRobotStateProto(
const Robot& robot);
84std::unique_ptr<TbotsProto::RobotState> createRobotStateProto(
86std::unique_ptr<TbotsProto::GameState> createGameState(
const GameState& game_state);
87std::unique_ptr<TbotsProto::BallState> createBallState(
const Ball& ball);
97std::unique_ptr<TbotsProto::Timestamp> createTimestamp(
const Timestamp& timestamp);
108std::unique_ptr<TbotsProto::NamedValue> createNamedValue(
const std::string name,
126std::unique_ptr<TbotsProto::PlotJugglerValue> createPlotJugglerValue(
127 const std::map<std::string, double>& values);
143template <
class Shape>
144std::unique_ptr<TbotsProto::DebugShapes::DebugShape> createDebugShape(
145 const Shape& shape,
const std::string& unique_id,
const std::string& debug_text =
"")
147 auto debug_shape = std::make_unique<TbotsProto::DebugShapes::DebugShape>();
148 (*debug_shape->mutable_shape()) = *createShapeProto(shape);
149 debug_shape->set_unique_id(unique_id);
150 debug_shape->set_debug_text(debug_text);
169std::unique_ptr<TbotsProto::DebugShapes> createDebugShapes(
170 const std::vector<TbotsProto::DebugShapes::DebugShape>& debug_shapes);
179std::unique_ptr<TbotsProto::Shape> createShapeProto(
const Circle& circle);
180std::unique_ptr<TbotsProto::Shape> createShapeProto(
const Polygon& polygon);
181std::unique_ptr<TbotsProto::Shape> createShapeProto(
const Stadium& stadium);
188std::unique_ptr<TbotsProto::Timestamp> createCurrentTimestamp();
196RobotState createRobotState(
const TbotsProto::RobotState robot_state);
204BallState createBallState(
const TbotsProto::BallState ball_state);
213std::unique_ptr<TbotsProto::PassVisualization> createPassVisualization(
214 const std::vector<PassWithRating>& passes_with_rating);
223std::unique_ptr<TbotsProto::WorldStateReceivedTrigger> createWorldStateReceivedTrigger();
234std::unique_ptr<TbotsProto::CostVisualization> createCostVisualization(
235 const std::vector<double>& costs,
int num_rows,
int num_cols);
246std::optional<TrajectoryPath> createTrajectoryPathFromParams(
247 const TbotsProto::TrajectoryPathParams2D& params,
const Vector& initial_velocity,
259 const TbotsProto::TrajectoryParamsAngular1D& params,
270int convertDribblerModeToDribblerSpeed(TbotsProto::DribblerMode dribbler_mode,
281double convertMaxAllowedSpeedModeToMaxAllowedSpeed(
282 TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode,
Definition ball_state.h:11
Definition bang_bang_trajectory_1d_angular.h:10
Holds the state of the game according to the referee.
Definition game_state.h:80
Definition robot_state.h:19
Definition timestamp.h:21
Definition robot_constants.h:7