Parasol Planning Library (PPL)
ComposeCollision.h
Go to the documentation of this file.
1 #ifndef PMPL_COMPOSE_COLLISION_H_
2 #define PMPL_COMPOSE_COLLISION_H_
3 
5 
6 #include "Geometry/Bodies/Body.h"
9 
11 
12 
19 
20  public:
21 
24 
26 
28 
32 
34 
35  ComposeCollision(XMLNode& _node);
36 
37  virtual ~ComposeCollision() = default;
38 
42 
46  virtual bool IsInsideObstacle(const Point3d& _p) override;
47 
53  virtual bool IsInsideObstacle(const Point3d& _p, vector<size_t>* _obstIdxs);
54 
59  virtual bool WorkspaceVisibility(const Point3d& _a, const Point3d& _b) override;
60 
67  virtual bool IsMultiBodyCollision(CDInfo& _cdInfo, const MultiBody* const _a,
68  const MultiBody* const _b, const std::string& _caller) override;
69 
71 
72  protected:
73 
76 
77  virtual bool IsValidImpl(Cfg& _cfg, CDInfo& _cdInfo,
78  const std::string& _caller) override;
79 
80  virtual bool IsValidImpl(GroupCfg& _cfg, CDInfo& _cdInfo,
81  const std::string& _caller) override;
82 
86 
88  std::vector<std::string> m_cdLabels;
89 
91 };
92 
93 #endif
Definition: Cfg.h:38
Definition: CollisionDetectionValidityMethod.h:28
Definition: ComposeCollision.h:18
virtual bool WorkspaceVisibility(const Point3d &_a, const Point3d &_b) override
Definition: ComposeCollision.cpp:101
virtual bool IsMultiBodyCollision(CDInfo &_cdInfo, const MultiBody *const _a, const MultiBody *const _b, const std::string &_caller) override
Definition: ComposeCollision.cpp:148
std::vector< std::string > m_cdLabels
The CD labels to combine.
Definition: ComposeCollision.h:88
ComposeCollision()
Definition: ComposeCollision.cpp:11
LogicalOperator
Definition: ComposeCollision.h:27
@ OR
Definition: ComposeCollision.h:27
@ AND
Definition: ComposeCollision.h:27
LogicalOperator m_operator
The logical operator joining CD's.
Definition: ComposeCollision.h:87
MPBaseObject::GroupCfgType GroupCfg
Definition: ComposeCollision.h:25
virtual ~ComposeCollision()=default
virtual bool IsValidImpl(Cfg &_cfg, CDInfo &_cdInfo, const std::string &_caller) override
Definition: ComposeCollision.cpp:198
virtual bool IsInsideObstacle(const Point3d &_p) override
Definition: ComposeCollision.cpp:46
Definition: GroupCfg.h:39
Definition: MultiBody.h:65
Definition: XMLNode.h:27
Definition: CDInfo.h:139