base
JointsTrajectory.hpp
Go to the documentation of this file.
1 #ifndef BASE_JOINTSTRAJECTORY_HPP
2 #define BASE_JOINTSTRAJECTORY_HPP
3 
4 #include <vector>
5 #include <base/JointState.hpp>
6 #include <base/samples/Joints.hpp>
7 #include <base/NamedVector.hpp>
8 #include <base/Time.hpp>
9 
10 namespace base {
11 
12 typedef std::vector<JointState> JointTrajectory;
13 
33  : public NamedVector<JointTrajectory>
34 {
38  struct InvalidTimeStep : public std::runtime_error
39  {
40  size_t time_step;
41  InvalidTimeStep(size_t const& time_step)
42  : std::runtime_error("trying to access time_step which is out of range."),
43  time_step(time_step) {}
44 
45  ~InvalidTimeStep() throw() {}
46  };
47 
54  std::vector<base::Time> times;
55 
58  bool isValid() const;
59 
60  void resize(int num_joints, int num_samples);
61 
62  void resize(int num_joints);
63 
73 
77  bool isTimed() const;
78 
82  size_t getTimeSteps() const;
83 
87  size_t getNumberOfJoints() const;
88 
92  base::Time getDuration() const;
93 };
94 
95 }
96 
97 #endif
98 
std::vector< base::Time > times
optional array of time values corresponding to the samples of the JointState
Definition: JointsTrajectory.hpp:54
bool isTimed() const
Definition: JointsTrajectory.cpp:47
InvalidTimeStep(size_t const &time_step)
Definition: JointsTrajectory.hpp:41
Definition: NamedVector.hpp:12
Holds a time-series of JointStates for multiple joints.
Definition: JointsTrajectory.hpp:32
Definition: Time.hpp:11
std::vector< JointState > JointTrajectory
Definition: JointsTrajectory.hpp:12
Definition: Joints.hpp:17
size_t getNumberOfJoints() const
Definition: JointsTrajectory.cpp:60
size_t getTimeSteps() const
Definition: JointsTrajectory.cpp:52
Definition: JointsTrajectory.hpp:38
base::Time getDuration() const
Definition: JointsTrajectory.cpp:65
bool isValid() const
Definition: JointsTrajectory.cpp:5
Definition: LinearAngular6DCommand.hpp:8
void resize(int num_joints, int num_samples)
Definition: JointsTrajectory.cpp:21
size_t time_step
Definition: JointsTrajectory.hpp:40
void getJointsAtTimeStep(size_t time_step, base::samples::Joints &joints)
Extracts the base::samples::Joints structure at a given time step.
Definition: JointsTrajectory.cpp:35
~InvalidTimeStep()
Definition: JointsTrajectory.hpp:45