edge_se2Switchable.h
Go to the documentation of this file.
00001 /*
00002  * edge_se2Switchable.h
00003  *
00004  *  Created on: 13.07.2011
00005  *      Author: niko
00006  *
00007  *  Updated on: 14.01.2013
00008  *      Author: Christian Kerl <christian.kerl@in.tum.de>
00009  */
00010 
00011 #ifndef EDGE_SE2SWITCHABLE_H_
00012 #define EDGE_SE2SWITCHABLE_H_
00013 
00014 #include "g2o/types/slam2d/vertex_se2.h"
00015 #include "g2o/core/base_multi_edge.h"
00016 #include "g2o/core/hyper_graph_action.h"
00017 
00018 class EdgeSE2Switchable : public g2o::BaseMultiEdge<3, g2o::SE2>
00019 {
00020   public:
00021     EdgeSE2Switchable();
00022 
00023     virtual bool read(std::istream& is);
00024     virtual bool write(std::ostream& os) const;
00025     void computeError();
00026     void linearizeOplus();
00027 
00028 
00029     virtual void setMeasurement(const g2o::SE2& m){
00030       _measurement = m;
00031       _inverseMeasurement = m.inverse();
00032     }
00033 
00034     protected:
00035       g2o::SE2 _inverseMeasurement;
00036 };
00037 
00038 
00039 #ifdef G2O_HAVE_OPENGL
00040     class EdgeSE2SwitchableDrawAction: public g2o::DrawAction{
00041     public:
00042       EdgeSE2SwitchableDrawAction();
00043       virtual g2o::HyperGraphElementAction* operator()(g2o::HyperGraph::HyperGraphElement* element,
00044               g2o::HyperGraphElementAction::Parameters* params_);
00045     };
00046 #endif
00047 
00048 
00049 
00050 #endif /* EDGE_SE2SWITCHABLE_H_ */


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:16