64 corner_traversal_stack_.clear();
65 corner_traversal_stack_.push_back(corner_id);
72 if (next_vert == kInvalidVertexIndex || prev_vert == kInvalidVertexIndex) {
87 while (!corner_traversal_stack_.empty()) {
89 corner_id = corner_traversal_stack_.back();
92 if (corner_id == kInvalidCornerIndex || this->
IsFaceVisited(face_id)) {
94 corner_traversal_stack_.pop_back();
101 if (vert_id == kInvalidVertexIndex) {
105 const bool on_boundary = this->
corner_table()->IsOnBoundary(vert_id);
109 corner_id = this->
corner_table()->GetRightCorner(corner_id);
110 face_id =
FaceIndex(corner_id.value() / 3);
122 (right_corner_id == kInvalidCornerIndex
124 :
FaceIndex(right_corner_id.value() / 3)));
126 (left_corner_id == kInvalidCornerIndex
128 :
FaceIndex(left_corner_id.value() / 3)));
133 corner_traversal_stack_.pop_back();
137 corner_id = left_corner_id;
138 face_id = left_face_id;
144 corner_id = right_corner_id;
145 face_id = right_face_id;
153 corner_traversal_stack_.back() = left_corner_id;
156 corner_traversal_stack_.push_back(right_corner_id);