27 lines
962 B
Rust
27 lines
962 B
Rust
//! Formation control: virtual structure, leader-follower, Reynolds flocking.
|
|
//!
|
|
// NOTE: Formation control is ITAR-controlled (USML Category VIII(h)(12)).
|
|
// Only available when the `itar-unrestricted` feature is enabled.
|
|
|
|
#[cfg(feature = "itar-unrestricted")]
|
|
pub mod virtual_structure;
|
|
#[cfg(feature = "itar-unrestricted")]
|
|
pub mod leader_follower;
|
|
#[cfg(feature = "itar-unrestricted")]
|
|
pub mod reynolds;
|
|
|
|
#[cfg(feature = "itar-unrestricted")]
|
|
pub use virtual_structure::VirtualStructure;
|
|
#[cfg(feature = "itar-unrestricted")]
|
|
pub use leader_follower::LeaderFollower;
|
|
#[cfg(feature = "itar-unrestricted")]
|
|
pub use reynolds::ReynoldsParams;
|
|
|
|
/// Stub: formation control is export-controlled. Enable `itar-unrestricted` feature.
|
|
#[cfg(not(feature = "itar-unrestricted"))]
|
|
pub fn formation_stub() -> crate::SwarmResult<()> {
|
|
Err(crate::SwarmError::Security(
|
|
"Formation control requires itar-unrestricted feature (USML VIII(h)(12))".into(),
|
|
))
|
|
}
|