Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create nodes at lines intersections #51

Commits on Jul 1, 2022

  1. Create nodes at lines intersections

    A node is created at the intersection and the corresponding edges
    are split accordingly.
    
    Issue: tomalrussel/snkit#15
    
    NB: the file `pyproject.toml` has beend added for testing with local
    dev files.
    jmon12 committed Jul 1, 2022
    Configuration menu
    Copy the full SHA
    82c6eba View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2022

  1. Add tests and linting

    Tests for:
     - multiple intersections
     - partially overlapping lines
     - end-node intersection
     - already split network
    
    NOTE: overlapping lines test doesn't pass!
    
    Issue: tomalrussel/snkit#15
    jmon12 committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    92d9051 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2022

  1. Handle all the possible intersection types

    There is now a recursive function extracting the points from
    intersections, in an exhaustive way (excluding polygons).
    
    The crossing restriction has been removed because it is wrong
    for overlapping segments: the corresponding test now passes.
    A notable consequence is the change in handling endpoints:
    intersections with endpoints are now accepted.
    
    Issue: tomalrussel/snkit#15
    jmon12 committed Jul 4, 2022
    Configuration menu
    Copy the full SHA
    c75ce97 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2022

  1. Handle self-intersections (loops)

    Special treatment of complex lines:
     - self-intersection points need to be found, no built-in way to do so
     - splitting a complex line at a self-intersecting point doesn't do
       what would be expected: a work around when splitting as well.
    
    NB: small fixes from @tomalrussel have been implemented
    jmon12 committed Jul 13, 2022
    Configuration menu
    Copy the full SHA
    1c3be2c View commit details
    Browse the repository at this point in the history