Class cv::detail::SubmapManager#

: Manages all the created submaps for a particular scene

Collaboration diagram for cv::detail::SubmapManager:

cv::detail::SubmapManager< MatType > Node1 cv::detail::SubmapManager < MatType >   + SubmapManager() + ~SubmapManager() + addEdgeToCurrentSubmap() + createNewSubmap() + estimateConstraint() + getCurrentSubmap() + getSubmap() + MapToPoseGraph() + numOfActiveSubmaps() + numOfSubmaps() and 6 more... Node2 cv::VolumeSettings   + VolumeSettings() + VolumeSettings() + ~VolumeSettings() + getCameraIntegrateIntrinsics() + getCameraRaycastIntrinsics() + getDepthFactor() + getIntegrateHeight() + getIntegrateWidth() + getMaxDepth() + getMaxWeight() and 23 more... Node2->Node1 +volumeSettings Node3 std::vector< Ptr< cv ::detail::Submap > >     Node3->Node1 +submapList Node4 Ptr< cv::detail::Submap >     Node4->Node3 +elements Node5 std::vector< T >     Node5->Node3 < Ptr< cv::detail:: Submap > > Node11 std::vector< cv::Affine3 >     Node5->Node11 < cv::Affine3 > Node6 T     Node6->Node5 +elements Node17 std::unordered_map < K, T >     Node6->Node17 +elements Node7 std::unordered_map < int, ActiveSubmapData >     Node7->Node1 +activeSubmaps Node8 int     Node8->Node7 +keys Node9 cv::detail::SubmapManager < MatType >::ActiveSubmapData     Node8->Node9 +trackingAttempts Node9->Node7 +elements Node10 Type     Node10->Node9 +type Node11->Node9 +constraints Node12 cv::Affine3< T >   + Affine3() + Affine3() + Affine3() + Affine3() + Affine3() + Affine3() + cast() + concatenate() + inv() + linear() and 12 more... + Identity() Node12->Node11 +elements Node13 cv::Matx< float_type, 4, 4 >   + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() and 33 more... + all() + diag() + eye() + ones() + randn() + randu() + zeros() Node13->Node12 +matrix Node14 float_type     Node14->Node13 +val Node15 cv::Matx< _Tp, m, n >   + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() and 33 more... + all() + diag() + eye() + ones() + randn() + randu() + zeros() Node15->Node13 < float_type, 4, 4 > Node16 _Tp     Node16->Node15 +val Node17->Node7 < int, ActiveSubmapData > Node18 K     Node18->Node17 +keys Node19 Ptr< cv::detail::PoseGraph >     Node19->Node1 +poseGraph

cv::detail::SubmapManager< MatType > Node1 cv::detail::SubmapManager < MatType >   + SubmapManager() + ~SubmapManager() + addEdgeToCurrentSubmap() + createNewSubmap() + estimateConstraint() + getCurrentSubmap() + getSubmap() + MapToPoseGraph() + numOfActiveSubmaps() + numOfSubmaps() and 6 more... Node2 cv::VolumeSettings   + VolumeSettings() + VolumeSettings() + ~VolumeSettings() + getCameraIntegrateIntrinsics() + getCameraRaycastIntrinsics() + getDepthFactor() + getIntegrateHeight() + getIntegrateWidth() + getMaxDepth() + getMaxWeight() and 23 more... Node2->Node1 +volumeSettings Node3 std::vector< Ptr< cv ::detail::Submap > >     Node3->Node1 +submapList Node4 Ptr< cv::detail::Submap >     Node4->Node3 +elements Node5 std::vector< T >     Node5->Node3 < Ptr< cv::detail:: Submap > > Node11 std::vector< cv::Affine3 >     Node5->Node11 < cv::Affine3 > Node6 T     Node6->Node5 +elements Node17 std::unordered_map < K, T >     Node6->Node17 +elements Node7 std::unordered_map < int, ActiveSubmapData >     Node7->Node1 +activeSubmaps Node8 int     Node8->Node7 +keys Node9 cv::detail::SubmapManager < MatType >::ActiveSubmapData     Node8->Node9 +trackingAttempts Node9->Node7 +elements Node10 Type     Node10->Node9 +type Node11->Node9 +constraints Node12 cv::Affine3< T >   + Affine3() + Affine3() + Affine3() + Affine3() + Affine3() + Affine3() + cast() + concatenate() + inv() + linear() and 12 more... + Identity() Node12->Node11 +elements Node13 cv::Matx< float_type, 4, 4 >   + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() and 33 more... + all() + diag() + eye() + ones() + randn() + randu() + zeros() Node13->Node12 +matrix Node14 float_type     Node14->Node13 +val Node15 cv::Matx< _Tp, m, n >   + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() + Matx() and 33 more... + all() + diag() + eye() + ones() + randn() + randu() + zeros() Node15->Node13 < float_type, 4, 4 > Node16 _Tp     Node16->Node15 +val Node17->Node7 < int, ActiveSubmapData > Node18 K     Node18->Node17 +keys Node19 Ptr< cv::detail::PoseGraph >     Node19->Node1 +poseGraph

Public Types#

enum class Type {
    Type::NEW = 0,
    Type::CURRENT = 1,
    Type::RELOCALISATION = 2,
    Type::LOOP_CLOSURE = 3,
    Type::LOST = 4
}

Detailed Description#

: Manages all the created submaps for a particular scene

Member Typedef Documentation#

IdToActiveSubmaps#

typedef std::unordered_map< int, ActiveSubmapData > cv::detail::SubmapManager::IdToActiveSubmaps

IdToSubmapPtr#

typedef std::map< int, Ptr< SubmapT > > cv::detail::SubmapManager::IdToSubmapPtr

SubmapT#

typedef Submap< MatType > cv::detail::SubmapManager::SubmapT

Member Enumeration Documentation#

enum Type

NEW

CURRENT

RELOCALISATION

LOOP_CLOSURE

LOST

Constructor & Destructor Documentation#

SubmapManager()#

cv::detail::SubmapManager::SubmapManager(const VolumeSettings & _volumeSettings)

~SubmapManager()#

cv::detail::SubmapManager::~SubmapManager()

Member Function Documentation#

addEdgeToCurrentSubmap()#

bool cv::detail::SubmapManager::addEdgeToCurrentSubmap(
const int currentSubmapID,
const int tarSubmapID )

createNewSubmap()#

int cv::detail::SubmapManager::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.

Here is the call graph for this function:

cv::detail::SubmapManager::createNewSubmap Node1 cv::detail::SubmapManager ::createNewSubmap Node2 cv::makePtr Node1->Node2

cv::detail::SubmapManager::createNewSubmap Node1 cv::detail::SubmapManager ::createNewSubmap Node2 cv::makePtr Node1->Node2

estimateConstraint()#

int cv::detail::SubmapManager::estimateConstraint(
int fromSubmapId,
int toSubmapId,
int & inliers,
Affine3f & inlierPose )

Here is the call graph for this function:

cv::detail::SubmapManager::estimateConstraint Node1 cv::detail::SubmapManager ::estimateConstraint Node2 cv::abs Node1->Node2 Node3 cv::DualQuat::createFromMat Node1->Node3 Node4 cv::Affine3::inv Node1->Node4 Node5 cv::max Node1->Node5 Node6 cv::norm Node1->Node6 Node7 cv::Affine3::rvec Node1->Node7 Node8 cv::sqrt Node1->Node8 Node9 cv::DualQuat::toAffine3 Node1->Node9 Node10 cv::Affine3::translation Node1->Node10 Node11 cv::vconcat Node1->Node11

cv::detail::SubmapManager::estimateConstraint Node1 cv::detail::SubmapManager ::estimateConstraint Node2 cv::abs Node1->Node2 Node3 cv::DualQuat::createFromMat Node1->Node3 Node4 cv::Affine3::inv Node1->Node4 Node5 cv::max Node1->Node5 Node6 cv::norm Node1->Node6 Node7 cv::Affine3::rvec Node1->Node7 Node8 cv::sqrt Node1->Node8 Node9 cv::DualQuat::toAffine3 Node1->Node9 Node10 cv::Affine3::translation Node1->Node10 Node11 cv::vconcat Node1->Node11

getCurrentSubmap()#

Ptr< SubmapT > cv::detail::SubmapManager::getCurrentSubmap(void)

getSubmap()#

Ptr< SubmapT > cv::detail::SubmapManager::getSubmap(int _id)

MapToPoseGraph()#

Ptr< detail::PoseGraph > cv::detail::SubmapManager::MapToPoseGraph()

Here is the call graph for this function:

cv::detail::SubmapManager::MapToPoseGraph Node1 cv::detail::SubmapManager ::MapToPoseGraph Node2 cv::detail::PoseGraph ::create Node1->Node2 Node3 cv::Matx::eye Node1->Node3

cv::detail::SubmapManager::MapToPoseGraph Node1 cv::detail::SubmapManager ::MapToPoseGraph Node2 cv::detail::PoseGraph ::create Node1->Node2 Node3 cv::Matx::eye Node1->Node3

numOfActiveSubmaps()#

size_t cv::detail::SubmapManager::numOfActiveSubmaps(void)

numOfSubmaps()#

size_t cv::detail::SubmapManager::numOfSubmaps(void)

PoseGraphToMap()#

void cv::detail::SubmapManager::PoseGraphToMap(const Ptr< detail::PoseGraph > & updatedPoseGraph)

removeSubmap()#

void cv::detail::SubmapManager::removeSubmap(int _id)

reset()#

void cv::detail::SubmapManager::reset()

shouldChangeCurrSubmap()#

bool cv::detail::SubmapManager::shouldChangeCurrSubmap(
int _frameId,
int toSubmapId )

shouldCreateSubmap()#

bool cv::detail::SubmapManager::shouldCreateSubmap(int frameId)

updateMap()#

bool cv::detail::SubmapManager::updateMap(
int frameId,
const OdometryFrame & frame )

Here is the call graph for this function:

Member Data Documentation#

activeSubmaps#

IdToActiveSubmaps cv::detail::SubmapManager::activeSubmaps

poseGraph#

Ptr< detail::PoseGraph > cv::detail::SubmapManager::poseGraph

submapList#

std::vector< Ptr< SubmapT > > cv::detail::SubmapManager::submapList

volumeSettings#

VolumeSettings cv::detail::SubmapManager::volumeSettings

Source file#

The documentation for this class was generated from the following file: