MCPcopy Create free account
hub / github.com/MapServer/MapServer / finalize_path

Method finalize_path

renderers/agg/src/agg_trans_single_path.cpp:65–101  ·  view source on GitHub ↗

------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

63
64 //------------------------------------------------------------------------
65 void trans_single_path::finalize_path()
66 {
67 if(m_status == making_path && m_src_vertices.size() > 1)
68 {
69 unsigned i;
70 double dist;
71 double d;
72
73 m_src_vertices.close(false);
74 if(m_src_vertices.size() > 2)
75 {
76 if(m_src_vertices[m_src_vertices.size() - 2].dist * 10.0 <
77 m_src_vertices[m_src_vertices.size() - 3].dist)
78 {
79 d = m_src_vertices[m_src_vertices.size() - 3].dist +
80 m_src_vertices[m_src_vertices.size() - 2].dist;
81
82 m_src_vertices[m_src_vertices.size() - 2] =
83 m_src_vertices[m_src_vertices.size() - 1];
84
85 m_src_vertices.remove_last();
86 m_src_vertices[m_src_vertices.size() - 2].dist = d;
87 }
88 }
89
90 dist = 0.0;
91 for(i = 0; i < m_src_vertices.size(); i++)
92 {
93 vertex_dist& v = m_src_vertices[i];
94 double d = v.dist;
95 v.dist = dist;
96 dist += d;
97 }
98 m_kindex = (m_src_vertices.size() - 1) / dist;
99 m_status = ready;
100 }
101 }
102
103
104

Callers

nothing calls this directly

Calls 3

remove_lastMethod · 0.80
sizeMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected