iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Motion.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_MOTION_H
44 #define INCLUDE_NRT_GRAPHICS_MOCAP_MOTION_H
45 
48 
49 namespace nrt
50 {
51  namespace graphics
52  {
53  namespace mocap
54  {
55  //! Defines a Skeleton's motions
56  /*! This class is just a vector of Posture objects, one per motion frame. It can be used to read the Posture
57  objects from an Acclaim .AMC file.
58  \ingroup mocap */
59  class Motion
60  {
61  public:
62  //! Contruct from an AMC file
63  /*! \note Frame numbers present in the file are ignored. The frames are read in order and numbered
64  consecutively starting with zero.
65  \note The skeleton may be modified upon reading the AMC file, shich may specify to enable all degrees of
66  freedom in the skeleton. */
67  Motion(std::string const & amc_filename, Skeleton & skeleton);
68 
69  //! Our vector of postures, one per motion frame
70  std::vector<Posture> posture;
71  };
72  } // namespace mocap
73  } // namespace graphics
74 } // namespace nrt
75 
76 #endif // INCLUDE_NRT_GRAPHICS_MOCAP_MOTION_H
77