NDEVR
API Documentation
KeyFrameMap.h
1#pragma once
2#include "Atlas.h"
3#include "MapPoint.h"
4#include "KeyFrame.h"
5#include "Design/Headers/Geometry.h"
6#include "Design/Headers/Model.h"
7#include <mutex>
8
9namespace NDEVR
10{
11 class Settings;
18 class KeyFrameMap : public Model
19 {
20 public:
21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
25 KeyFrameMap(const Model& model);
31 void draw(Atlas* mpAtlas, const Model& frame_model, const Matrix<fltp08>& global_offset);
37 void init();
41 static constexpr StringView TypeName() { return "orb_keypoint_map"; }
49 Model linework() const;
58 Model createKeyFrame(const Model& frame_model);
59 private:
60 Model m_reference_model;
61 Geometry m_frame_geo;
62 UUID m_last_frame_id = Constant<UUID>::Invalid;
63 Sophus::SE3f mCameraPose;
64
65 std::mutex mMutexCamera;
66
67 };
68
69
70
71}
Manages a collection of maps for the ORB-SLAM system.
Definition Atlas.h:29
A core class within the model hierarchy containing vertex-based data (Usually 3D data) within a set c...
Definition Geometry.h:143
static constexpr StringView TypeName()
Returns the type name for this model.
Definition KeyFrameMap.h:41
void draw(Atlas *mpAtlas, const Model &frame_model, const Matrix< fltp08 > &global_offset)
Draws all keyframes from the Atlas into the design model.
void createLineworkGroup()
Creates the linework group for connection visualization.
Model linework() const
Returns the linework model.
void init()
Initializes the keyframe map.
Model keypointGroup() const
Returns the keypoint group model.
Model createKeyFrame(const Model &frame_model)
Creates a new keyframe in the design model.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW KeyFrameMap(const Model &model)
Constructs a KeyFrameMap from an existing model.
void createKeyFrameGroup()
Creates the keyframe group in the design model.
Model frameRepo()
Returns the frame repository model.
Templated logic for doing matrix multiplication.
Definition Matrix.hpp:182
Model()
Default constructor. Creates an uninitialized Model.
Definition Model.h:365
The core String View class for the NDEVR API.
Definition StringView.h:58
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:61
The primary namespace for the NDEVR SDK.