BUG: fixed retrieving field from sub surface.

It now caters for
- all surfaces having fields
- no surfaces having fields
but not a combination of those.
This commit is contained in:
mattijs
2010-02-03 06:15:41 +00:00
parent 1513507e94
commit 953030879e

View File

@ -681,15 +681,17 @@ void Foam::searchableSurfaceCollection::getField
List<List<label> > infoMap; List<List<label> > infoMap;
sortHits(info, surfInfo, infoMap); sortHits(info, surfInfo, infoMap);
values.setSize(info.size());
//?Misses do not get set? values = 0;
// Do surface tests // Do surface tests
forAll(surfInfo, surfI) forAll(surfInfo, surfI)
{ {
labelList surfValues; labelList surfValues;
subGeom_[surfI].getField(surfInfo[surfI], surfValues); subGeom_[surfI].getField(surfInfo[surfI], surfValues);
if (surfValues.size())
{
// Size values only when we have a surface that supports it.
values.setSize(info.size());
const labelList& map = infoMap[surfI]; const labelList& map = infoMap[surfI];
forAll(map, i) forAll(map, i)
{ {
@ -697,6 +699,7 @@ void Foam::searchableSurfaceCollection::getField
} }
} }
} }
}
} }