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

New interface - Operation, Algorithm, Manifold #255

Open
wants to merge 5 commits into
base: as/usecore
Choose a base branch
from

Conversation

asinghvi17
Copy link
Member

No description provided.

@asinghvi17
Copy link
Member Author

@rafaqz this is my current thought, operations are not so fleshed out but you can see where I'm going with this i think

@rafaqz
Copy link
Member

rafaqz commented Feb 9, 2025

Looks good!

@@ -18,7 +18,13 @@ using Tables
using DataAPI

include("keyword_docs.jl")
include("types.jl")
Copy link
Member

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
abstract type ManifoldIndependentAlgorithm{M <: Manifold} <: Algorithm{M} end
abstract type ManifoldIndependentAlgorithm{NoManifold} <: Algorithm{M} end

Or something like that?

Copy link
Member Author

@asinghvi17 asinghvi17 Feb 9, 2025

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

Copy link
Member

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
Copy link
Member

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?

Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants