polygon_merger.h
Go to the documentation of this file.
00001 /*
00002  * polygon_merger.h
00003  *
00004  *  Created on: 04.07.2012
00005  *      Author: josh
00006  */
00007 
00008 #ifndef POLYGON_MERGER_H_
00009 #define POLYGON_MERGER_H_
00010 
00011 #include <vector>
00012 
00013 namespace Slam_CurvedPolygon
00014 {
00015 
00016   class PolygonData {
00017     std::vector<float> data_;
00018   public:
00019 
00020     void add(const float x, const float y) {data_.push_back(x); data_.push_back(y);}
00021 
00022     bool get(float &x, float &y) {
00023       if(data_.size()<2) return false;
00024       y = data_.back();data_.pop_back();
00025       x = data_.back();data_.pop_back();
00026       return true;
00027     }
00028 
00029     std::vector<float> &get() {return data_;}
00030     const std::vector<float> &get() const {return data_;}
00031 
00032     void clear() {data_.clear();}
00033   };
00034 
00035   void mergePolygons(const PolygonData &a, const PolygonData &b, PolygonData &out);
00036   float unionPolygons(const PolygonData &a, const PolygonData &b, PolygonData &out, bool *sw);
00037   float area(const PolygonData &a);
00038 }
00039 
00040 
00041 #endif /* POLYGON_MERGER_H_ */


cob_3d_mapping_slam
Author(s): Joshua Hampp
autogenerated on Wed Aug 26 2015 11:04:51