Skip to main content

StageCapabilities

Struct StageCapabilities 

Source
pub struct StageCapabilities {
    pub consumes_detections: bool,
    pub consumes_tracks: bool,
    pub consumes_temporal: bool,
    pub produces_detections: bool,
    pub produces_tracks: bool,
    pub produces_signals: bool,
    pub produces_scene_features: bool,
}
Expand description

Declares what artifact types a stage produces and consumes.

Used by StagePipeline::validate() to detect unsatisfied dependencies (e.g., a tracker that consumes detections placed before the detector that produces them).

Stages report capabilities via Stage::capabilities(). The default implementation returns None, meaning the stage opts out of validation.

§Validated fields

The validator checks:

  • consumes_detections / produces_detections
  • consumes_tracks / produces_tracks

The remaining fields (consumes_temporal, produces_signals, produces_scene_features) are informational — available for external tooling but not enforced by the built-in validator.

§Example

use nv_perception::StageCapabilities;

let caps = StageCapabilities::new()
    .consumes_detections()
    .produces_tracks();

Fields§

§consumes_detections: bool

Stage reads detections from the artifact accumulator.

§consumes_tracks: bool

Stage reads tracks from the artifact accumulator.

§consumes_temporal: bool

Stage reads temporal state.

§produces_detections: bool

Stage produces detections.

§produces_tracks: bool

Stage produces tracks.

§produces_signals: bool

Stage produces signals.

§produces_scene_features: bool

Stage produces scene features.

Implementations§

Source§

impl StageCapabilities

Source

pub fn new() -> Self

Create empty capabilities (nothing consumed or produced).

Source

pub fn consumes_detections(self) -> Self

Mark this stage as consuming detections.

Source

pub fn consumes_tracks(self) -> Self

Mark this stage as consuming tracks.

Source

pub fn consumes_temporal(self) -> Self

Mark this stage as consuming temporal state.

Source

pub fn produces_detections(self) -> Self

Mark this stage as producing detections.

Source

pub fn produces_tracks(self) -> Self

Mark this stage as producing tracks.

Source

pub fn produces_signals(self) -> Self

Mark this stage as producing signals.

Source

pub fn produces_scene_features(self) -> Self

Mark this stage as producing scene features.

Trait Implementations§

Source§

impl Clone for StageCapabilities

Source§

fn clone(&self) -> StageCapabilities

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StageCapabilities

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for StageCapabilities

Source§

fn default() -> StageCapabilities

Returns the “default value” for a type. Read more
Source§

impl Hash for StageCapabilities

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for StageCapabilities

Source§

fn eq(&self, other: &StageCapabilities) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for StageCapabilities

Source§

impl Eq for StageCapabilities

Source§

impl StructuralPartialEq for StageCapabilities

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.