Skip to content
Snippets Groups Projects

Curved Polys (update)

Merged Roberto Fernandez Bautista requested to merge Qbort/kicad:curved_polys into master

Clipper does not make it feasible to pass a polygon through and get the related points back, even if you are only doing a boolean operation. All points get scrambled/re-written. So maintaining zones with arcs will require recognizing/converting arcs post-clipper.

Todo:

  • Read/write file formats
  • Plot arcs as part of polygons
  • [x] Convert clipper results to lines/arcs (see SHAPE_LINE_CHAIN::DetectArcs) (Does not work)
  • [ ] Integrate DetectArcs to Boolean calculations
  • Use Clipper Z value to detect arcs post clipper in boolean operations
  • Add unit tests using Simplify to verify that the arcs are not lost and the area not modified
  • [ ] Rewrite SHAPE_POLY_SET::Fillet so it creates true arc segments instead of just piecewise linear segments (Not needed as not using in Zone fills)

Stretch tasks:

  • [ ] Detect intersections between arcs post Clipper and amend the intersection point (Not needed as not using in Zone fills)
Edited by Jon Evans

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 1 commit

    • 1462248d - Add qa test for SHAPE_LINE_CHAIN::DetectArcs

    Compare with previous version

  • added 605 commits

    • 1462248d...d7e44b51 - 596 commits from branch kicad/code:master
    • fef21e0a - ADDED support for reading/writing arcs in polys
    • 9f8fb433 - Removing CLIPPER poly support
    • 0a11b2c9 - Adding conversion from points to arcs
    • 5b87965c - De-scope ClipperLib namespace
    • 002643fb - WIP
    • c7af6fe2 - Add CIRCLE::Contains( VECTOR2I aP )
    • d716d21d - Fix Rebase issues
    • 536680a2 - Implement SHAPE_LINE_CHAIN::DetectArcs to detect arcs in the chain
    • 63f6b44e - Add qa test for SHAPE_LINE_CHAIN::DetectArcs

    Compare with previous version

  • added 1 commit

    • 9e27136d - Cleanup function comments in CIRCLE

    Compare with previous version

  • added 2 commits

    • fb2c23fe - SHAPE_POLY_SET: Detect arcs after boolean operations
    • f4b88399 - Add qa test for SHAPE_POLY_SET::Simplify()

    Compare with previous version

  • added 2 commits

    • ff8d045b - Add qa test for SHAPE_POLY_SET::Simplify()
    • 62731afb - Refactor SHAPE_LINE_CHAIN to allow two shapes per point

    Compare with previous version

  • added 2 commits

    • 7bc1d304 - SHAPE_LINE_CHAIN::Area() should always be positive
    • 198d1062 - WIP SplitArc

    Compare with previous version

  • added 3 commits

    • 8a3cd48a - Refactor SHAPE_LINE_CHAIN to allow two shapes per point
    • e07de859 - SHAPE_LINE_CHAIN::Area() should always be positive
    • afe5711c - WIP SplitArc

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading