From d1dc882633c9cbf87132d567c5ad2e2242e8461a Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Tue, 15 Nov 2011 17:58:43 +0000 Subject: [PATCH] BUG: ZoneSet: fix inverting functionality --- src/meshTools/sets/topoSets/cellZoneSet.C | 15 ++++++++++++++- src/meshTools/sets/topoSets/faceZoneSet.C | 16 ++++++++++++++-- src/meshTools/sets/topoSets/pointZoneSet.C | 14 +++++++++++++- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/meshTools/sets/topoSets/cellZoneSet.C b/src/meshTools/sets/topoSets/cellZoneSet.C index d3498f19988..80528e3192d 100644 --- a/src/meshTools/sets/topoSets/cellZoneSet.C +++ b/src/meshTools/sets/topoSets/cellZoneSet.C @@ -136,17 +136,30 @@ cellZoneSet::~cellZoneSet() void cellZoneSet::invert(const label maxLen) { + // Count label n = 0; for (label cellI = 0; cellI < maxLen; cellI++) { if (!found(cellI)) { - addressing_[n] = cellI; n++; } } + + // Fill addressing_.setSize(n); + n = 0; + + for (label cellI = 0; cellI < maxLen; cellI++) + { + if (!found(cellI)) + { + addressing_[n] = cellI; + n++; + } + } + updateSet(); } diff --git a/src/meshTools/sets/topoSets/faceZoneSet.C b/src/meshTools/sets/topoSets/faceZoneSet.C index 5d7cd831db7..10d9c0b9bfd 100644 --- a/src/meshTools/sets/topoSets/faceZoneSet.C +++ b/src/meshTools/sets/topoSets/faceZoneSet.C @@ -141,19 +141,31 @@ faceZoneSet::~faceZoneSet() void faceZoneSet::invert(const label maxLen) { + // Count label n = 0; for (label faceI = 0; faceI < maxLen; faceI++) { if (!found(faceI)) { - addressing_[n] = faceI; - flipMap_[n] = false; //? or true? n++; } } + + // Fill addressing_.setSize(n); flipMap_.setSize(n); + n = 0; + + for (label faceI = 0; faceI < maxLen; faceI++) + { + if (!found(faceI)) + { + addressing_[n] = faceI; + flipMap_[n] = false; //? or true? + n++; + } + } updateSet(); } diff --git a/src/meshTools/sets/topoSets/pointZoneSet.C b/src/meshTools/sets/topoSets/pointZoneSet.C index 783cd78431a..8a02f718a24 100644 --- a/src/meshTools/sets/topoSets/pointZoneSet.C +++ b/src/meshTools/sets/topoSets/pointZoneSet.C @@ -138,17 +138,29 @@ pointZoneSet::~pointZoneSet() void pointZoneSet::invert(const label maxLen) { + // Count label n = 0; for (label pointI = 0; pointI < maxLen; pointI++) { if (!found(pointI)) { - addressing_[n] = pointI; n++; } } + + // Fill addressing_.setSize(n); + n = 0; + + for (label pointI = 0; pointI < maxLen; pointI++) + { + if (!found(pointI)) + { + addressing_[n] = pointI; + n++; + } + } updateSet(); } -- GitLab