Collision Checker
boost_collision_object.h
Go to the documentation of this file.
1 #ifndef CPP_COLLISION_INCLUDE_COLLISION_SOLVERS_BOOST_BOOST_COLLISION_OBJECT_H_
2 #define CPP_COLLISION_INCLUDE_COLLISION_SOLVERS_BOOST_BOOST_COLLISION_OBJECT_H_
3 
4 #include <Eigen/Dense>
5 #include <atomic>
6 #include <memory>
7 
12 
13 namespace collision {
14 namespace solvers {
15 namespace solverBoost {
17  public:
18  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
19 
21  m_parent = parent;
23  }
24 
26  m_parent = copy.m_parent;
28  };
29 
32  }
33 
34  virtual ~BoostCollisionObject() {}
35 
36  std::shared_ptr<BoostObjectInternal> getCollisionObject_boost(void) const;
37 
38  virtual void invalidateSolverEntityCache(void) const override {
40  }
41 
42  const CollisionObject *getParent(void) const { return m_parent; }
43 
44  protected:
46  inline void invaldateCollisionObjectCache(void) const {
47  object_cached = false;
48  }
49 
50  private:
51  mutable std::shared_ptr<BoostObjectInternal> boost_obj;
52  mutable bool object_cached;
53 };
54 
55 typedef std::shared_ptr<const BoostCollisionObject>
57 
58 } // namespace solverBoost
59 } // namespace solvers
60 } // namespace collision
61 
62 #endif /* CPP_COLLISION_INCLUDE_COLLISION_SOLVERS_BOOST_BOOST_COLLISION_OBJECT_H_ \
63  */
std::shared_ptr< BoostObjectInternal > getCollisionObject_boost(void) const
virtual BOOST_COLLISION_ENTITY_TYPE getBoostEntityType(void) const
virtual void invalidateSolverEntityCache(void) const override
std::shared_ptr< const BoostCollisionObject > BoostCollisionObjectConstPtr
EIGEN_MAKE_ALIGNED_OPERATOR_NEW BoostCollisionObject(const CollisionObject *parent)
Base class for CollisionObjects and some of their groups.