1use std::collections::{HashMap, HashSet};
2
3use rosrust::Time;
4use thiserror::Error;
5
6use crate::transforms::geometry_msgs::TransformStamped;
7
8#[derive(Clone, Debug, Error)]
10#[non_exhaustive]
11pub enum TfError {
12 #[error("tf_rosrust: AttemptedLookupInPast {:?} < {:?}",.0, .1)]
14 AttemptedLookupInPast(Time, Box<TransformStamped>),
15 #[error("tf_rosrust: AttemptedLookupInFuture {:?} < {:?}",.0, .1)]
17 AttemptedLookUpInFuture(Box<TransformStamped>, Time),
18 #[error("tf_rosrust: CouldNotFindTransform {} -> {} ({:?})", .0, .1, .2)]
20 CouldNotFindTransform(String, String, HashMap<String, HashSet<String>>),
21 #[error("tf_rosrust: CouldNotAcquireLock")]
23 CouldNotAcquireLock,
24 #[error("tf_rosrust: rosrust error {:?}", .0)]
26 Rosrust(String),
27}