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§
Sourcefn new(
operators: Vec<Operator>,
platform_ids: Vec<String>,
binding_type: BindingType,
) -> Self
fn new( operators: Vec<Operator>, platform_ids: Vec<String>, binding_type: BindingType, ) -> Self
Create a new human-machine pair
Sourcefn autonomous(platform_id: String) -> Self
fn autonomous(platform_id: String) -> Self
Create an autonomous (no human) binding
Sourcefn one_to_one(operator: Operator, platform_id: String) -> Self
fn one_to_one(operator: Operator, platform_id: String) -> Self
Create a one-to-one human-platform pair
Sourcefn is_autonomous(&self) -> bool
fn is_autonomous(&self) -> bool
Check if this is an autonomous platform (no operators)
Sourcefn primary_operator(&self) -> Option<&Operator>
fn primary_operator(&self) -> Option<&Operator>
Get the primary operator (highest rank)
Sourcefn max_rank(&self) -> Option<OperatorRank>
fn max_rank(&self) -> Option<OperatorRank>
Get highest rank among operators
Get highest authority level among operators
Sourcefn has_overloaded_operator(&self, threshold: f32) -> bool
fn has_overloaded_operator(&self, threshold: f32) -> bool
Check if any operator is overloaded
Sourcefn avg_effectiveness(&self) -> f32
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.