iLab Neuromorphic Robotics Toolkit
0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Posture.H
Go to the documentation of this file.
1
/*! @file
2
@author Laurent Itti
3
@copyright GNU Public License (GPL v3)
4
@section License
5
@verbatim
6
// ////////////////////////////////////////////////////////////////////////
7
// The iLab Neuromorphic Robotics Toolkit (NRT) //
8
// Copyright 2010-2012 by the University of Southern California (USC) //
9
// and the iLab at USC. //
10
// //
11
// iLab - University of Southern California //
12
// Hedco Neurociences Building, Room HNB-10 //
13
// Los Angeles, Ca 90089-2520 - USA //
14
// //
15
// See http://ilab.usc.edu for information about this project. //
16
// ////////////////////////////////////////////////////////////////////////
17
// This file is part of The iLab Neuromorphic Robotics Toolkit. //
18
// //
19
// The iLab Neuromorphic Robotics Toolkit is free software: you can //
20
// redistribute it and/or modify it under the terms of the GNU General //
21
// Public License as published by the Free Software Foundation, either //
22
// version 3 of the License, or (at your option) any later version. //
23
// //
24
// The iLab Neuromorphic Robotics Toolkit is distributed in the hope //
25
// that it will be useful, but WITHOUT ANY WARRANTY; without even the //
26
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //
27
// PURPOSE. See the GNU General Public License for more details. //
28
// //
29
// You should have received a copy of the GNU General Public License //
30
// along with The iLab Neuromorphic Robotics Toolkit. If not, see //
31
// <http://www.gnu.org/licenses/>. //
32
// ////////////////////////////////////////////////////////////////////////
33
34
This code modified and converted to C++11/STL/boost from the Motion capture player for ASF/AMC motion capture
35
sequences at http://www-bcf.usc.edu/~jbarbic/
36
37
Revision 1 - Steve Lin (CMU), Jan 14, 2002
38
Revision 2 - Alla Safonova and Kiran Bhat (CMU), Jan 18, 2002
39
Revision 3 - Jernej Barbic and Yili Zhao (USC), Feb, 2012
40
41
@endverbatim */
42
43
#ifndef INCLUDE_NRT_GRAPHICS_MOCAP_POSTURE_H
44
#define INCLUDE_NRT_GRAPHICS_MOCAP_POSTURE_H
45
46
#include <
nrt/Eigen/Eigen.H
>
47
#include <map>
48
#include <nrt/External/cereal/types/map.hpp>
49
50
namespace
nrt
51
{
52
namespace
graphics
53
{
54
namespace
mocap
55
{
56
//! Root position and all bone rotation angles (including root) for a Skeleton
57
/*! This class can be used to set the rotations, translations, and elongations of all bones in a Skeleton. See the
58
Motion class for loading a vector of Posture objects from an Acclaim .AMC file.
59
\ingroup mocap */
60
struct
Posture
61
{
62
//! Posture data for each bone
63
struct
Data
64
{
65
//! Euler angles (thetax, thetay, thetaz) of bone in local coordinate system, or 0 if no DOF
66
Eigen::Vector3d
rotation
;
67
68
//! Bone translation relative to parents (resulting in gaps) (rarely used)
69
Eigen::Vector3d
translation
;
70
71
//! Bone length if it changes during the motion (rarely used)
72
double
length
;
73
74
//! Serialization
75
template
<
class
Archive>
void
serialize
(Archive & ar)
76
{ ar(
rotation
,
translation
,
length
); }
77
};
78
79
//! Map of posture data indexed by bone name
80
/*! \note special bone named 'root' has no length, just position (translation) and rotation */
81
std::map<std::string, Data>
data
;
82
83
//! Serialization
84
template
<
class
Archive>
void
serialize
(Archive & ar)
85
{ ar(
data
); }
86
};
87
}
88
}
89
}
90
91
#endif // INCLUDE_NRT_GRAPHICS_MOCAP_POSTURE_H
92
include
nrt
Graphics
MoCap
Posture.H
Generated on Tue Jul 15 2014 17:09:37 for iLab Neuromorphic Robotics Toolkit by
1.8.4