ARGoS  3
A parallel, multi-engine simulator for swarm robotics
core/utility/math/plane.h
Go to the documentation of this file.
00001 
00007 #ifndef PLANE_H
00008 #define PLANE_H
00009 
00010 namespace argos {
00011    class CPlane;
00012 }
00013 
00014 #include <argos3/core/utility/math/vector3.h>
00015 
00016 namespace argos {
00017 
00018    class CPlane {
00019 
00020    public:
00021 
00022       CPlane() :
00023          m_cNormal(CVector3::Z) {}
00024 
00025       CPlane(const CVector3& c_position,
00026              const CVector3& c_normal) :
00027          m_cPosition(c_position),
00028          m_cNormal(c_normal) {}
00029 
00030       ~CPlane() {}
00031 
00032       inline const CVector3& GetPosition() const {
00033          return m_cPosition;
00034       }
00035 
00036       inline void SetPosition(const CVector3& c_position) {
00037          m_cPosition = c_position;
00038       }
00039 
00040       inline const CVector3& GetNormal() const {
00041          return m_cNormal;
00042       }
00043 
00044       inline void SetNormal(const CVector3& c_normal) {
00045          m_cNormal = c_normal;
00046       }
00047 
00048    private:
00049 
00050       CVector3 m_cPosition;
00051       CVector3 m_cNormal;
00052 
00053    };
00054 
00055 }
00056 
00057 #endif