Collision Checker
collision_object.cc
Go to the documentation of this file.
2 
3 #if ENABLE_SERIALIZER
5 #endif
6 
7 namespace collision {
8 
9 #if ENABLE_SERIALIZER
10 int CollisionObject::serialize(std::ostream &output_stream) const {
11  return serialize::serialize(this->shared_from_this(), output_stream);
12 }
13 
15  std::istream &input_stream) {
17  if (!serialize::deserialize(ret, input_stream)) {
18  return ret;
19  } else
20  return CollisionObjectConstPtr(0);
21 }
22 #endif
23 
25  std::unordered_map<const CollisionObject *,
26  std::list<CollisionObjectConstPtr>> &parent_map) const {
27  auto it = parent_map.find((const CollisionObject *)this);
28  if (it != parent_map.end()) {
29  it->second.push_back(shared_from_this());
30  } else {
31  auto newlist = std::list<CollisionObjectConstPtr>();
32  newlist.push_back(shared_from_this());
33  parent_map.emplace(this, newlist);
34  }
35 }
37  std::unordered_map<const CollisionObject *,
38  std::list<CollisionObjectConstPtr>> &parent_map,
39  CollisionObjectConstPtr parent) const {
40  auto it = parent_map.find((const CollisionObject *)this);
41  if (it != parent_map.end()) {
42  it->second.push_back(parent);
43  } else {
44  auto newlist = std::list<CollisionObjectConstPtr>();
45  newlist.push_back(parent);
46  parent_map.emplace(this, newlist);
47  }
48 }
49 
50 } // namespace collision
virtual void addParentMap(std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &parent_map) const
std::shared_ptr< const CollisionObject > CollisionObjectConstPtr
int deserialize(test::BroadphaseFailureCCObj &bf_object, std::istream &input_stream, const char *format=SERIALIZER_DEFAULT_FORMAT)
int serialize(const test::BroadphaseFailureCCObj &bf_object, std::ostream &output_stream, const char *format=SERIALIZER_DEFAULT_FORMAT)
Base class for CollisionObjects and some of their groups.