Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "sampledPlane.H"
00027
00028
00029
00030 template <class Type>
00031 Foam::tmp<Foam::Field<Type> >
00032 Foam::sampledPlane::sampleField
00033 (
00034 const GeometricField<Type, fvPatchField, volMesh>& vField
00035 ) const
00036 {
00037 return tmp<Field<Type> >(new Field<Type>(vField, meshCells()));
00038 }
00039
00040
00041 template <class Type>
00042 Foam::tmp<Foam::Field<Type> >
00043 Foam::sampledPlane::interpolateField
00044 (
00045 const interpolation<Type>& interpolator
00046 ) const
00047 {
00048
00049 tmp<Field<Type> > tvalues(new Field<Type>(points().size()));
00050 Field<Type>& values = tvalues();
00051
00052 boolList pointDone(points().size(), false);
00053
00054 forAll(faces(), cutFaceI)
00055 {
00056 const face& f = faces()[cutFaceI];
00057
00058 forAll(f, faceVertI)
00059 {
00060 label pointI = f[faceVertI];
00061
00062 if (!pointDone[pointI])
00063 {
00064 values[pointI] = interpolator.interpolate
00065 (
00066 points()[pointI],
00067 meshCells()[cutFaceI]
00068 );
00069 pointDone[pointI] = true;
00070 }
00071 }
00072 }
00073
00074 return tvalues;
00075 }
00076
00077
00078