00001 /* 00002 * vertex_switchLinear.cpp 00003 * 00004 * Created on: 17.10.2011 00005 * Author: niko 00006 * 00007 * Updated on: 14.01.2013 00008 * Author: Christian Kerl <christian.kerl@in.tum.de> 00009 */ 00010 00011 #include "vertigo/g2o/vertex_switchLinear.h" 00012 #include <iostream> 00013 00014 using namespace std; 00015 00016 VertexSwitchLinear::VertexSwitchLinear() : 00017 _x(0) 00018 { 00019 setToOrigin(); 00020 setEstimate(1.0); 00021 } 00022 00023 bool VertexSwitchLinear:: read(std::istream& is) 00024 { 00025 is >> _x; 00026 _estimate=_x; 00027 00028 return true; 00029 } 00030 00031 bool VertexSwitchLinear::write(std::ostream& os) const 00032 { 00033 os << _x; 00034 return os.good(); 00035 } 00036 00037 void VertexSwitchLinear::setToOriginImpl() 00038 { 00039 _x=0; 00040 _estimate=_x; 00041 } 00042 00043 00044 void VertexSwitchLinear::setEstimate(const double &et) 00045 { 00046 _x=et; 00047 _estimate=_x; 00048 } 00049 00050 00051 void VertexSwitchLinear::oplusImpl(const double* update) 00052 { 00053 _x += update[0]; 00054 00055 if (_x<0) _x=0; 00056 if (_x>1) _x=1; 00057 00058 _estimate=_x; 00059 }