use alloc::vec::Vec;
use nalgebra::Vector3;
use crate::crate_utils::define_source;
define_source! {
PathCurrent
field_fn: path_current_B
args: {
current: T = T::zero(),
vertices: @ref Vec<Vector3<T>> = Vec::new(),
}
arg_display: "current={}, vertices count={}";
arg_fmt: [format_float, format_vertices_count]
docs: {
new: {
}
}
}
#[cfg(all(test, feature = "std"))]
crate::testing_util::generate_tests! {
PathCurrent
filename: polyline
params: {
current: 100.0,
vertices: vec![vector![-0.1, -0.1, -0.1], vector![0.1, -0.1, -0.1], vector![0.0, 0.1, -0.1], vector![0.0, 0.0, 0.1]],
}
rtols: {
static: 2e-10,
static_small: 1e-9,
translate: 1e-9,
rotate: 2e-10,
}
p95_rtols: {
static: 2e-10,
static_small: 1e-9,
translate: 1e-9,
rotate: 2e-10,
}
f32_rtols: {
static: 5e-2,
static_small: 0.2,
translate: 5e-2,
rotate: 1e-2,
}
f32_p95_rtols: {
static: 1e-3,
static_small: 1e-3,
translate: 1e-3,
rotate: 1e-3,
}
}