NDEVR
API Documentation
MapPointProjection

Projects a map point into a frame and checks frustum visibility. More...

Collaboration diagram for MapPointProjection:
[legend]

Public Member Functions

 MapPointProjection (const Frame &frame, MapPoint *pMP, fltp04 view_cos_limit)
 Constructs a projection and checks frustum visibility.
bool checkInFrustum (const Frame &frame, MapPoint *pMP, fltp04 view_cos_limit)
 Checks whether a map point is in the camera frustum and fills tracking data.
bool isInFrustumChecks (const Frame &frame, MapPoint *pMP, float viewingCosLimit, bool bRight=false)
 Checks frustum visibility for a single view (left or right).

Public Attributes

bool is_in_frustum = false
 Whether the point is inside the camera frustum.
bool mbTrackInView = false
 Whether the point is visible in the left view.
bool mbTrackInViewR = false
 Whether the point is visible in the right view.
float mTrackDepth
 Depth in the left camera.
float mTrackDepthR
 Depth in the right camera.
float mTrackProjX
 Projected x coordinate in the left image.
float mTrackProjXR
 Projected x coordinate in the right image.
float mTrackProjY
 Projected y coordinate in the left image.
float mTrackProjYR
 Projected y coordinate in the right image.
float mTrackViewCosR
 Viewing cosine angles (left and right).
MapPointreference
 The map point being projected.
uint04 track_scale_levelR
 Predicted scale levels (left and right).

Detailed Description

Projects a map point into a frame and checks frustum visibility.

Stores the projected 2D coordinates, depth, scale level, and viewing cosine for both left and right views, used by the tracking system.

Definition at line 12 of file MapPointProjection.h.

Constructor & Destructor Documentation

◆ MapPointProjection()

MapPointProjection::MapPointProjection ( const Frame & frame,
MapPoint * pMP,
fltp04 view_cos_limit )
inline

Constructs a projection and checks frustum visibility.

Parameters
[in]frameThe frame to project into.
[in]pMPThe map point to project.
[in]view_cos_limitMinimum viewing cosine threshold.

Definition at line 32 of file MapPointProjection.h.

References checkInFrustum(), is_in_frustum, and reference.

Member Function Documentation

◆ checkInFrustum()

bool MapPointProjection::checkInFrustum ( const Frame & frame,
MapPoint * pMP,
fltp04 view_cos_limit )
inline

Checks whether a map point is in the camera frustum and fills tracking data.

Parameters
[in]frameThe frame to check against.
[in]pMPThe map point to check.
[in]view_cos_limitMinimum viewing cosine threshold.
Returns
True if the point is in the frustum.

Definition at line 44 of file MapPointProjection.h.

References FrameView::camera, Frame::cameraCenter(), FrameInfo::image_bounds, Frame::info(), Frame::inRefCoordinates(), isInFrustumChecks(), IsInvalid(), FrameView::keypoint_count, Frame::m_view, FrameInfo::mbf, mbTrackInView, mbTrackInViewR, mTrackDepth, mTrackProjX, mTrackProjXR, mTrackProjY, GeometricCamera::project(), and track_scale_levelR.

Referenced by MapPointProjection().

◆ isInFrustumChecks()

bool MapPointProjection::isInFrustumChecks ( const Frame & frame,
MapPoint * pMP,
float viewingCosLimit,
bool bRight = false )
inline

Checks frustum visibility for a single view (left or right).

Parameters
[in]frameThe frame to check against.
[in]pMPThe map point to check.
[in]viewingCosLimitMinimum viewing cosine threshold.
[in]bRightTrue to check the right view.
Returns
True if the point is in the frustum of the specified view.

Definition at line 119 of file MapPointProjection.h.

References FrameView::camera, Frame::cameraCenter(), Frame::GetRelativePoseTlr_translation(), Frame::GetRelativePoseTrl(), Frame::GetRotation(), FrameInfo::image_bounds, Frame::info(), Frame::m_view, mTrackDepth, mTrackDepthR, mTrackProjX, mTrackProjXR, mTrackProjY, mTrackProjYR, mTrackViewCosR, GeometricCamera::project(), Frame::tcw(), and track_scale_levelR.

Referenced by checkInFrustum().


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