19 #include <opencv2/core/core.hpp>
31 #define TRACK_REF_FRAME 0
32 #define FUSE_TARGET_KF 1
33 #define FUSE_CANDIDATE_KF 2
36 #define BA_GLOBAL_KF 5
37 #define LOOP_POINT_KF 6
43 WAIMapPoint(
int id,
const cv::Mat& Pos,
bool fixMp);
52 void SetWorldPos(
const cv::Mat& Pos);
53 cv::Mat GetWorldPos();
56 void SetNormal(
const cv::Mat& normal);
59 std::map<WAIKeyFrame*, size_t> GetObservations();
74 void IncreaseVisible(
int n = 1);
75 void IncreaseFound(
int n = 1);
76 float GetFoundRatio();
78 void ComputeDistinctiveDescriptors();
79 cv::Mat GetDescriptor();
80 void SetDescriptor(
const cv::Mat& descriptor);
82 void UpdateNormalAndDepth();
84 float GetMinDistanceInvariance();
85 float GetMaxDistanceInvariance();
86 int PredictScale(
const float& currentDist,
WAIKeyFrame* pF);
87 int PredictScale(
const float& currentDist,
WAIFrame* pF);
96 RefKfSource_Constructor = 1,
97 RefKfSource_EraseObservation = 2
102 size_t getSizeOfCvMat(
const cv::Mat& mat);
108 long unsigned int mnId = -1;
116 float mTrackProjX = 0.0f;
117 float mTrackProjY = 0.0f;
120 bool mbTrackInView =
false;
121 int mnTrackScaleLevel = 0;
122 float mTrackViewCos = 0.0f;
124 long unsigned int mnLastFrameSeen = 0;
140 float GetMaxDistance();
141 float GetMinDistance();
143 void SetMaxDistance(
float maxDist);
144 void SetMinDistance(
float minDist);
150 bool _loadedFromMap =
false;
177 float mfMinDistance = 0.f;
178 float mfMaxDistance = 0.f;
std::mutex mMutexFeatures
std::map< WAIKeyFrame *, size_t > mObservations
static long unsigned int nNextId
long unsigned int mnCorrectedReference
static std::mutex mGlobalMutex
static std::mutex mMutexMapPointCreation
void refKf(WAIKeyFrame *refKf)
WAIKeyFrame * refKf() const
long unsigned int mnCorrectedByKF