Foam::tmp<Foam::Field<Type> > Foam::sampledIsoSurfaceCell::interpolateField ( const interpolation<Type>& interpolator ) const { // Recreate geometry if time has changed updateGeometry(); // One value per point tmp<Field<Type> > tvalues(new Field<Type>(points().size())); Field<Type>& values = tvalues(); boolList pointDone(points().size(), false); forAll(faces(), cutFaceI) { const face& f = faces()[cutFaceI]; forAll(f, faceVertI) { label pointI = f[faceVertI]; if (!pointDone[pointI]) { values[pointI] = interpolator.interpolate ( points()[pointI], meshCells_[cutFaceI] ); pointDone[pointI] = true; } } }
Foam::tmp<Foam::Field<Type> > Foam::sampledPlane::interpolateField ( const interpolation<Type>& interpolator ) const { // One value per point tmp<Field<Type> > tvalues(new Field<Type>(points().size())); Field<Type>& values = tvalues(); boolList pointDone(points().size(), false); forAll(faces(), cutFaceI) { const face& f = faces()[cutFaceI]; forAll(f, faceVertI) { label pointI = f[faceVertI]; if (!pointDone[pointI]) { values[pointI] = interpolator.interpolate ( points()[pointI], meshCells()[cutFaceI] ); pointDone[pointI] = true; } } }