Skip to main content

HumanMachinePairExt

Trait HumanMachinePairExt 

Source
pub trait HumanMachinePairExt {
    // Required methods
    fn new(
        operators: Vec<Operator>,
        platform_ids: Vec<String>,
        binding_type: BindingType,
    ) -> Self;
    fn autonomous(platform_id: String) -> Self;
    fn one_to_one(operator: Operator, platform_id: String) -> Self;
    fn is_autonomous(&self) -> bool;
    fn primary_operator(&self) -> Option<&Operator>;
    fn max_rank(&self) -> Option<OperatorRank>;
    fn max_authority(&self) -> Option<AuthorityLevel>;
    fn has_overloaded_operator(&self, threshold: f32) -> bool;
    fn avg_effectiveness(&self) -> f32;
}

Required Methods§

Source

fn new( operators: Vec<Operator>, platform_ids: Vec<String>, binding_type: BindingType, ) -> Self

Create a new human-machine pair

Source

fn autonomous(platform_id: String) -> Self

Create an autonomous (no human) binding

Source

fn one_to_one(operator: Operator, platform_id: String) -> Self

Create a one-to-one human-platform pair

Source

fn is_autonomous(&self) -> bool

Check if this is an autonomous platform (no operators)

Source

fn primary_operator(&self) -> Option<&Operator>

Get the primary operator (highest rank)

Source

fn max_rank(&self) -> Option<OperatorRank>

Get highest rank among operators

Source

fn max_authority(&self) -> Option<AuthorityLevel>

Get highest authority level among operators

Source

fn has_overloaded_operator(&self, threshold: f32) -> bool

Check if any operator is overloaded

Source

fn avg_effectiveness(&self) -> f32

Get average operator effectiveness across all operators

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§