BUG: distributedTriSurfaceMesh hangs (issue #686)

- caused by the removal of empty zones when reading the surface files
This commit is contained in:
Mark Olesen
2018-01-03 10:34:23 +01:00
parent 85533e0d5b
commit ee252307d3
5 changed files with 15 additions and 10 deletions

View File

@ -245,8 +245,8 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
this->storedPoints().transfer(dynPoints); this->storedPoints().transfer(dynPoints);
this->storedFaces().transfer(dynFaces); this->storedFaces().transfer(dynFaces);
// add zones, culling empty ones // Add zones (retaining empty ones)
this->addZones(sizes, names, true); this->addZones(sizes, names);
this->addZonesToFaces(); // for labelledTri this->addZonesToFaces(); // for labelledTri
this->stitchFaces(SMALL); this->stitchFaces(SMALL);

View File

@ -400,7 +400,9 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read
} }
this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted); this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted);
this->addZones(dynSizes, names, true); // add zones, cull empty ones
// Add zones (retaining empty ones)
this->addZones(dynSizes, names);
this->addZonesToFaces(); // for labelledTri this->addZonesToFaces(); // for labelledTri
return true; return true;

View File

@ -197,7 +197,9 @@ bool Foam::fileFormats::OBJsurfaceFormat<Face>::read
this->storedPoints().transfer(dynPoints); this->storedPoints().transfer(dynPoints);
this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted); this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted);
this->addZones(dynSizes, dynNames, true); // add zones, cull empty ones
// Add zones (retaining empty ones)
this->addZones(dynSizes, dynNames);
this->addZonesToFaces(); // for labelledTri this->addZonesToFaces(); // for labelledTri
return true; return true;

View File

@ -222,7 +222,8 @@ bool Foam::fileFormats::STARCDsurfaceFormat<Face>::read
this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted); this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted);
this->addZones(dynSizes, dynNames, true); // add zones, cull empty ones // Add zones (retaining empty ones)
this->addZones(dynSizes, dynNames);
this->addZonesToFaces(); // for labelledTri this->addZonesToFaces(); // for labelledTri
return true; return true;

View File

@ -205,7 +205,7 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read
const face& f = faces[facei]; const face& f = faces[facei];
for (label fp1 = 1; fp1 < f.size() - 1; fp1++) for (label fp1 = 1; fp1 < f.size() - 1; fp1++)
{ {
label fp2 = f.fcIndex(fp1); const label fp2 = f.fcIndex(fp1);
dynFaces.append(Face{f[0], f[fp1], f[fp2]}); dynFaces.append(Face{f[0], f[fp1], f[fp2]});
dynZones.append(zones[facei]); dynZones.append(zones[facei]);
@ -221,8 +221,8 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read
this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted); this->sortFacesAndStore(dynFaces.xfer(), dynZones.xfer(), sorted);
// add zones, culling empty ones // Add zones (retaining empty ones)
this->addZones(zoneSizes, zoneNames, true); this->addZones(zoneSizes, zoneNames);
} }
else else
{ {
@ -241,8 +241,8 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read
this->sortFacesAndStore(dynFaces.xfer(), zones.xfer(), sorted); this->sortFacesAndStore(dynFaces.xfer(), zones.xfer(), sorted);
// add zones, culling empty ones // Add zones, retaining any empty ones
this->addZones(zoneSizes, zoneNames, true); this->addZones(zoneSizes, zoneNames);
} }
this->addZonesToFaces(); // for labelledTri this->addZonesToFaces(); // for labelledTri