lattice_sdk/api/types/
tracked.rs

1pub use crate::prelude::*;
2
3/// Available for Entities that are tracked.
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
5pub struct Tracked {
6    /// Quality score, 0-15, nil if none
7    #[serde(rename = "trackQualityWrapper")]
8    #[serde(skip_serializing_if = "Option::is_none")]
9    pub track_quality_wrapper: Option<i64>,
10    /// Sensor hits aggregation on the tracked entity.
11    #[serde(rename = "sensorHits")]
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub sensor_hits: Option<i64>,
14    /// Estimated number of objects or units that are represented by this entity. Known as Strength in certain contexts (Link16)
15    /// if UpperBound == LowerBound; (strength = LowerBound)
16    /// If both UpperBound and LowerBound are defined; strength is between LowerBound and UpperBound (represented as string "Strength: 4-5")
17    /// If UpperBound is defined only (LowerBound unset), Strength ≤ UpperBound
18    /// If LowerBound is defined only (UpperBound unset), LowerBound ≤ Strength
19    /// 0 indicates unset.
20    #[serde(rename = "numberOfObjects")]
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub number_of_objects: Option<UInt32Range>,
23    /// The radar cross section (RCS) is a measure of how detectable an object is by radar. A large RCS indicates an object is more easily
24    /// detected. The unit is “decibels per square meter,” or dBsm
25    #[serde(rename = "radarCrossSection")]
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub radar_cross_section: Option<f64>,
28    /// Timestamp of the latest tracking measurement for this entity.
29    #[serde(rename = "lastMeasurementTime")]
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub last_measurement_time: Option<DateTime<Utc>>,
32    /// The relative position of a track with respect to the entity that is tracking it. Used for tracks that do not yet have a 3D position.
33    /// For this entity (A), being tracked by some entity (B), this LineOfBearing would express a ray from B to A.
34    #[serde(rename = "lineOfBearing")]
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub line_of_bearing: Option<LineOfBearing>,
37}