00001 00023 #ifndef CHECK_NEIGHBOR_H_ 00024 #define CHECK_NEIGHBOR_H_ 00025 00026 #include <iostream> 00027 #include "micros_swarm/data_type.h" 00028 00029 namespace micros_swarm{ 00030 00031 class CheckNeighborInterface{ 00032 public: 00033 virtual float getNeighborDistance() = 0; 00034 virtual bool isNeighbor(const Base& self, const Base& neighbor) = 0; 00035 }; 00036 00037 class CheckNeighbor : public CheckNeighborInterface{ 00038 public: 00039 CheckNeighbor(const float& neighbor_distance); 00040 float getNeighborDistance(); 00041 bool isNeighbor(const Base& self, const Base& neighbor); 00042 private: 00043 const float& neighbor_distance_; 00044 }; 00045 }; 00046 00047 #endif