Point Cloud Library (PCL)  1.8.0
person_attribs.h
1 #ifndef PLC_GPU_PEOPLE_PERSON_ATTRIBS_H_
2 #define PLC_GPU_PEOPLE_PERSON_ATTRIBS_H_
3 
4 #include <string>
5 #include <vector>
6 #include <iosfwd>
7 #include <boost/shared_ptr.hpp>
8 
9 #include <pcl/pcl_exports.h>
10 
11 namespace pcl
12 {
13  namespace gpu
14  {
15  namespace people
16  {
17  class PCL_EXPORTS PersonAttribs
18  {
19  public:
20  typedef boost::shared_ptr<PersonAttribs> Ptr;
21 
22  /** \brief Constructor creates generic values from **/
23  PersonAttribs();
24 
25  /**
26  * \brief Read XML configuration file for a specific person
27  * \param[in] is input stream of file
28  * \return 0 when successfull, -1 when an error occured, datastructure might become corrupted in the process
29  **/
30  int
31  readPersonXMLConfig (std::istream& is);
32 
33  /**
34  * \brief Write XML configuration file for a specific person
35  * \param[in] os output stream of file, extension determines format
36  **/
37  void
38  writePersonXMLConfig (std::ostream& os);
39 
40  std::string name_; // Name of the person
41  std::vector<float> max_part_size_; // Max primary eigenvalue for each body part
42  std::vector<std::vector<float> > part_ideal_length_; // Ideal length between two body parts
43  std::vector<std::vector<float> > max_length_offset_; // Max allowed length offset between two body parts
44  std::vector<int> nr_of_children_; // The number of children for each part
45  };
46  }
47  }
48 }
49 
50 #endif /* PLC_GPU_PEOPLE_PERSON_ATTRIBS_H_ */
std::vector< std::vector< float > > max_length_offset_
std::vector< float > max_part_size_
boost::shared_ptr< PersonAttribs > Ptr
std::vector< std::vector< float > > part_ideal_length_
std::vector< int > nr_of_children_