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

Add Bentley-Ottman Algorithm #1143

Closed
wants to merge 423 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
423 commits
Select commit Hold shift + click to select a range
0f0438c
Preserve the CRS with the `withcrs` function (#938)
eliascarv Jul 15, 2024
8a3f78e
Refactor orientation.jl
juliohm Jul 16, 2024
e8e4581
Add CRS testset (#939)
eliascarv Jul 16, 2024
f1bf6c0
:robot: Format .jl files (#940)
github-actions[bot] Jul 16, 2024
3952df4
Refactor the implementation of the `rand` function (#941)
eliascarv Jul 17, 2024
74ab533
Remove `Dim` from types (#942)
eliascarv Jul 19, 2024
fcc47f9
:robot: Format .jl files (#946)
github-actions[bot] Jul 19, 2024
87974a3
Remove 'Dim' from 'getindex' of 'TransformedGrid' (#949)
eliascarv Jul 19, 2024
0c9e1cc
Rename Overlaps -> Within
juliohm Jul 20, 2024
5f02da7
Fix #944: remove unreliable time test
juliohm Jul 20, 2024
460d4f9
Move matrices.md to meshes.md
juliohm Jul 21, 2024
e61f0ac
Fix isperiodic for Ball, Sphere and Ellipsoid
juliohm Jul 22, 2024
71cd70d
Fix docstring of GridTopology
juliohm Jul 23, 2024
29a6856
Fix Review `orientation` in 3D #943
juliohm Jul 23, 2024
073fc68
Improve docs
juliohm Jul 23, 2024
9704a3f
Implement partial order (#951)
juliohm Jul 23, 2024
5c8f810
Add support for non-Euclidean manifolds (#947)
juliohm Jul 24, 2024
0bbb1c5
:robot: Format .jl files (#953)
github-actions[bot] Jul 24, 2024
6552d9c
Bump version
juliohm Jul 24, 2024
0982db5
Remove warnings from viz recipes
juliohm Jul 25, 2024
67fb0cf
Bridge hotfix (#955)
juliohm Jul 25, 2024
c7db024
Refactor flat util
juliohm Jul 25, 2024
824299f
'applycoord' hotfix (#956)
eliascarv Jul 25, 2024
61ac9e4
Remove tcollect from Shadow
juliohm Jul 25, 2024
df54311
Updates for latest CRS.jl
juliohm Jul 25, 2024
ed6e301
Bump version
juliohm Jul 25, 2024
68dd30b
Remove uses of tcollect
juliohm Jul 25, 2024
bcdaeef
Fix #952 - Drop Transducers.jl
juliohm Jul 25, 2024
f43e113
Bump version
juliohm Jul 25, 2024
3a6e3b1
Fix collectat util
juliohm Jul 26, 2024
ce815e1
Add `Repair{11}` and `Repair{12}` (#959)
eliascarv Jul 26, 2024
c22f783
Refactor PolyArea constructor (#960)
juliohm Jul 26, 2024
2d784f8
Add `Repair` fallbacks (#961)
eliascarv Jul 26, 2024
2c8ff36
Update docs
juliohm Jul 26, 2024
7cb69db
Bump version
juliohm Jul 26, 2024
49feecd
Rename AbstractManifold to Manifold
juliohm Jul 26, 2024
e416adf
Update mention of ExactPredicates.jl to also mention AdaptivePredicat…
DanielVandH Jul 28, 2024
d5079aa
Allow custom atols using scoped values (#962)
JoshuaLampert Jul 28, 2024
bf37a14
[AUTO] JuliaFormatter.jl run (#964)
github-actions[bot] Jul 28, 2024
33c659f
Refactor flat util
juliohm Jul 29, 2024
47df422
Perturbation technique in clip
juliohm Jul 29, 2024
455c8b7
Bump version
juliohm Jul 29, 2024
24858f7
Group utils in separate files
juliohm Jul 29, 2024
904a6d9
:robot: Format .jl files (#966)
github-actions[bot] Jul 29, 2024
7bee2be
Use julia-format action (#965)
JoshuaLampert Jul 29, 2024
ad4ea29
Refactor intersectpoint
juliohm Jul 29, 2024
2f3bc3a
Add more ordering relations
juliohm Jul 30, 2024
f8cd72c
Bump version
juliohm Jul 30, 2024
9dfac9f
Update docs
juliohm Jul 30, 2024
9c011fd
Update docs
juliohm Jul 30, 2024
8ead501
Add 'Repair' method for 'Multi' (#967)
eliascarv Jul 30, 2024
6d747f2
Update Project.toml
juliohm Jul 30, 2024
ba63daf
signarea is only a helper function
juliohm Jul 31, 2024
0ff5d65
Improve docstring of measure
juliohm Jul 31, 2024
58ecde2
Fast measure for polygons embedded in E{2} (#969)
juliohm Jul 31, 2024
db36f54
Dispatch with Manifold in `discretize` methods (#968)
eliascarv Jul 31, 2024
8cb14ce
Fix orientation with LatLon coords (#970)
juliohm Jul 31, 2024
ec6ad2c
Update Project.toml
juliohm Jul 31, 2024
f29f9f0
Improve type stability in Bridge
juliohm Aug 1, 2024
235fad7
Make Bridge type stable
juliohm Aug 1, 2024
7e3fc03
escape underscore in docstring link (#972)
disberd Aug 1, 2024
f127260
Improve docs
juliohm Aug 1, 2024
9a8df53
TransformedMesh: Handle transforms that change the Manifold and/or CR…
eliascarv Aug 1, 2024
a28e47c
Update Project.toml
juliohm Aug 2, 2024
2e1e458
Fix 'TransformedGrid' alias (#975)
eliascarv Aug 2, 2024
4f23699
Make 'DehnTriangulation' type-stable (#976)
eliascarv Aug 2, 2024
57be2c9
Improve docs
juliohm Aug 2, 2024
344d0f7
Bump version
juliohm Aug 2, 2024
50b4f1b
Rename discretization methods (#977)
eliascarv Aug 2, 2024
432c3be
Make VoronoiTessellation respect input order and improve performance …
disberd Aug 6, 2024
072680f
Optimize viz of `TransformedGrid` with `Proj` transform (#981)
eliascarv Aug 6, 2024
1fa0329
Use efficient point in poly for 2D Ngon (#983)
juliohm Aug 6, 2024
96b458c
Update Project.toml
juliohm Aug 6, 2024
5d62b07
Implement reverse for Segment
juliohm Aug 7, 2024
43af54c
Update `Proj` show (#985)
eliascarv Aug 7, 2024
d4c1891
Update 'Repair' show (#986)
eliascarv Aug 7, 2024
6aa7dbd
Handle orientation in measure of 2D Polygon
juliohm Aug 7, 2024
020ca78
Update Project.toml
juliohm Aug 7, 2024
f8787fa
Add outer ctor for Repair (#987)
juliohm Aug 8, 2024
35b999d
Update Project.toml
juliohm Aug 8, 2024
78fc133
Refactor viz for TransformedGrid (#990)
juliohm Aug 8, 2024
7b5fcad
Fix show of big meshes (#991)
eliascarv Aug 8, 2024
14cb7b6
Fix fallback for Base.in predicate
juliohm Aug 8, 2024
a089e10
Use 'paramdim' in grid methods instead of 'embeddim' (#992)
eliascarv Aug 8, 2024
858c84f
Add support for `TransformedGrid` in `RegularCoarsening` and `Regular…
eliascarv Aug 8, 2024
8b48de4
Update Project.toml
juliohm Aug 8, 2024
52e86a2
Make sideof(::Point, ::Ring) serial when convenient (#993)
disberd Aug 9, 2024
1ee56ba
Update Project.toml
juliohm Aug 9, 2024
715f446
Optimize centroid of TransformedMesh (#995)
juliohm Aug 9, 2024
f2d4f70
Update Project.toml
juliohm Aug 9, 2024
f459124
Refactor viz of transf grid (#997)
juliohm Aug 10, 2024
2afe69d
Optimize == for TranformedMesh (#998)
juliohm Aug 12, 2024
50d9180
Update Project.toml
juliohm Aug 12, 2024
bdfeacc
Organize geometry/domain files (#1000)
juliohm Aug 13, 2024
052ccd5
Fix paramdim of primitives over ellipsoid (#1001)
juliohm Aug 13, 2024
d55f05d
Add TransformedGeometry (#1002)
juliohm Aug 13, 2024
a071c39
Optimize simplexify of simplicial mesh (#1003)
juliohm Aug 13, 2024
a151711
Update Project.toml
juliohm Aug 13, 2024
a0cc0f1
Refactor centroid (#1004)
juliohm Aug 14, 2024
9ffa296
Quick fix dup method
juliohm Aug 14, 2024
3fa7859
Generalize transforms with Primitive (#1005)
juliohm Aug 15, 2024
2d14f4b
Update `Proj` implementation (#1007)
eliascarv Aug 16, 2024
04a31f7
Optimize topological relations (#1006)
juliohm Aug 16, 2024
1995987
Refactor `vizmesh!` (#1008)
eliascarv Aug 16, 2024
3f16a99
Adjust numtype in viz utils
juliohm Aug 16, 2024
2f4b4ea
Optimize `vizgrid!` of `TransformedGrid` (#1009)
eliascarv Aug 17, 2024
a0fda47
Update Project.toml
juliohm Aug 17, 2024
e7477b9
Fix viz of `TransformedGrid` (#1012)
eliascarv Aug 19, 2024
a54cd27
Update Project.toml
juliohm Aug 19, 2024
50eddeb
Update exports (#1015)
juliohm Aug 21, 2024
fd7df38
Update Project.toml
juliohm Aug 21, 2024
4f2eb99
Add pointmarker option to viz (#1016)
juliohm Aug 22, 2024
3965c4a
Update Project.toml
juliohm Aug 22, 2024
3bc098a
Fix normal in TransformedGrid viz recipe (#1017)
juliohm Aug 22, 2024
0b84fae
Update Project.toml
juliohm Aug 22, 2024
4588a93
Handle different CRS and length units in `sideof` (#1014)
kylebeggs Aug 23, 2024
f687b76
Refactor `withcrs` (#1023)
eliascarv Aug 23, 2024
4ae2282
Update Project.toml
juliohm Aug 23, 2024
95c83c6
Refactor simplification methods (#1019)
juliohm Aug 23, 2024
bc1ef9c
Rename Within --> Crop (#1021)
juliohm Aug 23, 2024
254dbaa
Use TestItems.jl (#1024)
eliascarv Aug 24, 2024
bce6068
New parameterization functions for Cone and ConeSurface (#1020)
mikeingold Aug 27, 2024
6a01fe8
Rename clip/refine methods for clarity (#1026)
juliohm Aug 27, 2024
df7927b
Update Project.toml (#1028)
juliohm Aug 28, 2024
3ceb079
Fix rotation of Ellipsoid (#1029)
juliohm Aug 28, 2024
0151261
Update Project.toml
juliohm Aug 28, 2024
14f7ce9
Fix Rotate of Ellipsoid (#1030)
juliohm Aug 28, 2024
b8d9d4d
Update Project.toml
juliohm Aug 28, 2024
86c8c19
Improve Rotate docs (#1031)
juliohm Aug 29, 2024
1196bdc
Implement promote for Points & Handle -180° == 180° in latlon coordin…
eliascarv Aug 29, 2024
fc8279b
Update Project.toml
juliohm Aug 29, 2024
e24e5ac
Refactor viewing.jl (#1035)
juliohm Aug 30, 2024
090835f
Fix boundary of `Box` (#1036)
eliascarv Aug 30, 2024
ae91ec7
Update Project.toml
juliohm Aug 30, 2024
6fc68a7
Specialize collectat for AbstractVector
juliohm Aug 31, 2024
0324c33
Fix tests (#1038)
eliascarv Sep 3, 2024
53346e6
Refactor domain indices (#1037)
juliohm Sep 3, 2024
e146556
Add 'Crop' methods for 'CartesianGrid' and 'RectilinearGrid' (#1039)
eliascarv Sep 3, 2024
2ac024c
`Crop`: Add support for latlon (#1040)
eliascarv Sep 4, 2024
9a48342
Add `Crop` method for `Grid` (#1041)
eliascarv Sep 5, 2024
e39c23c
Rename Crop --> Slice (#1042)
juliohm Sep 5, 2024
4ff47ad
Add support for `LatLon` in `boundingbox` (#1043)
eliascarv Sep 6, 2024
b6532e4
Fix `cartesianrange` of `Grid` (#1044)
eliascarv Sep 6, 2024
dcf7d2d
Update Project.toml
juliohm Sep 6, 2024
cfa799c
Fix cartesianrange/slice
juliohm Sep 8, 2024
ff6062a
Update Project.toml
juliohm Sep 8, 2024
44cd643
Fix #1046
juliohm Sep 8, 2024
d0404a5
Bump version
juliohm Sep 8, 2024
c41c51d
CompatHelper: bump compat for Colorfy to 1, (keep existing compat) (#…
github-actions[bot] Sep 9, 2024
bfd2d52
Update Project.toml
juliohm Sep 9, 2024
132669a
Fix #1050
juliohm Sep 10, 2024
405e046
Add `RegularGrid` (#1047)
eliascarv Sep 9, 2024
54be1d2
Update Project.toml
juliohm Sep 10, 2024
838eca4
Add support for custom CRS in `RectilinearGrid` (#1049)
eliascarv Sep 10, 2024
e194db3
Add support for custom CRS in `StructuredGrid` (#1051)
eliascarv Sep 10, 2024
a3c9ee9
Update 'RegularGrid' implementation (#1053)
eliascarv Sep 10, 2024
2f0cf15
Refactor viz of grids (#1055)
eliascarv Sep 11, 2024
ef1fb34
Add `showsegments` support for `vizgridfallback!` (#1056)
eliascarv Sep 11, 2024
6450e7f
Add a heuristic to use uv coords in `vizgridfallback!` (#1057)
eliascarv Sep 12, 2024
c5cf83e
Update Project.toml
juliohm Sep 12, 2024
e8a6d29
`GeometrySet`: handle heterogeneous `CRS` (#1058)
eliascarv Sep 12, 2024
0947f63
Update Project.toml
juliohm Sep 12, 2024
920b7ad
Search methods: handle different units (#1064)
eliascarv Sep 16, 2024
d412cf0
Update Project.toml
juliohm Sep 16, 2024
c1e7153
'Torus': Rename 'normal' to 'direction' (#1065)
eliascarv Sep 16, 2024
e384042
`RegularGrid`: Add more constructors (#1066)
eliascarv Sep 17, 2024
a601abb
Fix 'RegularDiscretization' of 'Box' (#1067)
eliascarv Sep 17, 2024
dd5595d
Update Project.toml
juliohm Sep 17, 2024
ad5f90e
Add `MaxLengthDiscretization` (#1068)
eliascarv Sep 18, 2024
2ae5252
Add method for `measure` of `Segment` with Ellipsoid manifold (#1069)
eliascarv Sep 18, 2024
98fb713
Fix Rotate and Scale of RegularGrid (#1071)
juliohm Sep 18, 2024
0ef0b2e
Update Project.toml
juliohm Sep 18, 2024
4daa03d
Fix typo in docstring
juliohm Sep 18, 2024
e668af7
Add support for predicates in `TriRefinement` (#1070)
eliascarv Sep 19, 2024
a6144b7
Update `TriRefinement` implementation (#1076)
eliascarv Sep 19, 2024
ae343f6
Bump version
juliohm Sep 19, 2024
70d1d3a
Add `MaxLengthDiscretization` for `Geometry` (#1075)
eliascarv Sep 19, 2024
77df420
Remove Ring inner check (#1077)
juliohm Sep 20, 2024
cf6d934
Update Project.toml
juliohm Sep 20, 2024
cac67c9
Update the method definition of `centroid` of grids (#1078)
eliascarv Sep 20, 2024
e9cc5f5
Generalize dispatch to OrthoRegularGrid (#1079)
eliascarv Sep 20, 2024
c9cc721
Generalize dispatch to OrthoRectilinearGrid and OrthoStructuredGrid (…
eliascarv Sep 20, 2024
1babc12
Adjust transforms of `Grid` (#1081)
eliascarv Sep 20, 2024
14b4cd0
Remove unused code (#1082)
eliascarv Sep 20, 2024
7b49416
Update Project.toml
juliohm Sep 20, 2024
35d1d45
Viz: Reverse the connectivity of grids with CW orientation (#1084)
eliascarv Sep 23, 2024
5604725
Viz geometries with globe manifold and `paramdim=1` using `MaxLengthD…
eliascarv Sep 23, 2024
b29b7cd
Update Project.toml
juliohm Sep 23, 2024
dd9115e
Specialize centroid for CylinderTrajectory (#1085)
juliohm Sep 24, 2024
a355bc9
Update Project.toml
juliohm Sep 24, 2024
07908d3
Viz boxes with globe manifold using 'MaxLengthDiscretization' (#1087)
eliascarv Sep 26, 2024
53fa85d
Viz: Update connectivity reversion heuristic (#1088)
eliascarv Sep 26, 2024
b4b39a2
Bump version
eliascarv Sep 26, 2024
80c9dcf
Fix parameterization of 'Segement' with ellipsoid manifold (#1089)
eliascarv Sep 26, 2024
887e723
Add `coordsum` and `coordmean` helper functions (#1091)
eliascarv Sep 27, 2024
52fb8f7
Update Project.toml
juliohm Sep 27, 2024
c142d42
fix docstring rendering (#1094)
JoshuaLampert Sep 30, 2024
a673eb0
Update dependencies
eliascarv Oct 1, 2024
ccb8435
Update parameterization implementation of `Ball` and `Sphere` (#1097)
eliascarv Oct 4, 2024
5ca1edd
Fibonacci Sampling Method (#1092)
davibarreira Oct 4, 2024
ab5ddb4
Update parameterization implementation of `Cylinder` and `CylinderSur…
eliascarv Oct 4, 2024
3d2c523
Update Project.toml
juliohm Oct 4, 2024
45f5bdb
Use raw coordinates in Neighbor Search Methods (#1102)
eliascarv Oct 8, 2024
83e5002
Update Project.toml
juliohm Oct 8, 2024
80eb8ab
Proj: Avoid constructing a new geometry or domain when the CRS is the…
eliascarv Oct 9, 2024
fc3febc
Add `ParametrizedCurve` (#1093)
JoshuaLampert Oct 9, 2024
3611cbb
Update Project.toml
juliohm Oct 9, 2024
ee95f2b
Use LTS in CI.yml
juliohm Oct 9, 2024
0a902ce
Add `Morphological` transform (#1100)
JoshuaLampert Oct 11, 2024
8225381
Refactor `Shadow` implementation (#1105)
eliascarv Oct 11, 2024
224065d
Update Project.toml
juliohm Oct 11, 2024
c4a3d98
Add `isparametrized` for `Cone` (#1106)
JoshuaLampert Oct 12, 2024
47db1a7
Update Project.toml
juliohm Oct 12, 2024
d803a4f
Use `MaxLengthDiscretization` to visualize geometries with globe mani…
eliascarv Oct 14, 2024
d8b6054
Rename `ManualDiscretization` to `ManualSimplexification` and add mor…
eliascarv Oct 14, 2024
b4d6a38
Fix `Proj` methods & Add `MaxLengthDiscretization` method for `Transf…
eliascarv Oct 14, 2024
01fd51e
Update the default discretization method of `TransformedGeometry` (#1…
eliascarv Oct 15, 2024
c47cbc0
Update `Affine` and `Scale` methods (#1115)
eliascarv Oct 15, 2024
9bd78f2
Update `pointify` and `boundary` of `TransformedGeometry` (#1114)
eliascarv Oct 15, 2024
eb495a4
Viz on Globe: Only discretize boxes and chains for now (#1116)
eliascarv Oct 16, 2024
c105152
Add `boundary` option to `Proj` and `Morphological` tranforms (#1117)
eliascarv Oct 16, 2024
fa7fffd
Remove 'boundary' option in favor of using 'TransformedGeometry' expl…
eliascarv Oct 17, 2024
5ac2446
Bump version
juliohm Oct 17, 2024
1ba393f
Remove unused code
eliascarv Oct 25, 2024
dfaf12d
Add `MinDistanceSampling` for 3D Ball (#1121)
JoshuaLampert Oct 25, 2024
d8be1a9
Implement indexable api for topology (#1122)
juliohm Oct 25, 2024
0ca5a14
Update Project.toml
juliohm Oct 25, 2024
267358e
Use `TiledIteration.TileIterator` in `RegularCoarsening` (#1123)
eliascarv Nov 6, 2024
ed06498
Update Project.toml
juliohm Nov 6, 2024
294bdda
Replace Base.OneTo(n) by 1:n for consistency (#1124)
juliohm Nov 6, 2024
f91b4ba
Refactor tests
juliohm Nov 11, 2024
1bdff3b
Refactor docstrings
juliohm Nov 11, 2024
20feced
Improve docstring of BallSearch and KBallSearch
juliohm Nov 11, 2024
ed88c40
Improve docstring of search methods
juliohm Nov 11, 2024
e81928e
Use `SVector` in `Polytope` instead of `NTuple` (#1130)
eliascarv Nov 12, 2024
2bef7a6
Remove unnecessary uses of `collect` (#1132)
eliascarv Nov 13, 2024
efce1a2
Update Project.toml
juliohm Nov 14, 2024
17df471
Bump codecov/codecov-action from 4 to 5 (#1134)
dependabot[bot] Nov 18, 2024
dff33a1
Introducing iteration on vertices (#1133)
ghyatzo Nov 18, 2024
1c6cf7a
Avoid allocations in `vertex` of `PolyArea` (#1135)
eliascarv Nov 18, 2024
9611b0d
Update Project.toml
juliohm Nov 18, 2024
98f2f6f
Use eachvertex in more places (#1137)
juliohm Nov 19, 2024
da27c68
Refactor collect(vertices(...)) (#1139)
juliohm Nov 19, 2024
a2ea3b9
Bump version
juliohm Nov 19, 2024
f45744d
Fix isapprox for Line (#1141)
juliohm Nov 20, 2024
e9b6fde
Update Project.toml
juliohm Nov 20, 2024
ffd4fb7
new branch for Bentley Ottman
souma4 Nov 21, 2024
1c3f249
updating sweepline algorithm with AVLTrees, needs
souma4 Dec 29, 2024
6928431
Major commit to BentleyOttman Algorithm. I managed to get a dictionar…
souma4 Feb 10, 2025
31f65e8
Revert "Major commit to BentleyOttman Algorithm. I managed to get a d…
souma4 Feb 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,26 @@ env:
JULIA_NUM_THREADS: 2
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.float }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.9'
- 'lts'
- '1'
os:
- ubuntu-latest
- macos-latest
- windows-latest
arch:
- x64
float:
- Float32
- Float64
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
Expand All @@ -48,8 +51,10 @@ jobs:
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
FLOAT_TYPE: ${{ matrix.float }}
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v4
- uses: codecov/codecov-action@v5
with:
file: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -58,7 +63,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- run: |
Expand Down
29 changes: 6 additions & 23 deletions .github/workflows/FormatPR.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,11 @@
name: FormatPR
name: Format suggestions
on:
push:
branches:
- master
pull_request

jobs:
build:
code-style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install JuliaFormatter and format
run: |
julia -e 'import Pkg; Pkg.add("JuliaFormatter")'
julia -e 'using JuliaFormatter; format(".")'
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
- uses: julia-actions/julia-format@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: ":robot: Format .jl files"
title: '[AUTO] JuliaFormatter.jl run'
branch: auto-juliaformatter-pr
delete-branch: true
labels: formatting, automated pr, no changelog
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
version: '1' # Set `version` to '1.0.54' if you need to use JuliaFormatter.jl v1.0.54 (default: '1')
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ Manifest.toml
docs/build
/.benchmarkci
/benchmark/*.json
docs/src/assets/themes/
30 changes: 19 additions & 11 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,42 +1,50 @@
name = "Meshes"
uuid = "eacbb407-ea5a-433e-ab97-5258b1ca43fa"
authors = ["Júlio Hoffimann and contributors"]
version = "0.40.12"
version = "0.52.6"

[deps]
Bessels = "0e736298-9ec6-45e8-9647-e4fc86a2fe38"
CircularArrays = "7a955b69-7140-5f4e-a0ed-f168c5e2e749"
Colorfy = "03fe91ce-8ec6-4610-8e8d-e7491ccca690"
CoordRefSystems = "b46f11dc-f210-4604-bfba-323c1ec968cb"
DelaunayTriangulation = "927a84f5-c5f4-47a5-9785-b46e178433df"
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
NearestNeighbors = "b8a86587-4115-5ab1-83bc-aa920d37bbce"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Rotations = "6038ab10-8711-5258-84ad-4b1120ba62dc"
ScopedValues = "7e506255-f358-4e82-b7e4-beb19740aa63"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
Transducers = "28d57a85-8fef-5791-bfe6-a80928e7c999"
TiledIteration = "06e1c1a7-607b-532d-9fad-de7d9aa2abac"
TransformsBase = "28dd2a49-a57a-4bfb-84ca-1a49db9b96b8"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"

[weakdeps]
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"

[extensions]
MeshesMakieExt = "Makie"

[compat]
Bessels = "0.2"
CircularArrays = "1.3"
Colorfy = "1.0"
CoordRefSystems = "0.15"
DelaunayTriangulation = "1.0"
Distances = "0.10"
LinearAlgebra = "1.9"
Makie = "0.20"
Makie = "0.21"
NearestNeighbors = "0.4"
Random = "1.9"
Rotations = "1.5.1"
ScopedValues = "1.2"
SparseArrays = "1.9"
StaticArrays = "1.0"
StatsBase = "0.33, 0.34"
Transducers = "0.4"
TransformsBase = "1.4.1"
TiledIteration = "0.5"
TransformsBase = "1.6"
Unitful = "1.17"
julia = "1.9"

[extensions]
MeshesMakieExt = "Makie"

[weakdeps]
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
7 changes: 3 additions & 4 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[deps]
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
CoordRefSystems = "b46f11dc-f210-4604-bfba-323c1ec968cb"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8"
Meshes = "eacbb407-ea5a-433e-ab97-5258b1ca43fa"
PlyIO = "42171d58-473b-503a-8d5f-782019eb09ec"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Rotations = "6038ab10-8711-5258-84ad-4b1120ba62dc"

[compat]
Documenter = "0.27"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
41 changes: 7 additions & 34 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,39 +1,8 @@
using Documenter, Meshes
using DocumenterTools: Themes

istravis = "TRAVIS" ∈ keys(ENV)

Themes.compile(
joinpath(@__DIR__, "src/assets/light.scss"),
joinpath(@__DIR__, "src/assets/themes/documenter-light.css")
)
Themes.compile(joinpath(@__DIR__, "src/assets/dark.scss"), joinpath(@__DIR__, "src/assets/themes/documenter-dark.css"))

makedocs(
format=Documenter.HTML(
assets=[
"assets/favicon.ico",
asset("https://fonts.googleapis.com/css?family=Montserrat|Source+Code+Pro&display=swap", class=:css)
],
prettyurls=istravis,
mathengine=KaTeX(
Dict(
:macros => Dict(
"\\x" => "\\boldsymbol{x}",
"\\z" => "\\boldsymbol{z}",
"\\l" => "\\boldsymbol{\\lambda}",
"\\c" => "\\boldsymbol{c}",
"\\C" => "\\boldsymbol{C}",
"\\g" => "\\boldsymbol{g}",
"\\G" => "\\boldsymbol{G}",
"\\f" => "\\boldsymbol{f}",
"\\F" => "\\boldsymbol{F}",
"\\R" => "\\mathbb{R}",
"\\1" => "\\mathbb{1}"
)
)
)
),
warnonly=[:missing_docs, :cross_references],
format=Documenter.HTML(prettyurls=get(ENV, "CI", nothing) == "true"),
sitename="Meshes.jl",
authors="Júlio Hoffimann and contributors",
pages=[
Expand All @@ -47,7 +16,9 @@ makedocs(
"algorithms/sampling.md",
"algorithms/partitioning.md",
"algorithms/discretization.md",
"algorithms/tesselation.md",
"algorithms/refinement.md",
"algorithms/coarsening.md",
"algorithms/simplification.md",
"algorithms/intersection.md",
"algorithms/clipping.md",
Expand All @@ -61,8 +32,10 @@ makedocs(
"algorithms/hulls.md"
],
"Transforms" => "transforms.md",
"Random" => "rand.md",
"Visualization" => "visualization.md",
"Input/Output" => "io.md"
"Input/Output" => "io.md",
"Tolerances" => "tolerances.md"
],
"Contributing" => ["contributing/guidelines.md"],
"About" => ["License" => "about/license.md"],
Expand Down
3 changes: 2 additions & 1 deletion docs/src/algorithms/boundingbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

```@example boundingbox
using Meshes # hide
using CoordRefSystems # hide
import CairoMakie as Mke # hide
```

Expand All @@ -10,7 +11,7 @@ boundingbox
```

```@example boundingbox
pset = PointSet(rand(Point2, 100))
pset = PointSet(rand(Point, 100, crs=Cartesian2D))
bbox = boundingbox(pset)

fig = Mke.Figure(size = (800, 400))
Expand Down
9 changes: 5 additions & 4 deletions docs/src/algorithms/clamping.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
Meshes adds methods to Julia's built-in `clamp` function. The additional methods clamp points to the edges of a box in any number of dimensions. The target points and boxes must have the same number of dimensions and the same numeric type.

```@docs
clamp(point::Point{Dim,T}, box::Box{Dim,T}) where {Dim,T}
clamp(points::PointSet{Dim,T}, box::Box{Dim,T}) where {Dim,T}
clamp(::Point, ::Box)
clamp(::PointSet, ::Box)
```

```@example clamping
using Meshes # hide
using CoordRefSystems # hide
import CairoMakie as Mke # hide

# set of 2D points to clamp
points = PointSet(rand(2, 100))
points = PointSet(rand(Point, 100, crs=Cartesian2D))

# 2D box defining the clamping boundaries
box = Box((0.25, 0.25), (0.75, 0.75))
Expand All @@ -28,4 +29,4 @@ ax = Mke.Axis(fig[1,2], title="clamped", aspect=1, limits=(0,1,0,1))
viz!(ax, box)
viz!(ax, clamped, color=:black, pointsize=6)
fig
```
```
6 changes: 3 additions & 3 deletions docs/src/algorithms/clipping.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ clip
ClippingMethod
```

## SutherlandHodgman
## Sutherland-Hodgman

```@docs
SutherlandHodgman
SutherlandHodgmanClipping
```

```@example clipping
Expand All @@ -26,7 +26,7 @@ poly = PolyArea([outer, inner])
other = Box((0,1), (3,7))

# clipped polygon
clipped = clip(poly, other, SutherlandHodgman())
clipped = clip(poly, other, SutherlandHodgmanClipping())

viz(poly)
viz!(other, color = :black, alpha = 0.2)
Expand Down
33 changes: 33 additions & 0 deletions docs/src/algorithms/coarsening.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Coarsening

```@example coarsening
using Meshes # hide
import CairoMakie as Mke # hide
```

```@docs
coarsen
CoarseningMethod
```

## RegularCoarsening

```@docs
RegularCoarsening
```

```@example coarsening
grid = CartesianGrid(100, 100)

# refine three times
cor1 = coarsen(grid, RegularCoarsening(2, 2))
cor2 = coarsen(cor1, RegularCoarsening(3, 2))
cor3 = coarsen(cor2, RegularCoarsening(2, 3))

fig = Mke.Figure(size = (800, 800))
viz(fig[1,1], grid, showsegments = true)
viz(fig[1,2], cor1, showsegments = true)
viz(fig[2,1], cor2, showsegments = true)
viz(fig[2,2], cor3, showsegments = true)
fig
```
Loading