HEBI C++ API  1.0.0-rc1
group_info.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "hebi_group_info.h"
4 #include "Eigen/Eigen"
5 #include "info.hpp"
6 #include <vector>
7 
8 namespace hebi {
9 
14 class GroupInfo final
15 {
16  public:
17  #ifndef DOXYGEN_OMIT_INTERNAL
18 
22  HebiGroupInfoPtr internal_;
23  #endif // DOXYGEN_OMIT_INTERNAL
24 
25  private:
30  const bool manage_pointer_lifetime_;
34  const int number_of_modules_;
38  std::vector<Info> infos_;
39 
40  public:
44  GroupInfo(int number_of_modules);
45 
49  virtual ~GroupInfo() noexcept; /* annotating specified destructor as noexcept is best-practice */
50 
54  int size() const;
55 
59  const Info& operator[](int index) const;
60 
64  Eigen::VectorXd getSpringConstant() const;
65 
69  void getSpringConstant(Eigen::VectorXd& out) const;
70 
71 };
72 
73 } // namespace hebi
A list of Info objects that can be received from a Group of modules; the size() must match the number...
Definition: group_info.hpp:14
const Info & operator[](int index) const
Access the info for an individual module.
Definition: group_info.cpp:25
Definition: color.hpp:5
Info objects have various fields representing the module state; which fields are populated depends on...
Definition: info.hpp:29
int size() const
Returns the number of module infos in this group info.
Definition: group_info.cpp:20
Eigen::VectorXd getSpringConstant() const
Convenience function for returning spring constant values.
Definition: group_info.cpp:30
virtual ~GroupInfo() noexcept
Destructor cleans up group info object as necessary.
Definition: group_info.cpp:14
GroupInfo(int number_of_modules)
Create a group info with the specified number of modules.
Definition: group_info.cpp:5