MCPcopy Create free account
hub / github.com/comaps/comaps / Add

Method Add

generator/metalines_builder.cpp:50–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48}
49
50bool LineString::Add(LineString & line)
51{
52 if (m_start == line.m_start || m_end == line.m_end)
53 {
54 if (!line.m_oneway)
55 line.Reverse();
56 else if (!m_oneway)
57 Reverse();
58 else
59 return false;
60 }
61
62 if (m_end == line.m_start)
63 {
64 m_ways.insert(m_ways.end(), line.m_ways.begin(), line.m_ways.end());
65 m_end = line.m_end;
66 m_oneway = m_oneway || line.m_oneway;
67 }
68 else if (m_start == line.m_end)
69 {
70 m_ways.insert(m_ways.begin(), line.m_ways.begin(), line.m_ways.end());
71 m_start = line.m_start;
72 m_oneway = m_oneway || line.m_oneway;
73 }
74 else
75 {
76 return false;
77 }
78 return true;
79}
80
81// static
82LineStringMerger::OutputData LineStringMerger::Merge(InputData const & data)

Callers 1

TryMergeOneMethod · 0.45

Calls 5

ReverseFunction · 0.85
ReverseMethod · 0.45
insertMethod · 0.45
endMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected