LinInterpGrid< N, F, A, T > Class Template Reference

Functor for linear interpolation on a regular grid. More...

#include <LinInterpGrid.h>

List of all members.

Public Types

typedef base_type::argument_type argument_type
 The argument type is a Cartesian point.
typedef base_type::result_type result_type
 The result type is the field.
typedef T Number
 The number type.
typedef F Field
 The field type.
typedef geom::RegularGrid< N,
Number
Grid
 A regular grid.
typedef ads::Array< N, Field, A > FieldArray
 The field array.
typedef Grid::Point Point
 A Cartesian point.
typedef Grid::BBox BBox
 A bounding box.
typedef FieldArray::index_type index_type
 The (multi) index type.
typedef FieldArray::size_type size_type
 The size type.
typedef
FieldArray::unqualified_value_type 
unqualified_Field
 The unqalified field type.

Public Member Functions

Constructors etc.

 LinInterpGrid ()
 Default constructor.
template<bool A2>
 LinInterpGrid (const ads::Array< N, Field, A2 > &fields, const BBox domain)
 Construct from the field array and the Cartesian domain.
template<bool A2>
void build (const ads::Array< N, Field, A2 > &fields, const BBox domain)
 Build from the field array and the Cartesian domain.
 LinInterpGrid (const LinInterpGrid &x)
 Copy constructor.
LinInterpGridoperator= (const LinInterpGrid &x)
 Assignment operator.
 ~LinInterpGrid ()
 Destructor. Deletes memory only if it was allocated internally.
Interpolation.

result_type operator() (argument_type x) const
 Interpolate the field at the specified point.
Accessors.

const FieldArrayfields () const
 Return the field array.
const BBoxdomain () const
 Return the Cartesian domain.
Manipulators

FieldArrayfields ()
 Return the field array.
void set_domain (const BBox &domain)
 Set the Cartesian domain.
void resize (const index_type &extents)
 Resize the fields array.

Static Public Member Functions

Static member functions.

static int space_dimension ()
 Return the dimension of the space.

Detailed Description

template<int N, typename F = double, bool A = true, typename T = double>
class LinInterpGrid< N, F, A, T >

Functor for linear interpolation on a regular grid.

Parameters:
N is the space dimension.
F is the field type. By default it is double.
A determines whether the grid will allocate memory its own memory or use externally allocated memory. By default A is true.
T is the number type. By default it is double.

Constructor & Destructor Documentation

template<int N, typename F = double, bool A = true, typename T = double>
template<bool A2>
LinInterpGrid< N, F, A, T >::LinInterpGrid ( const ads::Array< N, Field, A2 > &  fields,
const BBox  domain 
) [inline]

Construct from the field array and the Cartesian domain.

Parameters:
fields is the array of fields.
domain is the Cartesian domain.

Member Function Documentation

template<int N, typename F = double, bool A = true, typename T = double>
template<bool A2>
void LinInterpGrid< N, F, A, T >::build ( const ads::Array< N, Field, A2 > &  fields,
const BBox  domain 
) [inline]

Build from the field array and the Cartesian domain.

Parameters:
fields is the array of fields.
domain is the Cartesian domain.
template<int N, typename F = double, bool A = true, typename T = double>
FieldArray& LinInterpGrid< N, F, A, T >::fields (  )  [inline]

Return the field array.

Warning:
Don't resize the fields array using this accessors. Use the resize() member function instead.

The documentation for this class was generated from the following file:
Generated on Thu Jun 30 02:15:00 2016 for Numerical Algorithms Package by  doxygen 1.6.3