13 #ifndef ESYS_LSMGAUSSIANGRIDDER_H
14 #define ESYS_LSMGAUSSIANGRIDDER_H
39 template <
typename TmplCartesianGr
id>
40 void transform(
const TmplCartesianGrid &irregular, TmplCartesianGrid ®ular)
const
42 typename TmplCartesianGrid::CellIterator regIt = regular.getCellIterator();
44 while (regIt.hasNext())
46 const typename TmplCartesianGrid::Cell ®Cell = regIt.next();
47 typename TmplCartesianGrid::CellConstIterator irrIt = irregular.getCellIterator(regCell.getPos(), radius);
48 typename TmplCartesianGrid::value_type value;
50 double weightSum = 0.0;
51 while (irrIt.hasNext())
53 typename TmplCartesianGrid::Cell::ConstIterator pairIt = irrIt.next().getIterator();
54 while (pairIt.hasNext())
56 const typename TmplCartesianGrid::Cell::PosValuePair &pair = pairIt.next();
57 const double weight =
getWeight(regCell.getPos(), pair.getPos());
59 value += (pair.getValue()*weight);
65 regular.insert(regCell.getPos(), value);