Go to the documentation of this file.00001
00013 #ifndef LGL_VISIBLEAREA_HPP
00014 #define LGL_VISIBLEAREA_HPP
00015
00016 #include <lgl/GeoData.hpp>
00017 #include <lgl/NavGNode.hpp>
00018 #include <lgl/CellID.hpp>
00019
00020 #include <set>
00021
00022 #ifndef DEFAULT_VIEW_LENGTH
00023 #define DEFAULT_VIEW_LENGTH 10.0
00024 #endif
00025
00026 namespace jafar {
00027 namespace lgl {
00028
00034 class VisibleArea {
00036 private :
00037
00038 Cell_ID originalVertex ;
00039
00040
00041
00042 unsigned long int xsize ;
00043 unsigned long int ysize ;
00044
00045
00046 public:
00047
00048 std::set<Cell_ID> visibleArea ;
00049
00050
00053 VisibleArea() : originalVertex (0), xsize(0), ysize(0) {}
00054
00057 VisibleArea( Cell_ID _originalVertex,
00058 const unsigned long int &_xsize,
00059 const unsigned long int &_ysize
00060 ):
00061 originalVertex (_originalVertex),
00062 xsize(_xsize),
00063 ysize(_ysize)
00064 {
00065 }
00066
00069 ~VisibleArea(){}
00070
00073 void updateArea ( const std::set<Cell_ID> &otherArea );
00074
00075
00078 Cell_ID getOriginalVertex() const;
00079
00080 unsigned long int getxsize() const;
00081 unsigned long int getysize() const;
00082
00085 void printVisibleArea() ;
00086
00087 };
00088
00089 std::ostream& operator<<(std::ostream& out, const VisibleArea &_visibleArea);
00090
00091 }
00092 }
00093
00094 #endif