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); }