rapier3d/dynamics/joint/multibody_joint/
multibody_workspace.rs1use crate::dynamics::RigidBodyVelocity;
2use crate::math::{DVector, Real};
3
4#[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))]
6#[derive(Clone, Debug)]
7pub(crate) struct MultibodyWorkspace {
8 pub accs: Vec<RigidBodyVelocity<Real>>,
9 pub ndofs_vec: DVector,
10}
11
12impl MultibodyWorkspace {
13 pub fn new() -> Self {
15 MultibodyWorkspace {
16 accs: Vec::new(),
17 ndofs_vec: DVector::zeros(0),
18 }
19 }
20
21 pub fn resize(&mut self, nlinks: usize, ndofs: usize) {
23 self.accs.resize(nlinks, RigidBodyVelocity::zero());
24 self.ndofs_vec = DVector::zeros(ndofs)
25 }
26}