7 #include <orb_slam/LocalMapping.h> 
    8 #include <orb_slam/LoopClosing.h> 
    9 #include <orb_slam/Initializer.h> 
   10 #include <orb_slam/ORBmatcher.h> 
   11 #include <orb_slam/Optimizer.h> 
   12 #include <orb_slam/PnPsolver.h> 
   14 #include <opencv2/core.hpp> 
   58     WAISlam(
const cv::Mat&          intrinsic,
 
   59             const cv::Mat&          distortion,
 
   61             KPextractor*            iniExtractor,
 
   62             KPextractor*            relocExtractor,
 
   63             KPextractor*            extractor,
 
   64             std::unique_ptr<WAIMap> globalMap,
 
   75     virtual bool update(cv::Mat& imageGray);
 
   89                                                         std::pair<std::vector<cv::Point2f>,
 
   90                                             std::vector<cv::Point3f>>& matching);
 
  103         return std::vector<WAIMapPoint*>();
 
  110         return std::vector<WAIKeyFrame*>();
 
  118                 return std::string(
"TrackingState_Idle\n");
 
  121                 return std::string(
"Initializing");
 
  124                 return std::string(
"None");
 
  127                 return std::string(
"TrackingLost");
 
  130                 return std::string(
"TrackingOK");
 
  133                 return std::string(
"TrackingStart");
 
  136                 return std::string(
"");
 
  147     virtual void setMap(std::unique_ptr<WAIMap> globalMap);
 
  151     virtual void drawInfo(cv::Mat& imageBGR,
 
  155                           bool     showKeyPointsMatched);
 
KPextractor * _iniExtractor
 
std::queue< WAIFrame > _framesQueue
 
std::mutex _cameraExtrinsicGuessMutex
 
unsigned long _lastRelocFrameId
 
int getMatchedCorrespondances(WAIFrame *frame, std::pair< std::vector< cv::Point2f >, std::vector< cv::Point3f >> &matching)
 
virtual int getNumKeyFrames()
 
std::vector< WAIMapPoint * > getMatchedMapPoints(WAIFrame *frame)
 
virtual bool isInitialized()
 
void transformCoords(cv::Mat transform)
 
virtual void setCamExrinsicGuess(cv::Mat extrinsicGuess)
 
unsigned long _lastKeyFrameFrameId
 
std::string getLoopCloseStatus()
 
virtual bool update(cv::Mat &imageGray)
 
virtual bool isTracking()
 
std::mutex _lastFrameMutex
 
virtual WAITrackingState getTrackingState()
 
virtual std::vector< WAIMapPoint * > getMapPoints()
 
virtual std::string getPrintableState()
 
virtual cv::Mat getPose()
 
virtual std::vector< WAIMapPoint * > getLocalMapPoints()
 
virtual WAIFrame * getLastFramePtr()
 
void updateState(WAITrackingState state)
 
int getMapPointMatchesCount() const
 
void createFrame(WAIFrame &frame, cv::Mat &imageGray)
 
virtual void setMap(std::unique_ptr< WAIMap > globalMap)
 
virtual int getKeyFrameCount()
 
virtual bool hasStateIdle()
 
void changeIntrinsic(cv::Mat intrinsic, cv::Mat distortion)
 
KPextractor * getKPextractor()
 
int getNextFrame(WAIFrame &frame)
 
virtual void updatePoseKFIntegration(WAIFrame &frame)
 
virtual bool retainImage()
 
int getKeyFramesInLoopCloseQueueCount()
 
virtual int getKeyPointCount()
 
virtual void requestStateIdle()
 
static void updatePoseThread(WAISlam *ptr)
 
KPextractor * _relocExtractor
 
virtual void drawInfo(cv::Mat &imageBGR, float scale, bool showInitLine, bool showKeyPoints, bool showKeyPointsMatched)
 
virtual WAIFrame getLastFrame()
 
std::thread * _poseUpdateThread
 
virtual std::vector< WAIKeyFrame * > getKeyFrames()
 
virtual void updatePose(WAIFrame &frame)
 
std::mutex _frameQueueMutex
 
virtual WAIMap * getMap()
 
std::mutex _cameraExtrinsicMutex
 
WAISlam(const cv::Mat &intrinsic, const cv::Mat &distortion, WAIOrbVocabulary *voc, KPextractor *iniExtractor, KPextractor *relocExtractor, KPextractor *extractor, std::unique_ptr< WAIMap > globalMap, WAISlam::Params params)
 
unsigned int _relocFrameCounter
 
virtual int getMapPointCount()
 
float minCommonWordFactor