agent_tk/conversion/
goal.rs

1//! Support for executing goals.
2
3use crate::{definitions, Result};
4
5/// Convert a goal to a TST
6pub struct ToTst {}
7
8impl ToTst
9{
10  /// Convert a goal to a TST
11  pub fn convert(goal: &definitions::goal::Goal) -> Result<definitions::tst::Node>
12  {
13    let mut builder = definitions::tst::Seq::build(Some(definitions::tst::CommonParameters {
14      node_uuid: goal.uuid,
15      ..Default::default()
16    }));
17
18    for (_, v_goal) in goal.visit.iter()
19    {
20      builder = builder.add(
21        definitions::tst::MoveToParameters {
22          waypoint: definitions::tst::GeoPoint {
23            longitude: v_goal.position.longitude,
24            latitude: v_goal.position.latitude,
25            ..Default::default()
26          },
27          ..Default::default()
28        },
29        None,
30      );
31    }
32    Ok(builder.into())
33  }
34}