44 #ifndef _BASE_TEB_EDGES_H_
45 #define _BASE_TEB_EDGES_H_
49 #include <g2o/core/base_binary_edge.h>
50 #include <g2o/core/base_unary_edge.h>
51 #include <g2o/core/base_multi_edge.h>
67 template <
int D,
typename E,
typename VertexXi>
68 class BaseTebUnaryEdge :
public g2o::BaseUnaryEdge<D, E, VertexXi>
72 using typename g2o::BaseUnaryEdge<D, E, VertexXi>::ErrorVector;
73 using g2o::BaseUnaryEdge<D, E, VertexXi>::computeError;
90 virtual bool read(std::istream& is)
99 virtual bool write(std::ostream& os)
const
116 using g2o::BaseUnaryEdge<D, E, VertexXi>::_error;
117 using g2o::BaseUnaryEdge<D, E, VertexXi>::_vertices;
122 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
135 template <
int D,
typename E,
typename VertexXi,
typename VertexXj>
140 using typename g2o::BaseBinaryEdge<D, E, VertexXi, VertexXj>::ErrorVector;
141 using g2o::BaseBinaryEdge<D, E, VertexXi, VertexXj>::computeError;
158 virtual bool read(std::istream& is)
167 virtual bool write(std::ostream& os)
const
184 using g2o::BaseBinaryEdge<D, E, VertexXi, VertexXj>::_error;
185 using g2o::BaseBinaryEdge<D, E, VertexXi, VertexXj>::_vertices;
190 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
204 template <
int D,
typename E>
209 using typename g2o::BaseMultiEdge<D, E>::ErrorVector;
210 using g2o::BaseMultiEdge<D, E>::computeError;
213 virtual void resize(
size_t size)
215 g2o::BaseMultiEdge<D, E>::resize(size);
217 for(std::size_t i=0; i<_vertices.size(); ++i)
236 virtual bool read(std::istream& is)
245 virtual bool write(std::ostream& os)
const
262 using g2o::BaseMultiEdge<D, E>::_error;
263 using g2o::BaseMultiEdge<D, E>::_vertices;
265 const TebConfig*
cfg_;
268 EIGEN_MAKE_ALIGNED_OPERATOR_NEW