#[derive(Clone, Debug)]
pub enum Equality {
Connect(EqualityConnect),
Weld(EqualityWeld),
Joint(EqualityJoint),
Tendon(EqualityTendon),
}
#[derive(Clone, Debug, Default)]
pub struct EqualityCommon {
pub name: Option<String>,
pub class: Option<String>,
pub active: bool,
}
#[derive(Clone, Debug, Default)]
pub struct EqualityConnect {
pub common: EqualityCommon,
pub body1: String,
pub body2: Option<String>,
pub anchor: [f64; 3],
}
#[derive(Clone, Debug, Default)]
pub struct EqualityWeld {
pub common: EqualityCommon,
pub body1: String,
pub body2: Option<String>,
pub relpose: Option<crate::Pose>,
pub anchor: Option<[f64; 3]>,
pub torque_scale: f64,
}
#[derive(Clone, Debug, Default)]
pub struct EqualityJoint {
pub common: EqualityCommon,
pub joint1: String,
pub joint2: Option<String>,
pub polycoef: [f64; 5],
}
#[derive(Clone, Debug, Default)]
pub struct EqualityTendon {
pub common: EqualityCommon,
pub tendon1: String,
pub tendon2: Option<String>,
pub polycoef: [f64; 5],
}