ARGoS  3
A parallel, multi-engine simulator for swarm robotics
plane.h
Go to the documentation of this file.
1 
7 #ifndef PLANE_H
8 #define PLANE_H
9 
10 namespace argos {
11  class CPlane;
12  class CRay3;
13 }
14 
15 #include <argos3/core/utility/math/vector3.h>
16 
17 namespace argos {
18 
19  class CPlane {
20 
21  public:
22 
23  CPlane() :
24  m_cNormal(CVector3::Z) {}
25 
26  CPlane(const CVector3& c_position,
27  const CVector3& c_normal) :
28  m_cPosition(c_position),
29  m_cNormal(c_normal) {}
30 
31  ~CPlane() {}
32 
33  inline const CVector3& GetPosition() const {
34  return m_cPosition;
35  }
36 
37  inline void SetPosition(const CVector3& c_position) {
38  m_cPosition = c_position;
39  }
40 
41  inline const CVector3& GetNormal() const {
42  return m_cNormal;
43  }
44 
45  inline void SetNormal(const CVector3& c_normal) {
46  m_cNormal = c_normal;
47  }
48 
49  bool Intersects(Real& f_t_on_ray,
50  const CRay3& c_ray);
51 
52  private:
53 
54  CVector3 m_cPosition;
55  CVector3 m_cNormal;
56 
57  };
58 
59 }
60 
61 #endif
argos::CPlane::CPlane
CPlane()
Definition: plane.h:23
argos::CPlane::GetPosition
const CVector3 & GetPosition() const
Definition: plane.h:33
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CVector3
A 3D vector class.
Definition: vector3.h:29
argos::CRay3
Definition: ray3.h:19
argos::CPlane::SetPosition
void SetPosition(const CVector3 &c_position)
Definition: plane.h:37
argos::CPlane::Intersects
bool Intersects(Real &f_t_on_ray, const CRay3 &c_ray)
Definition: plane.cpp:9
argos::CPlane
Definition: plane.h:19
argos::CPlane::~CPlane
~CPlane()
Definition: plane.h:31
argos::CPlane::GetNormal
const CVector3 & GetNormal() const
Definition: plane.h:41
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
argos::CPlane::SetNormal
void SetNormal(const CVector3 &c_normal)
Definition: plane.h:45
argos::CPlane::CPlane
CPlane(const CVector3 &c_position, const CVector3 &c_normal)
Definition: plane.h:26