Thunderbots Project
Loading...
Searching...
No Matches
primitive.h
1#pragma once
2
3#include "proto/primitive.pb.h"
4#include "software/ai/navigator/obstacle/robot_navigation_obstacle_factory.h"
5#include "software/ai/navigator/trajectory/trajectory_path.h"
6
11{
12 public:
16 virtual ~Primitive() = default;
17
27 virtual std::pair<std::optional<TrajectoryPath>,
28 std::unique_ptr<TbotsProto::Primitive>>
30 const World &world,
31 const std::set<TbotsProto::MotionConstraint> &motion_constraints,
32 const std::map<RobotId, TrajectoryPath> &robot_trajectories,
33 const RobotNavigationObstacleFactory &obstacle_factory) = 0;
34
43 TbotsProto::ObstacleList &obstacle_list_out,
44 TbotsProto::PathVisualization &path_visualization_out) const = 0;
45
52 {
53 return estimated_cost;
54 }
55
56 protected:
57 double estimated_cost = 0;
58};
Definition primitive.h:11
virtual void getVisualizationProtos(TbotsProto::ObstacleList &obstacle_list_out, TbotsProto::PathVisualization &path_visualization_out) const =0
virtual std::pair< std::optional< TrajectoryPath >, std::unique_ptr< TbotsProto::Primitive > > generatePrimitiveProtoMessage(const World &world, const std::set< TbotsProto::MotionConstraint > &motion_constraints, const std::map< RobotId, TrajectoryPath > &robot_trajectories, const RobotNavigationObstacleFactory &obstacle_factory)=0
virtual ~Primitive()=default
double getEstimatedPrimitiveCost() const
Definition primitive.h:51
Definition robot_navigation_obstacle_factory.h:19
Definition world.h:23