Copyright | (c) Justus Sagemüller 2016 |
---|---|
License | GPL v3 |
Maintainer | (@) sagemueller $ geo.uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
- data PointsWeb :: * -> * -> *
- fromWebNodes :: forall x y. WithField ℝ Manifold x => MetricChoice x -> [(x, y)] -> PointsWeb x y
- fromShadeTree_auto :: forall x. WithField ℝ Manifold x => ShadeTree x -> PointsWeb x ()
- fromShadeTree :: forall x. WithField ℝ Manifold x => (Shade x -> Metric x) -> ShadeTree x -> PointsWeb x ()
- fromShaded :: forall x y. WithField ℝ Manifold x => MetricChoice x -> (x `Shaded` y) -> PointsWeb x y
- nearestNeighbour :: WithField ℝ Manifold x => PointsWeb x y -> x -> Option (x, y)
- indexWeb :: WithField ℝ Manifold x => PointsWeb x y -> WebNodeId -> Option (x, y)
- webEdges :: forall x y. WithField ℝ Manifold x => PointsWeb x y -> [((x, y), (x, y))]
- toGraph :: WithField ℝ Manifold x => PointsWeb x y -> (Graph, Vertex -> (x, y))
- sliceWeb_lin :: forall x y. (WithField ℝ Manifold x, Geodesic x, Geodesic y) => PointsWeb x y -> Cutplane x -> [(x, y)]
- localFocusWeb :: WithField ℝ Manifold x => PointsWeb x y -> PointsWeb x ((x, y), [(Needle x, y)])
- filterDEqnSolution_static :: (WithField ℝ Manifold x, Refinable y) => DifferentialEqn x y -> PointsWeb x (Shade' y) -> Option (PointsWeb x (Shade' y))
- iterateFilterDEqn_static :: (WithField ℝ Manifold x, Refinable y) => DifferentialEqn x y -> PointsWeb x (Shade' y) -> [PointsWeb x (Shade' y)]
- filterDEqnSolutions_adaptive :: forall x y badness. (WithField ℝ Manifold x, Refinable y, badness ~ ℝ) => MetricChoice x -> DifferentialEqn x y -> (x -> Shade' y -> badness) -> PointsWeb x (SolverNodeState y) -> Option (PointsWeb x (SolverNodeState y))
- iterateFilterDEqn_adaptive :: (WithField ℝ Manifold x, Refinable y) => MetricChoice x -> DifferentialEqn x y -> (x -> Shade' y -> ℝ) -> PointsWeb x (Shade' y) -> [PointsWeb x (Shade' y)]
- data ConvexSet x
- = EmptyConvex
- | ConvexSet {
- convexSetHull :: Shade' x
- convexSetIntersectors :: [Shade' x]
- ellipsoid :: Shade' x -> ConvexSet x
The web data type
data PointsWeb :: * -> * -> * Source
A PointsWeb
is almost, but not quite a mesh. It is a stongly connected†
directed graph, backed by a tree for fast nearest-neighbour lookup of points.
†In general, there can be disconnected components, but every connected component is strongly connected.
Functor (PointsWeb a) Source | |
Foldable (PointsWeb a) Source | |
Traversable (PointsWeb a) Source | |
Foldable (PointsWeb x) (->) (->) Source | |
Traversable (PointsWeb x) (PointsWeb x) (->) (->) Source | |
Generic (PointsWeb a b) Source | |
(NFData x, NFData (HerMetric (Needle x)), NFData (Needle' x), NFData y) => NFData (PointsWeb x y) Source | |
type Rep (PointsWeb a b) Source |
Construction
fromWebNodes :: forall x y. WithField ℝ Manifold x => MetricChoice x -> [(x, y)] -> PointsWeb x y Source
fromShadeTree :: forall x. WithField ℝ Manifold x => (Shade x -> Metric x) -> ShadeTree x -> PointsWeb x () Source
:: WithField ℝ Manifold x | |
=> MetricChoice x | Local scalar-product generator. You can always
use |
-> (x `Shaded` y) | Source tree. |
-> PointsWeb x y |
Lookup
Decomposition
sliceWeb_lin :: forall x y. (WithField ℝ Manifold x, Geodesic x, Geodesic y) => PointsWeb x y -> Cutplane x -> [(x, y)] Source
Fetch a point between any two neighbouring web nodes on opposite sides of the plane, and linearly interpolate the values onto the cut plane.
Local environments
localFocusWeb :: WithField ℝ Manifold x => PointsWeb x y -> PointsWeb x ((x, y), [(Needle x, y)]) Source
Differential equations
Fixed resolution
filterDEqnSolution_static :: (WithField ℝ Manifold x, Refinable y) => DifferentialEqn x y -> PointsWeb x (Shade' y) -> Option (PointsWeb x (Shade' y)) Source
iterateFilterDEqn_static :: (WithField ℝ Manifold x, Refinable y) => DifferentialEqn x y -> PointsWeb x (Shade' y) -> [PointsWeb x (Shade' y)] Source
Automatic resolution
Misc
EmptyConvex | |
ConvexSet | |
|