dynamicList setSize change

This commit is contained in:
mattijs
2008-12-11 18:53:49 +00:00
parent 5e7a1f7ea9
commit 7fda35da9c
2 changed files with 26 additions and 38 deletions

View File

@ -70,7 +70,7 @@ void Foam::topoCellLooper::subsetList
<< "startI:" << startI << " freeI:" << freeI << "startI:" << startI << " freeI:" << freeI
<< " lst:" << lst << abort(FatalError); << " lst:" << lst << abort(FatalError);
} }
lst.setSize(freeI); lst.setCapacity(freeI);
} }
else else
{ {
@ -88,7 +88,7 @@ void Foam::topoCellLooper::subsetList
<< " lst:" << lst << abort(FatalError); << " lst:" << lst << abort(FatalError);
} }
lst.setSize(freeI - startI); lst.setCapacity(freeI - startI);
} }
} }

View File

@ -734,25 +734,21 @@ void Foam::polyTopoChange::reorderCompactFaces
) )
{ {
reorder(oldToNew, faces_); reorder(oldToNew, faces_);
faces_.setSize(newSize); faces_.setCapacity(newSize);
faces_.shrink();
reorder(oldToNew, region_); reorder(oldToNew, region_);
region_.setSize(newSize); region_.setCapacity(newSize);
region_.shrink();
reorder(oldToNew, faceOwner_); reorder(oldToNew, faceOwner_);
faceOwner_.setSize(newSize); faceOwner_.setCapacity(newSize);
faceOwner_.shrink();
reorder(oldToNew, faceNeighbour_); reorder(oldToNew, faceNeighbour_);
faceNeighbour_.setSize(newSize); faceNeighbour_.setCapacity(newSize);
faceNeighbour_.shrink();
// Update faceMaps. // Update faceMaps.
reorder(oldToNew, faceMap_); reorder(oldToNew, faceMap_);
faceMap_.setSize(newSize); faceMap_.setCapacity(newSize);
faceMap_.shrink();
renumberReverseMap(oldToNew, reverseFaceMap_); renumberReverseMap(oldToNew, reverseFaceMap_);
renumberKey(oldToNew, faceFromPoint_); renumberKey(oldToNew, faceFromPoint_);
@ -932,13 +928,11 @@ void Foam::polyTopoChange::compact
} }
reorder(localPointMap, points_); reorder(localPointMap, points_);
points_.setSize(newPointI); points_.setCapacity(newPointI);
points_.shrink();
// Update pointMaps // Update pointMaps
reorder(localPointMap, pointMap_); reorder(localPointMap, pointMap_);
pointMap_.setSize(newPointI); pointMap_.setCapacity(newPointI);
pointMap_.shrink();
renumberReverseMap(localPointMap, reversePointMap_); renumberReverseMap(localPointMap, reversePointMap_);
renumberKey(localPointMap, pointZone_); renumberKey(localPointMap, pointZone_);
@ -1038,13 +1032,11 @@ void Foam::polyTopoChange::compact
if (orderCells || (newCellI != cellMap_.size())) if (orderCells || (newCellI != cellMap_.size()))
{ {
reorder(localCellMap, cellMap_); reorder(localCellMap, cellMap_);
cellMap_.setSize(newCellI); cellMap_.setCapacity(newCellI);
cellMap_.shrink();
renumberReverseMap(localCellMap, reverseCellMap_); renumberReverseMap(localCellMap, reverseCellMap_);
reorder(localCellMap, cellZone_); reorder(localCellMap, cellZone_);
cellZone_.setSize(newCellI); cellZone_.setCapacity(newCellI);
cellZone_.shrink();
renumberKey(localCellMap, cellFromPoint_); renumberKey(localCellMap, cellFromPoint_);
renumberKey(localCellMap, cellFromEdge_); renumberKey(localCellMap, cellFromEdge_);
@ -2157,9 +2149,9 @@ void Foam::polyTopoChange::addMesh
const pointField& points = mesh.points(); const pointField& points = mesh.points();
const pointZoneMesh& pointZones = mesh.pointZones(); const pointZoneMesh& pointZones = mesh.pointZones();
// Resize // Extend
points_.setSize(points_.size() + points.size()); points_.setCapacity(points_.size() + points.size());
pointMap_.setSize(pointMap_.size() + points.size()); pointMap_.setCapacity(pointMap_.size() + points.size());
pointZone_.resize(pointZone_.size() + points.size()/100); pointZone_.resize(pointZone_.size() + points.size()/100);
// Precalc offset zones // Precalc offset zones
@ -2198,11 +2190,11 @@ void Foam::polyTopoChange::addMesh
// always equals nCells // always equals nCells
label nAllCells = mesh.nCells(); label nAllCells = mesh.nCells();
cellMap_.setSize(cellMap_.size() + nAllCells); cellMap_.setCapacity(cellMap_.size() + nAllCells);
cellFromPoint_.resize(cellFromPoint_.size() + nAllCells/100); cellFromPoint_.resize(cellFromPoint_.size() + nAllCells/100);
cellFromEdge_.resize(cellFromEdge_.size() + nAllCells/100); cellFromEdge_.resize(cellFromEdge_.size() + nAllCells/100);
cellFromFace_.resize(cellFromFace_.size() + nAllCells/100); cellFromFace_.resize(cellFromFace_.size() + nAllCells/100);
cellZone_.setSize(cellZone_.size() + nAllCells); cellZone_.setCapacity(cellZone_.size() + nAllCells);
// Precalc offset zones // Precalc offset zones
@ -2258,11 +2250,11 @@ void Foam::polyTopoChange::addMesh
// Resize // Resize
label nAllFaces = mesh.faces().size(); label nAllFaces = mesh.faces().size();
faces_.setSize(faces_.size() + nAllFaces); faces_.setCapacity(faces_.size() + nAllFaces);
region_.setSize(region_.size() + nAllFaces); region_.setCapacity(region_.size() + nAllFaces);
faceOwner_.setSize(faceOwner_.size() + nAllFaces); faceOwner_.setCapacity(faceOwner_.size() + nAllFaces);
faceNeighbour_.setSize(faceNeighbour_.size() + nAllFaces); faceNeighbour_.setCapacity(faceNeighbour_.size() + nAllFaces);
faceMap_.setSize(faceMap_.size() + nAllFaces); faceMap_.setCapacity(faceMap_.size() + nAllFaces);
faceFromPoint_.resize(faceFromPoint_.size() + nAllFaces/100); faceFromPoint_.resize(faceFromPoint_.size() + nAllFaces/100);
faceFromEdge_.resize(faceFromEdge_.size() + nAllFaces/100); faceFromEdge_.resize(faceFromEdge_.size() + nAllFaces/100);
flipFaceFlux_.resize(flipFaceFlux_.size() + nAllFaces/100); flipFaceFlux_.resize(flipFaceFlux_.size() + nAllFaces/100);
@ -3006,9 +2998,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh
{ {
retiredPoints_.clear(); retiredPoints_.clear();
retiredPoints_.resize(0); retiredPoints_.resize(0);
region_.clearStorage();
region_.clear();
region_.setSize(0);
} }
@ -3072,8 +3062,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh
faceZoneFlip_.clear(); faceZoneFlip_.clear();
faceZoneFlip_.resize(0); faceZoneFlip_.resize(0);
cellZone_.clear(); cellZone_.clearStorage();
cellZone_.setSize(0);
} }
@ -3240,8 +3229,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::makeMesh
{ {
retiredPoints_.clear(); retiredPoints_.clear();
retiredPoints_.resize(0); retiredPoints_.resize(0);
region_.clear(); region_.clearStorage();
region_.setSize(0);
} }
@ -3368,7 +3356,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::makeMesh
faceZoneFlip_.resize(0); faceZoneFlip_.resize(0);
cellZone_.clear(); cellZone_.clear();
cellZone_.setSize(0); cellZone_.clearStorage();
} }
// Patch point renumbering // Patch point renumbering