예제 #1
0
파일: connect.hpp 프로젝트: WilstonOreo/GEx
        void operator()(linestring_type& _a, const linestring_type& _b, JUNCTION _j)
        {
          if (_b.empty())
          {
            return;
          }
          if (_a.empty())
          {
            _a = _b;
            return;
          }

          _j(_a,_b,_a);
          _a.insert(_a.end(),_b.begin()+1,_b.end());
        }
예제 #2
0
파일: connect.hpp 프로젝트: WilstonOreo/GEx
        void operator()(const linestring_type& _a, const linestring_type& _b, output_type& _output, JUNCTION _j)
        {
          if (_a.empty())
          {
            _output = _b;
            return;
          }
          if (_b.empty())
          {
            _output = _a;
            return;
          }

          _output.insert(_output.end(),_a.begin(),_a.end()-1);
          _j(_a,_b,_output);
          _output.insert(_output.end(),_b.begin()+1,_b.end());
        }
예제 #3
0
파일: connect.hpp 프로젝트: WilstonOreo/GEx
 void operator()(const segment_type& _a, const linestring_type& _b, output_type& _out, JUNCTION _j)
 {
   if (_b.empty())
   {
     _out.push_back(_a.front());
     _out.push_back(_a.back());
     return;
   }
   _out.push_back(_a.front());
   _j(_a,_b,_out);
   _out.insert(_out.end(),_a.begin()+1,_a.end());
 }