You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: GeometryOpsCore/src/types/algorithm.jl
+26-15Lines changed: 26 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,32 @@ Algorithms are:
12
12
* May be manifold agnostic (like simplification) or restrictive (like GEOS only works on planar, PROJ algorithm for arclength and area only works on geodesic)
13
13
* May or may not carry manifolds around, but manifold should always be accessible from manifold(alg) - it's not necessary that fixed manifold args can skip carrying the manifold around, eg in the case of Proj{Geodesic}.
14
14
15
+
16
+
## Single manifold vs manifold independent algorithms
17
+
18
+
Some algorithms only work on a single manifold (shoelace area only works on `Planar`)
19
+
and others work on any manifold (`simplify`, `segmentize`). They are allowed to dispatch
20
+
on the manifold type but store that manifold as a field, and the fundamental algorithm is the
21
+
same. For example the segmentize algorithm is the same (distance along line) but the implementation
22
+
varies slightly depending on the manifold (planar, spherical, geodesic, etc).
23
+
24
+
Here's a simple example of two algorithms, one only on planar and one manifold independent:
0 commit comments