Class NegotiatingRouteValidator::Generator¶
Defined in File RouteValidator.hpp
Nested Relationships¶
This class is a nested type of Class NegotiatingRouteValidator.
Class Documentation¶
-
class
rmf_traffic::agv::NegotiatingRouteValidator
::
Generator
The Generator class begins the creation of NegotiatingRouteValidator instances. NegotiatingRouteValidator may be able to brach in multiple dimensions because of the rollout alternatives that are provided during a rejection.
Public Functions
-
Generator
(schedule::Negotiation::Table::ViewerPtr viewer, rmf_traffic::Profile profile) Constructor
This version is safe to use even if the participant being negotiated for is not in the schedule yet.
- Parameters
[in] viewer
: A viewer for the Negotiation Table that the generated validators are concerned with[in] profile
: The profile of the participant whose routes are being validated.
-
Generator
(schedule::Negotiation::Table::ViewerPtr viewer) Constructor
This version looks for the participant in the schedule to find its profile.
- Parameters
[in] table
: A viewer for the Negotiation Table that the generated validators are concerned with
-
Generator &
ignore_unresponsive
(bool val = true) Toggle whether to ignore “unresponsive” (also called “read-only”) schedule participants when determining conflicts. By default, conflicts with unresponsive participants will be caught.
-
Generator &
ignore_bystanders
(bool val = true) Toggle whether to ignore “bystanders” which means schedule participants that are not being involved in the negotiation. By default, conflicts with bystanders will be caught.
-
NegotiatingRouteValidator
begin
() const Start with a NegotiatingRouteValidator that will use all the most preferred alternatives from every participant.
-
std::vector<rmf_utils::clone_ptr<NegotiatingRouteValidator>>
all
() const Get all the Negotiating Route Validators that can be generated.
-
const std::vector<schedule::ParticipantId> &
alternative_sets
() const Get the set of participants who have specified what their available rollouts are.
-
std::size_t
alternative_count
(schedule::ParticipantId participant) const Get the number of alternative rollouts for the specified participant. This function will throw an excpetion if participant does not offer an alternative set.
-