Parasol Planning Library (PPL)
CollisionDetectionValidityMethod.h
Go to the documentation of this file.
1 #ifndef PMPL_COLLISION_DETECTOR_VALIDITY_METHOD_H_
2 #define PMPL_COLLISION_DETECTOR_VALIDITY_METHOD_H_
3 
5 
6 #include "Geometry/Bodies/Body.h"
9 
11 
12 #include "nonstd/io.h"
13 
14 #include <algorithm>
15 
16 
29 
30  public:
31 
34 
36 
40 
42 
44  : ValidityCheckerMethod(_node) {}
45 
46  virtual ~CollisionDetectionValidityMethod() = default;
47 
51 
53  virtual CollisionDetectionMethod* GetCDMethod() const noexcept
54  {return nullptr;};
55 
59  virtual bool IsInsideObstacle(const Point3d& _p) = 0;
60 
66  virtual bool IsInsideObstacle(const Point3d& _p, vector<size_t>* _obstIdxs) = 0;
67 
72  virtual bool WorkspaceVisibility(const Point3d& _a, const Point3d& _b) = 0;
73 
80  virtual bool IsMultiBodyCollision(CDInfo& _cdInfo, const MultiBody* const _a,
81  const MultiBody* const _b, const std::string& _caller) = 0;
82 
84 };
85 
86 #endif
Definition: CollisionDetectionMethod.h:19
Definition: CollisionDetectionValidityMethod.h:28
virtual bool IsMultiBodyCollision(CDInfo &_cdInfo, const MultiBody *const _a, const MultiBody *const _b, const std::string &_caller)=0
ValidityCheckerMethod::GroupCfgType GroupCfg
Definition: CollisionDetectionValidityMethod.h:35
virtual bool IsInsideObstacle(const Point3d &_p)=0
virtual bool WorkspaceVisibility(const Point3d &_a, const Point3d &_b)=0
virtual ~CollisionDetectionValidityMethod()=default
virtual bool IsInsideObstacle(const Point3d &_p, vector< size_t > *_obstIdxs)=0
virtual CollisionDetectionMethod * GetCDMethod() const noexcept
Definition: CollisionDetectionValidityMethod.h:53
CollisionDetectionValidityMethod(XMLNode &_node)
Definition: CollisionDetectionValidityMethod.h:43
Definition: GroupCfg.h:39
Definition: MultiBody.h:65
Definition: ValidityCheckerMethod.h:32
Definition: XMLNode.h:27
Definition: CDInfo.h:139