66 if (prediction_degree_.size() == 0) {
73 traversal_stacks_[0].push_back(corner_id);
97 while ((corner_id = PopNextCornerToTraverse()) != kInvalidCornerIndex) {
106 face_id =
FaceIndex(corner_id.value() / 3);
125 (right_corner_id == kInvalidCornerIndex
127 :
FaceIndex(right_corner_id.value() / 3)));
129 (left_corner_id == kInvalidCornerIndex
131 :
FaceIndex(left_corner_id.value() / 3)));
132 const bool is_right_face_visited = this->
IsFaceVisited(right_face_id);
133 const bool is_left_face_visited = this->
IsFaceVisited(left_face_id);
135 if (!is_left_face_visited) {
137 const int priority = ComputePriority(left_corner_id);
138 if (is_right_face_visited && priority <= best_priority_) {
143 corner_id = left_corner_id;
146 AddCornerToTraversalStack(left_corner_id, priority);
149 if (!is_right_face_visited) {
151 const int priority = ComputePriority(right_corner_id);
152 if (priority <= best_priority_) {
155 corner_id = right_corner_id;
158 AddCornerToTraversalStack(right_corner_id, priority);