The computation of limb properties uses boost::container::small_vector with a fixed capacity of 15 in some places, which limits the number of layers to that number. I don't even know what happens when it's exceeded. It was intended as a performance optimization to avoid heap allocations, but it might not even be that relevant to the overall performance since that code is only run once when setting up the simulation.
To do:
Replace small_vector with std::vector or Eigen::VectorXd
The computation of limb properties uses
boost::container::small_vector
with a fixed capacity of 15 in some places, which limits the number of layers to that number. I don't even know what happens when it's exceeded. It was intended as a performance optimization to avoid heap allocations, but it might not even be that relevant to the overall performance since that code is only run once when setting up the simulation.To do:
small_vector
withstd::vector
orEigen::VectorXd