diff --git a/docs/getting-started.rst b/docs/getting-started.rst index 5d3b67bb49e80178f2d79ad274e9f0b80da877a7..25d17af3566728bd9337251339960159ca476d76 100644 --- a/docs/getting-started.rst +++ b/docs/getting-started.rst @@ -108,7 +108,7 @@ A quick guide for which ``#include <...>`` directives are commonly needed: Umbrella header for all built-in mesh algorithms. Individual algorithms can be found in ``polymesh/algorithms/*``. -``polymesh/algorithms/properties.hh`` +``polymesh/properties.hh`` Basic topological and geometrical properties like face area, valence, and angle defect. ``polymesh/objects.hh`` diff --git a/src/polymesh/Mesh.hh b/src/polymesh/Mesh.hh index a24298eae05702aca18b15da0e912522f71a6b6d..42c2690620da9644f2bf10eaa1bcf8ffe02235d0 100644 --- a/src/polymesh/Mesh.hh +++ b/src/polymesh/Mesh.hh @@ -28,8 +28,8 @@ namespace polymesh * * Primitives can be removed via [primitive]().remove(...) * (removed primitives are invalidated (flagged for removal). call compactify() to remove them) * - * * `for (auto h : [primitive]())` iterates over _all_ primitives, including invalid ones - * (`for (auto h : valid_[primitive]())` skips over invalid ones) + * * `for (auto h : [primitive]())` iterates over primitives (skipping invalid ones) + * (`for (auto h : valid_[primitive]())` is slightly faster and includes invalid ones) * * * low-level operations can be performed by accessing low_level_api(mesh) * diff --git a/src/polymesh/ranges.hh b/src/polymesh/ranges.hh index f44526203dc70f6aa7946ea946cd9423e69259c6..9a6b7befaab723def05a48446205dca75b078e1c 100644 --- a/src/polymesh/ranges.hh +++ b/src/polymesh/ranges.hh @@ -435,9 +435,11 @@ struct halfedge_collection : smart_collection<Mesh*, halfedge_tag, iterator> /// O(valence) computation [[deprecated("use pm::are_adjacent instead")]] bool exists(vertex_handle v_from, vertex_handle v_to) const; - /// Collapsed the given half-edge by removing it, keeping the to_vertex, and creating new triangles + /// Collapsed the given half-edge by removing it, keeping the to_vertex /// Preserves half-edge properties but not face or vertex ones - /// Similar to a vertex collapse of the `from` vertex with triangulation towards `to` + /// This function never creates, only deletes faces, edges, vertices (depending on case) + /// NOTE: this should work for all topologies as long as the result is manifold + /// can be checked with pm::can_collapse(h) void collapse(halfedge_handle h) const; /// Splits this half-edge in half by inserting a vertex (which is returned)