|
GSLAM
3.0.0
|
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)) 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;\ 20 #define GSLAM_REGISTER_MESSENGER \ 21 svar["gslam"]["setGlobalMessenger"]=GSLAM::Svar::lambda(\ 22 [](GSLAM::Messenger msg){\ 23 GSLAM::Messenger::instance()=msg;\ 26 #define GSLAM_REGISTER_APPLICATION(NAME,RUN) \ 27 EXPORT_SVAR_INSTANCE \ 28 REGISTER_SVAR_MODULE(NAME) \ 30 GSLAM_REGISTER_GLOG_SINKS \ 31 GSLAM_REGISTER_MESSENGER \ 32 svar["gslam"]["apps"][#NAME]=GSLAM::SvarFunction(RUN);\ 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();});\ 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);});\ 54 #include "Messenger.h" 58 #include "FileResource.h" 72 #include "Undistorter.h" 74 #include "Vocabulary.h"