CalculateRotation.cpp
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package navigation::NavigationCommands
17 * @author armar-user ( armar6 at kit )
18 * @date 2022
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#include "CalculateRotation.h"
24
25#include <Eigen/Core>
26#include <Eigen/Geometry>
27
28#include <SimoxUtility/math/convert/deg_to_rad.h>
29
31
33{
34 // DO NOT EDIT NEXT LINE
35 CalculateRotation::SubClassRegistry
36 CalculateRotation::Registry(CalculateRotation::GetName(),
38
39 void
41 {
42 // put your user code for the enter-point here
43 // execution time should be short (<100ms)
44 }
45
46 void
48 {
49 const float rotation = simox::math::deg_to_rad(in.getrotationDegrees());
50
51 const Eigen::Isometry3f robotRelativeMovement(
52 (Eigen::AngleAxisf(rotation, Eigen::Vector3f::UnitZ())));
53
54 out.setrelativePose(toIce(robotRelativeMovement.matrix()));
55 emitSuccess();
56 }
57
58 //void CalculateRotation::onBreak()
59 //{
60 // // put your user code for the breaking point here
61 // // execution time should be short (<100ms)
62 //}
63
64 void
66 {
67 // put your user code for the exit point here
68 // execution time should be short (<100ms)
69 }
70
71 // DO NOT EDIT NEXT FUNCTION
77} // namespace armarx::navigation::statecharts::navigation_commands
static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData)
IceInternal::Handle< XMLStateFactoryBase > XMLStateFactoryBasePtr
Definition XMLState.h:64
void toIce(std::map< IceKeyT, IceValueT > &iceMap, const boost::container::flat_map< CppKeyT, CppValueT > &cppMap)