orocos_kdl
src
rotational_interpolation.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Erwin Aertbelien Mon May 10 19:10:36 CEST 2004 rotational_interpolation.cxx
3
4
rotational_interpolation.cxx - description
5
-------------------
6
begin : Mon May 10 2004
7
copyright : (C) 2004 Erwin Aertbelien
8
email : erwin.aertbelien@mech.kuleuven.ac.be
9
10
***************************************************************************
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU Lesser General Public *
13
* License as published by the Free Software Foundation; either *
14
* version 2.1 of the License, or (at your option) any later version. *
15
* *
16
* This library is distributed in the hope that it will be useful, *
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19
* Lesser General Public License for more details. *
20
* *
21
* You should have received a copy of the GNU Lesser General Public *
22
* License along with this library; if not, write to the Free Software *
23
* Foundation, Inc., 59 Temple Place, *
24
* Suite 330, Boston, MA 02111-1307 USA *
25
* *
26
***************************************************************************/
27
/*****************************************************************************
28
* \author
29
* Erwin Aertbelien, Div. PMA, Dep. of Mech. Eng., K.U.Leuven
30
*
31
* \version
32
* ORO_Geometry V0.2
33
*
34
* \par History
35
* - $log$
36
*
37
* \par Release
38
* $Id: rotational_interpolation.cpp,v 1.1.1.1.2.3 2003/02/24 13:13:06 psoetens Exp $
39
* $Name: $
40
****************************************************************************/
41
42
#include "
utilities/error.h
"
43
#include "
utilities/error_stack.h
"
44
#include "
rotational_interpolation.hpp
"
45
#include "
rotational_interpolation_sa.hpp
"
46
#include <
memory
>
47
#include <
cstring
>
48
49
namespace
KDL
{
50
51
RotationalInterpolation*
RotationalInterpolation::Read
(
std::istream
& is) {
52
IOTrace
(
"RotationalInterpolation::Read"
);
53
char
storage[64];
54
EatWord
(is,
"["
,storage,
sizeof
(storage));
55
Eat
(is,
'['
);
56
if
(
strcmp
(storage,
"SINGLEAXIS"
)==0) {
57
IOTrace
(
"SINGLEAXIS"
);
58
EatEnd
(is,
']'
);
59
IOTracePop
();
60
IOTracePop
();
61
return
new
RotationalInterpolation_SingleAxis();
62
}
else
if
(
strcmp
(storage,
"THREEAXIS"
)==0) {
63
IOTrace
(
"THREEAXIS"
);
64
throw
Error_Not_Implemented();
65
EatEnd
(is,
']'
);
66
IOTracePop
();
67
IOTracePop
();
68
return
NULL;
69
}
else
if
(
strcmp
(storage,
"TWOAXIS"
)==0) {
70
IOTrace
(
"TWOAXIS"
);
71
throw
Error_Not_Implemented();
72
EatEnd
(is,
']'
);
73
IOTracePop
();
74
IOTracePop
();
75
return
NULL;
76
}
else
{
77
throw
Error_MotionIO_Unexpected_Traj();
78
}
79
return
NULL;
// just to avoid the warning;
80
}
81
82
}
std::strcmp
T strcmp(T... args)
cstring
KDL
Definition:
kukaLWR_DHnew.cpp:25
KDL::IOTrace
void IOTrace(const std::string &description)
Definition:
error_stack.cxx:46
error.h
KDL::EatEnd
void EatEnd(std::istream &is, int delim)
Definition:
utility_io.cxx:137
memory
KDL::IOTracePop
void IOTracePop()
pops a description of the IO-stack
Definition:
error_stack.cxx:51
KDL::EatWord
void EatWord(std::istream &is, const char *delim, char *storage, int maxsize)
Definition:
utility_io.cxx:197
rotational_interpolation_sa.hpp
KDL::RotationalInterpolation::Read
static RotationalInterpolation * Read(std::istream &is)
Definition:
rotational_interpolation.cpp:89
error_stack.h
KDL::Eat
void Eat(std::istream &is, int delim)
Definition:
utility_io.cxx:123
rotational_interpolation.hpp
std::istream
Generated on Tue Nov 26 2024 04:35:24 for orocos_kdl by
1.8.17