-
Notifications
You must be signed in to change notification settings - Fork 5
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
New interface - Operation, Algorithm, Manifold #255
base: as/usecore
Are you sure you want to change the base?
Conversation
@rafaqz this is my current thought, operations are not so fleshed out but you can see where I'm going with this i think |
Looks good! |
@@ -18,7 +18,13 @@ using Tables | |||
using DataAPI | |||
|
|||
include("keyword_docs.jl") | |||
include("types.jl") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, nice to break this into themes
|
||
abstract type Algorithm{M <: Manifold} end | ||
|
||
abstract type ManifoldIndependentAlgorithm{M <: Manifold} <: Algorithm{M} end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
abstract type ManifoldIndependentAlgorithm{M <: Manifold} <: Algorithm{M} end | |
abstract type ManifoldIndependentAlgorithm{NoManifold} <: Algorithm{M} end |
Or something like that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it's not really manifold independent but rather manifold invariant - the manifold goes to the lower level function like point_distance_from_line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I think needs a better name, to me it implies the answer won't change between manifolds.
# specifically for manifolds | ||
abstract type EllipsoidParametrization end | ||
|
||
struct SemimajorAxisInvFlattening{T} <: EllipsoidParametrization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this instead of the two fields in Geodesic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I was thinking about that, then you could pass e.g. Proj.geod_geodesic output, or one of the CoordRefSys things, or Geodesy.jl ellipsoids to it and they would just work
No description provided.