Skip to content
Snippets Groups Projects
Unverified Commit 57415f0b authored by Sam Yates's avatar Sam Yates Committed by GitHub
Browse files

Extend place_pwlin interface for multivalued. (#1124)

* Add `equal_range()` method to `pw_elements`.
* Simplify `embed_pwlin`, `place_pwlin` implementations, in particular the handling of zero-length branches.
* Scale segment positions in `embed_pwlin` by divding by branch_length, instead of multiplying by the reciprocal, as the latter is a false economy after all the caveats that need to be checked to preserve ordering and bounds.
* Add new method `place_pwlin::all_at()`, which gives all the points that correspond to a single `mlocation`.
* Add new method `place_pwlin::all_segments()`, providing the set of segments and/or partial-segments that correspond to an extent.
* Add new method `place_pwlin::segments()`, which provides a minimal set of segments and/or partial-segments that map onto an extent.
* Extend unit tests to suit.

Fixes #1116 and #1068.
parent 23a24b5a
No related branches found
No related tags found
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment