NDEVR
API Documentation
types_seven_dof_expmap.h
1
#pragma once
2
#include "base_vertex.h"
3
#include "base_binary_edge.h"
4
#include "OptimizableTypes.h"
5
#include "sim3.h"
6
namespace
NDEVR
7
{
9
class
EdgeSim3 :
public
BaseBinaryEdge
<7, Sim3, VertexSim3Expmap, VertexSim3Expmap>
10
{
11
public
:
12
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
13
EdgeSim3()
14
:
BaseBinaryEdge<7, Sim3, VertexSim3Expmap, VertexSim3Expmap>
()
15
{}
17
void
computeError
()
18
{
19
Sim3
error_ =
_measurement
*
m_a
->estimate() *
m_b
->estimate().inverse();
20
_error
= error_.
log
();
21
//if (!_error.array().isFinite().all())
22
//throw "error";
23
}
24
};
25
}
26
BaseBinaryEdge< 7, Sim3, VertexSim3Expmap, VertexSim3Expmap >::m_b
VertexSim3Expmap * m_b
Definition
base_binary_edge.h:351
BaseBinaryEdge< 7, Sim3, VertexSim3Expmap, VertexSim3Expmap >::m_a
VertexSim3Expmap * m_a
Definition
base_binary_edge.h:350
BaseBinaryEdge< 7, Sim3, VertexSim3Expmap, VertexSim3Expmap >::BaseBinaryEdge
BaseBinaryEdge()
Definition
base_binary_edge.h:42
BaseEdge< D, Sim3 >::_measurement
Measurement _measurement
Definition
base_edge.h:75
BaseEdge< D, Sim3 >::_error
ErrorVector _error
Definition
base_edge.h:76
EdgeSim3::computeError
void computeError()
Computes the error as the logarithm of the relative Sim3 difference.
Definition
types_seven_dof_expmap.h:17
NDEVR
The primary namespace for the NDEVR SDK.
Definition
ArialTileFetcherModule.h:35
Sim3
Similarity transformation in 3D (rotation + translation + scale).
Definition
sim3.h:13
Sim3::log
Vector7d log() const
Computes the logarithmic map (Sim3 -> 7D tangent vector).
Definition
sim3.h:135
GraphOptimization
Headers
types_seven_dof_expmap.h
NDEVR.org