New data structure for storing stateblocks
Currently, pointers to StateBlock objects are stored in vectors std::vector<StateBlockPtr> state_block_vec_ in classes FrameBase, SensorBase, CaptureBase and LandmarkBase. When accessing a state block to get or set the its current estimates, functions get/setP, get/setO and get/setV as well as get/setSensorIntrinsic() are used by refering to fixed indexes. For the moment we are using a limited number of state block types (position, orientation as a quaternion, velocity and intrinsics).
My concern is that if we want to use new types of state blocks while not using some of the previous one, this index base implementation would break (for example a system for which we do not estimate position but only velocity and orientation). A simple way to adress this issue would be tu use a std::map instead of a std::vector. This solution would not break the get/setX() API, only the get/setStateBlock(...) functions which are not used at many places.