12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- if(pid == 0)
- {
- line_v l(p1,p2);
- {
- point px = l.line::projection(sit_);
- sit_.set(px);
- for(int i=0;i<2;i++)
- {
- path p;
- p.m_slope[0] = atof(s[8]);
- p.m_line[0] = line_v(px,l[i]);
- sit_.m_ant[i].m_path.push_back(p);
- }
- }
- }
- else
- {
- ant &a = pid<0?sit_.m_ant[0]:sit_.m_ant[1];
- if(a.m_path.size()!=0)
- {
- path &p = a.m_path[0];
- p.m_line[abs(pid)-1] = line_v(p1,p2);
- p.m_slope[abs(pid)-1] = atof(s[8]);
- }
- else
- {
- path p;
- p.m_line[abs(pid)-1] = line_v(p1,p2);
- p.m_slope[abs(pid)-1] = atof(s[8]);
- a.m_path.push_back(p);
- }
- if(abs(pid)==1)
- sit_.set(p1);
- }
- }
- fclose(fp);
- for(auto&_s:sit_list::instance()->m_map)
- {
- auto & s = *(_s.second);
- if(s.m_id==-1)
- continue;
- s.swap();
- if((s.path(0).empty() && s.path(1).empty()))
- continue;
- s.m_path_empty=false;
- for(auto &a:s.m_ant)
- for(auto &p:a.m_path)
- {
- if(!p.m_line[0].empty())
- {
- point px = p.m_line[0].line::projection(a);
- p.m_line[0]=line_v(px,p.m_line[0][1]);
- }
- }
- //std_info("%s",s.to_string().c_str());
- log_info("%s",s.to_string().c_str());
- //std_info("%f----%f",s.x,s.y);
- }
|