namespace mrpt::bayes::detail
namespace detail {
// global functions
template <
size_t VEH_SIZE,
size_t OBS_SIZE,
size_t FEAT_SIZE,
size_t ACT_SIZE,
typename KFTYPE
>
size_t getNumberOfLandmarksInMap(const CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, FEAT_SIZE, ACT_SIZE, KFTYPE>& obj);
template <size_t VEH_SIZE, size_t OBS_SIZE, size_t ACT_SIZE, typename KFTYPE>
size_t getNumberOfLandmarksInMap(const CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, 0, ACT_SIZE, KFTYPE>& obj);
template <
size_t VEH_SIZE,
size_t OBS_SIZE,
size_t FEAT_SIZE,
size_t ACT_SIZE,
typename KFTYPE
>
bool isMapEmpty(const CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, FEAT_SIZE, ACT_SIZE, KFTYPE>& obj);
template <size_t VEH_SIZE, size_t OBS_SIZE, size_t ACT_SIZE, typename KFTYPE>
bool isMapEmpty(const CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, 0, ACT_SIZE, KFTYPE>& obj);
template <
size_t VEH_SIZE,
size_t OBS_SIZE,
size_t FEAT_SIZE,
size_t ACT_SIZE,
typename KFTYPE
>
void addNewLandmarks(
CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, FEAT_SIZE, ACT_SIZE, KFTYPE>& obj,
const typename CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, FEAT_SIZE, ACT_SIZE, KFTYPE>::vector_KFArray_OBS& Z,
const std::vector<int>& data_association,
const typename CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, FEAT_SIZE, ACT_SIZE, KFTYPE>::KFMatrix_OxO& R
);
template <size_t VEH_SIZE, size_t OBS_SIZE, size_t ACT_SIZE, typename KFTYPE>
void addNewLandmarks(
CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, 0, ACT_SIZE, KFTYPE>& obj,
const typename CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, 0, ACT_SIZE, KFTYPE>::vector_KFArray_OBS& Z,
const std::vector<int>& data_association,
const typename CKalmanFilterCapable<VEH_SIZE, OBS_SIZE, 0, ACT_SIZE, KFTYPE>::KFMatrix_OxO& R
);
} // namespace detail