Carna Registration API Version 1.16.0
D:/Documents/mediTEC Projects/CRA/master/include/CRA/DefaultLocalizer.h
00001 /*
00002  *  Copyright (C) 2010 - 2013 Leonid Kostrykin
00003  *
00004  *  Chair of Medical Engineering (mediTEC)
00005  *  RWTH Aachen University
00006  *  Pauwelsstr. 20
00007  *  52074 Aachen
00008  *  Germany
00009  *
00010  */
00011 
00012 #ifndef DEFAULTLOCALIZER_H_2521354512
00013 #define DEFAULTLOCALIZER_H_2521354512
00014 
00015 #include "cra_global.h"
00016 #include "Localizer.h"
00017 
00018 namespace CRA
00019 {
00020 
00021 
00022 
00023 // ----------------------------------------------------------------------------------
00024 // DefaultLocalizer
00025 // ----------------------------------------------------------------------------------
00026 
00032 class CRA_EXPORT DefaultLocalizer : public Localizer
00033 {
00034 
00035 public:
00036 
00039     enum State
00040     {
00041         ready,  
00042         asleep  
00043     };
00044 
00045 
00048     struct illegalIniFile {};
00049     
00052     struct missingIniFile {};
00053 
00054 
00062     DefaultLocalizer( const std::string& iniFile );
00063 
00066     virtual ~DefaultLocalizer();
00067 
00068 
00069     virtual bool fetch( const std::string& port, Transformation& out );
00070 
00071 
00076     void requestState( State );
00077 
00078 
00084     void loadFromIni( const std::string& iniFile );
00085 
00086 
00087 private:
00088 
00089     class Details;
00090 
00091     const std::unique_ptr< Details > pimpl;
00092 
00093 }; // DefaultLocalizer
00094 
00095 
00096 
00097 }  // namespace CRA
00098 
00099 #endif // DEFAULTLOCALIZER_H_2521354512
 All Classes Functions Variables Enumerations Enumerator