| 115 | } |
| 116 | |
| 117 | auto DualEdgePathsBuider::reachNext() -> CandidateFace |
| 118 | { |
| 119 | while ( !nextSteps_.empty() ) |
| 120 | { |
| 121 | const auto c = nextSteps_.top(); |
| 122 | nextSteps_.pop(); |
| 123 | if ( distances_[c.f] < c.penalty ) |
| 124 | { |
| 125 | // shorter path to the face was found |
| 126 | continue; |
| 127 | } |
| 128 | assert( distances_[c.f] == c.penalty ); |
| 129 | return c; |
| 130 | } |
| 131 | return {}; |
| 132 | } |
| 133 | |
| 134 | |
| 135 | auto DualEdgePathsBuider::growOneEdge() -> CandidateFace |
no test coverage detected