OpenCV
5.0.0-pre
Open Source Computer Vision
|
: Manages all the created submaps for a particular scene More...
#include <opencv2/3d/detail/submap.hpp>
Classes | |
struct | ActiveSubmapData |
Public Types | |
typedef std::unordered_map< int, ActiveSubmapData > | IdToActiveSubmaps |
typedef std::map< int, Ptr< SubmapT > > | IdToSubmapPtr |
typedef Submap< MatType > | SubmapT |
enum class | Type { NEW = 0 , CURRENT = 1 , RELOCALISATION = 2 , LOOP_CLOSURE = 3 , LOST = 4 } |
Public Member Functions | |
SubmapManager (const VolumeSettings &_volumeSettings) | |
virtual | ~SubmapManager ()=default |
bool | addEdgeToCurrentSubmap (const int currentSubmapID, const int tarSubmapID) |
int | createNewSubmap (bool isCurrentActiveMap, const int currFrameId=0, const Affine3f &pose=cv::Affine3f::Identity()) |
Adds a new submap/volume into the current list of managed/Active submaps. | |
int | estimateConstraint (int fromSubmapId, int toSubmapId, int &inliers, Affine3f &inlierPose) |
Ptr< SubmapT > | getCurrentSubmap (void) const |
Ptr< SubmapT > | getSubmap (int _id) const |
Ptr< detail::PoseGraph > | MapToPoseGraph () |
size_t | numOfActiveSubmaps (void) const |
size_t | numOfSubmaps (void) const |
void | PoseGraphToMap (const Ptr< detail::PoseGraph > &updatedPoseGraph) |
void | removeSubmap (int _id) |
void | reset () |
bool | shouldChangeCurrSubmap (int _frameId, int toSubmapId) |
bool | shouldCreateSubmap (int frameId) |
bool | updateMap (int frameId, const OdometryFrame &frame) |
Public Attributes | |
IdToActiveSubmaps | activeSubmaps |
Ptr< detail::PoseGraph > | poseGraph |
std::vector< Ptr< SubmapT > > | submapList |
VolumeSettings | volumeSettings |
: Manages all the created submaps for a particular scene
typedef std::unordered_map<int, ActiveSubmapData> cv::detail::SubmapManager< MatType >::IdToActiveSubmaps |
typedef std::map<int, Ptr<SubmapT> > cv::detail::SubmapManager< MatType >::IdToSubmapPtr |
typedef Submap<MatType> cv::detail::SubmapManager< MatType >::SubmapT |
|
strong |
|
inlineexplicit |
|
virtualdefault |
bool cv::detail::SubmapManager< MatType >::addEdgeToCurrentSubmap | ( | const int | currentSubmapID, |
const int | tarSubmapID | ||
) |
int cv::detail::SubmapManager< MatType >::createNewSubmap | ( | bool | isCurrentActiveMap, |
const int | currFrameId = 0 , |
||
const Affine3f & | pose = cv::Affine3f::Identity() |
||
) |
Adds a new submap/volume into the current list of managed/Active submaps.
int cv::detail::SubmapManager< MatType >::estimateConstraint | ( | int | fromSubmapId, |
int | toSubmapId, | ||
int & | inliers, | ||
Affine3f & | inlierPose | ||
) |
thresh = HUBER_THRESH
Ptr< Submap< MatType > > cv::detail::SubmapManager< MatType >::getCurrentSubmap | ( | void | ) | const |
Ptr< Submap< MatType > > cv::detail::SubmapManager< MatType >::getSubmap | ( | int | _id | ) | const |
Ptr< detail::PoseGraph > cv::detail::SubmapManager< MatType >::MapToPoseGraph | ( | ) |
|
inline |
|
inline |
void cv::detail::SubmapManager< MatType >::PoseGraphToMap | ( | const Ptr< detail::PoseGraph > & | updatedPoseGraph | ) |
void cv::detail::SubmapManager< MatType >::removeSubmap | ( | int | _id | ) |
|
inline |
bool cv::detail::SubmapManager< MatType >::shouldChangeCurrSubmap | ( | int | _frameId, |
int | toSubmapId | ||
) |
TODO: Check for a specific threshold?
bool cv::detail::SubmapManager< MatType >::shouldCreateSubmap | ( | int | frameId | ) |
TODO: This shouldn't be happening? since there should always be one active current submap
bool cv::detail::SubmapManager< MatType >::updateMap | ( | int | frameId, |
const OdometryFrame & | frame | ||
) |
TODO: Add a new type called NEW_LOST?
IdToActiveSubmaps cv::detail::SubmapManager< MatType >::activeSubmaps |
Ptr<detail::PoseGraph> cv::detail::SubmapManager< MatType >::poseGraph |
std::vector<Ptr<SubmapT> > cv::detail::SubmapManager< MatType >::submapList |
VolumeSettings cv::detail::SubmapManager< MatType >::volumeSettings |