------------------------------------------------------------------------
| 96 | |
| 97 | //------------------------------------------------------------------------ |
| 98 | double trans_double_path::finalize_path(vertex_storage& vertices) |
| 99 | { |
| 100 | unsigned i; |
| 101 | double dist; |
| 102 | double d; |
| 103 | |
| 104 | vertices.close(false); |
| 105 | if(vertices.size() > 2) |
| 106 | { |
| 107 | if(vertices[vertices.size() - 2].dist * 10.0 < |
| 108 | vertices[vertices.size() - 3].dist) |
| 109 | { |
| 110 | d = vertices[vertices.size() - 3].dist + |
| 111 | vertices[vertices.size() - 2].dist; |
| 112 | |
| 113 | vertices[vertices.size() - 2] = |
| 114 | vertices[vertices.size() - 1]; |
| 115 | |
| 116 | vertices.remove_last(); |
| 117 | vertices[vertices.size() - 2].dist = d; |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | dist = 0; |
| 122 | for(i = 0; i < vertices.size(); i++) |
| 123 | { |
| 124 | vertex_dist& v = vertices[i]; |
| 125 | d = v.dist; |
| 126 | v.dist = dist; |
| 127 | dist += d; |
| 128 | } |
| 129 | |
| 130 | return (vertices.size() - 1) / dist; |
| 131 | } |
| 132 | |
| 133 | |
| 134 | //------------------------------------------------------------------------ |
nothing calls this directly
no test coverage detected