smurf
Collidable.hpp
Go to the documentation of this file.
1 #ifndef COLLIDABLE_H
2 #define COLLIDABLE_H
3 
4 #include <string>
5 #include <urdf_model/model.h>
6 #include "ContactParams.hpp"
7 
8 #include <boost/serialization/access.hpp>
9 #include <boost/serialization/export.hpp>
10 
11 namespace smurf{
12 
13  class Collidable
14  {
15  public:
17  Collidable(const std::string& name, const ContactParams contact_params, const urdf::Collision& collision);
18  std::string getName() const
19  {
20  return this->name;
21  }
22  urdf::Collision getCollision() const
23  {
24  return this->collision;
25  }
26  void setGroupId(const int id)
27  {
28  this->groupId = id;
29  }
30  int getGroupId() const
31  {
32  return this->groupId;
33  }
35  {
36  return this->contact_params;
37  }
38 
39  bool operator==(const Collidable& other) const;
40  bool operator!=(const Collidable& other) const;
41 
44 
46  template <typename Archive>
47  void serialize(Archive &ar, const unsigned int version)
48  {
49  throw std::runtime_error("smurf::Collidable::serialize not implemented");
50  }
51 
52  private:
53  std::string name;
54  urdf::Collision collision;
55  int groupId;
56  ContactParams contact_params;
57  };
58 
59 };
60 
61 #endif // COLLIDABLE_H
bool operator==(const Collidable &other) const
Definition: Collidable.cpp:10
urdf::Collision getCollision() const
Definition: Collidable.hpp:22
void setGroupId(const int id)
Definition: Collidable.hpp:26
void serialize(Archive &ar, const unsigned int version)
Definition: Collidable.hpp:47
Collidable()
Definition: Collidable.hpp:16
ContactParams getContactParams() const
Definition: Collidable.hpp:34
Definition: Collidable.hpp:13
Definition: ContactParams.hpp:7
std::string getName() const
Definition: Collidable.hpp:18
friend class boost::serialization::access
Definition: Collidable.hpp:43
bool operator!=(const Collidable &other) const
Definition: Collidable.cpp:16
int getGroupId() const
Definition: Collidable.hpp:30
Definition: Collidable.hpp:11