GSLAM  3.0.0
GSLAM.h
1 #ifndef GSLAM_CORE_H
2 #define GSLAM_CORE_H
3 
4 #define GSLAM_VERSION_MAJOR 3
5 #define GSLAM_VERSION_MINOR 0
6 #define GSLAM_VERSION_PATCH 0
7 #define GSLAM_VERSION (GSLAM_VERSION_MAJOR<<6|GSLAM_VERSION_MINOR<<4|GSLAM_VERSION_PATCH)
8 #define GSLAM_COMMAND_STRHELPER(COMMAND) #COMMAND
9 #define GSLAM_COMMAND_STR(COMMAND) GSLAM_COMMAND_STRHELPER(COMMAND)
10 #define GSLAM_VERSION_STR (GSLAM_COMMAND_STR(GSLAM_VERSION_MAJOR) "." \
11  GSLAM_COMMAND_STR(GSLAM_VERSION_MINOR) "." \
12  GSLAM_COMMAND_STR(GSLAM_VERSION_PATCH))
13 
14 #define GSLAM_REGISTER_GLOG_SINKS \
15  svar["gslam"]["setGlobalLogSinks"]=GSLAM::Svar::lambda(\
16  [](std::shared_ptr<std::set<GSLAM::LogSink *> > sinks){\
17  GSLAM::getLogSinksGlobal()=sinks;\
18  });
19 
20 #define GSLAM_REGISTER_MESSENGER \
21  svar["gslam"]["setGlobalMessenger"]=GSLAM::Svar::lambda(\
22  [](GSLAM::Messenger msg){\
23  GSLAM::Messenger::instance()=msg;\
24  });
25 
26 #define GSLAM_REGISTER_APPLICATION(NAME,RUN) \
27  EXPORT_SVAR_INSTANCE \
28  REGISTER_SVAR_MODULE(NAME) \
29 {\
30  GSLAM_REGISTER_GLOG_SINKS \
31  GSLAM_REGISTER_MESSENGER \
32  svar["gslam"]["apps"][#NAME]=GSLAM::SvarFunction(RUN);\
33 }
34 
35 #define GSLAM_REGISTER_DATASET(D,E) \
36  EXPORT_SVAR_INSTANCE \
37  REGISTER_SVAR_MODULE(E){\
38  GSLAM_REGISTER_GLOG_SINKS \
39  GSLAM_REGISTER_MESSENGER \
40  svar["gslam"]["datasets"][#E]=GSLAM::Svar::lambda([](){return (GSLAM::Dataset*)new D();});\
41 }
42 
43 #define GSLAM_REGISTER_PANEL(NAME,CLS) \
44  EXPORT_SVAR_INSTANCE \
45 REGISTER_SVAR_MODULE(NAME){\
46 GSLAM_REGISTER_GLOG_SINKS \
47 GSLAM_REGISTER_MESSENGER \
48  svar["gslam"]["panels"][#NAME]=GSLAM::Svar::lambda([](QWidget* parent,GSLAM::Svar config){\
49  return (QWidget*)new CLS(parent,config);});\
50 }
51 
52 // System Basic
53 #include "Svar.h"
54 #include "Messenger.h"
55 #include "Glog.h"
56 #include "Timer.h"
57 #include "Registry.h"
58 #include "FileResource.h"
59 
60 // Basic SLAM Objects
61 #include "Matrix.h"
62 #include "Point.h"
63 #include "SO3.h"
64 #include "SE3.h"
65 #include "SIM3.h"
66 #include "GImage.h"
67 #include "Camera.h"
68 #include "Map.h"
69 //#include "Display.h"
70 
71 // Tools
72 #include "Undistorter.h"
73 #include "Dataset.h"
74 #include "Vocabulary.h"
75 
76 //#include "GPS.h"
77 //#include "VideoFrame.h"
78 //#include "HashMap.h"
79 
80 //#include "TileProjection.h"
81 //#include "TileManager.h"
82 
83 #endif