diff --git a/src/function.jl b/src/function.jl index c871e338d4e318200b3e9cc7045f0a84d145ab49..2e001fa600d31e495ff1f9ceb8094a4c27b44fe0 100644 --- a/src/function.jl +++ b/src/function.jl @@ -255,6 +255,7 @@ function evaluate(df::Derivative, x) return SArray{Tuple{df.f.space.size..., length(x)}}(jac) end + # TODO: inherit from some abstract function type struct ImageFunction{Img} mesh::Mesh @@ -266,8 +267,9 @@ ImageFunction(mesh, img) = ImageFunction(mesh, img, Ref(1)) bind!(f::ImageFunction, cell) = f.cell[] = cell +# TODO: precompute the offset from minimum mesh vertex evaluate(f::ImageFunction, xloc) = - interpolate_bilinear(f.img, elmap(f.mesh, f.cell[])(xloc)) + interpolate_bilinear(f.img, elmap(f.mesh, f.cell[])(xloc) .+ (0.5, 0.5)) struct FacetDivergence{F}