g2o
Toggle main menu visibility
Loading...
Searching...
No Matches
g2o
examples
tutorial_slam2d
parameter_se2_offset.cpp
Go to the documentation of this file.
1
// g2o - General Graph Optimization
2
// Copyright (C) 2011 R. Kuemmerle, G. Grisetti, W. Burgard
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright notice,
10
// this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above copyright
12
// notice, this list of conditions and the following disclaimer in the
13
// documentation and/or other materials provided with the distribution.
14
//
15
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
16
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
18
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
21
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27
#include "
parameter_se2_offset.h
"
28
29
#include "
vertex_se2.h
"
30
31
namespace
g2o
{
32
namespace
tutorial
{
33
34
ParameterSE2Offset::ParameterSE2Offset
() {}
35
36
void
ParameterSE2Offset::setOffset
(
const
SE2
&
offset
) {
37
_offset
=
offset
;
38
_inverseOffset
=
offset
.inverse();
39
}
40
41
bool
ParameterSE2Offset::read
(std::istream& is) {
42
double
x, y, th;
43
is >> x >> y >> th;
44
setOffset
(
SE2
(x, y, th));
45
return
true
;
46
}
47
48
bool
ParameterSE2Offset::write
(std::ostream& os)
const
{
49
os <<
_offset
.translation().x() <<
" "
<<
_offset
.translation().y() <<
" "
50
<<
_offset
.rotation().angle();
51
return
os.good();
52
}
53
54
void
CacheSE2Offset::updateImpl
() {
55
const
VertexSE2
* v =
static_cast<
const
VertexSE2
*
>
(
vertex
());
56
_n2w
= v->
estimate
() *
_offsetParam
->offset();
57
_w2n
=
_n2w
.inverse();
58
}
59
60
bool
CacheSE2Offset::resolveDependencies
() {
61
_offsetParam
=
dynamic_cast<
ParameterSE2Offset
*
>
(
_parameters
[0]);
62
return
_offsetParam
!= 0;
63
}
64
65
}
// end namespace tutorial
66
}
// namespace g2o
g2o::BaseVertex::estimate
const EstimateType & estimate() const
return the current estimate of the vertex
Definition
base_vertex.h:127
g2o::Cache::vertex
OptimizableGraph::Vertex * vertex()
Definition
cache.cpp:57
g2o::Cache::_parameters
ParameterVector _parameters
Definition
cache.h:103
g2o::tutorial::CacheSE2Offset::resolveDependencies
virtual bool resolveDependencies()
Definition
parameter_se2_offset.cpp:60
g2o::tutorial::CacheSE2Offset::_w2n
SE2 _w2n
Definition
parameter_se2_offset.h:67
g2o::tutorial::CacheSE2Offset::_n2w
SE2 _n2w
Definition
parameter_se2_offset.h:67
g2o::tutorial::CacheSE2Offset::updateImpl
virtual void updateImpl()
redefine this to do the update
Definition
parameter_se2_offset.cpp:54
g2o::tutorial::CacheSE2Offset::_offsetParam
ParameterSE2Offset * _offsetParam
Definition
parameter_se2_offset.h:66
g2o::tutorial::ParameterSE2Offset
Definition
parameter_se2_offset.h:37
g2o::tutorial::ParameterSE2Offset::_inverseOffset
SE2 _inverseOffset
Definition
parameter_se2_offset.h:52
g2o::tutorial::ParameterSE2Offset::setOffset
void setOffset(const SE2 &offset=SE2())
Definition
parameter_se2_offset.cpp:36
g2o::tutorial::ParameterSE2Offset::read
virtual bool read(std::istream &is)
read the data from a stream
Definition
parameter_se2_offset.cpp:41
g2o::tutorial::ParameterSE2Offset::ParameterSE2Offset
ParameterSE2Offset()
Definition
parameter_se2_offset.cpp:34
g2o::tutorial::ParameterSE2Offset::write
virtual bool write(std::ostream &os) const
write the data to a stream
Definition
parameter_se2_offset.cpp:48
g2o::tutorial::ParameterSE2Offset::_offset
SE2 _offset
Definition
parameter_se2_offset.h:51
g2o::tutorial::ParameterSE2Offset::offset
const SE2 & offset() const
Definition
parameter_se2_offset.h:44
g2o::tutorial::SE2
Definition
se2.h:42
g2o::tutorial::VertexSE2
2D pose Vertex, (x,y,theta)
Definition
vertex_se2.h:41
parameter_se2_offset.h
vertex_se2.h
g2o::tutorial
Definition
edge_se2.cpp:32
g2o
Definition
dl_wrapper.cpp:55
Generated on
for g2o by
1.17.0