A type for describing object properties would be beneficial. From my point of view it should contain:
float total_mass;
Eigen::Vector3f centerOfMass; //(3x1 vector)
Eigen::Matrix3f inertia; // (3x3 matrix)
A robot link can be seen in a more abstract way as a rigid object.