39#ifndef YL_FIELD_HH_INCLUDED
40#define YL_FIELD_HH_INCLUDED
42#include <aims/vector/vector.h>
43#include <aims/resampling/linearInterpolator.h>
82 virtual void evaluate(
const Point3df& pos, Point3df& output)
const = 0;
97 virtual float evaluate(
const Point3df& pos)
const = 0;
112 virtual void evaluate(
const Point3df& pos, Point3df& output)
const;
124 virtual void evaluate(
const Point3df& pos, Point3df& output)
const;
129 float m_xoffset, m_yoffset, m_zoffset;
159 Point3df m_voxel_size;
virtual float evaluate(const Point3df &pos) const
Evaluate the field's value at possibly non-integer coordinates.
BooleanScalarField(const carto::VolumeRef< int16_t > &field_volume)
Exception thrown when the field has no defined value.
Store and access a field (scalar or vector) defined over a 3D domain.
virtual void evaluate(const Point3df &pos, Point3df &output) const
Evaluate the field's value at possibly non-integer coordinates.
LinearlyInterpolatedScalarFieldGradient(const carto::VolumeRef< float > &scalar_field)
virtual float evaluate(const Point3df &pos) const
Evaluate the field's value at possibly non-integer coordinates.
LinearlyInterpolatedScalarField(const carto::VolumeRef< float > &field_volume)
virtual void evaluate(const Point3df &pos, Point3df &output) const
Evaluate the field's value at possibly non-integer coordinates.
LinearlyInterpolatedVectorField3d(const carto::VolumeRef< float > &fieldx, const carto::VolumeRef< float > &fieldy, const carto::VolumeRef< float > &fieldz)
Store a scalar field and access it at any coordinates.
virtual float evaluate(const Point3df &pos) const =0
Evaluate the field's value at possibly non-integer coordinates.
Store a vector field and access it at any coordinates.
virtual void evaluate(const Point3df &pos, Point3df &output) const =0
Evaluate the field's value at possibly non-integer coordinates.
Point3df evaluate(const Point3df &pos) const
Evaluate the field's value at possibly non-integer coordinates.