Skip to content

(HalfEdgeMesh) Improve interface for iteration

For much of HalfEdgeMesh, the interface returns a copy of the underlying storage vector, or pre-iterates through all of the elements to construct a new list. This can probably be accounted for with some clever iterable classes.

Similarly, one can currently iterate over the edges of a face with a range-based for loop:

for(const auto& e : face) {
    // do something
}

However, we currently primarily work for FacePtr, leading to the awkward syntax:

for(const auto& e : *face) {
    // do something
}

Change to face->edges()?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information