37 template<
class ZoneType,
class MeshType>
38 void ZoneMesh<ZoneType, MeshType>::calcZoneMap()
const
44 FatalErrorIn(
"void ZoneMesh<ZoneType>::calcZoneMap() const")
45 <<
"zone map already calculated"
55 nObjects += this->operator[](zoneI).size();
58 zoneMapPtr_ =
new Map<label>(2*nObjects);
59 Map<label>& zm = *zoneMapPtr_;
65 const labelList& zoneObjects = this->operator[](zoneI);
69 zm.insert(zoneObjects[objI], zoneI);
79 template<
class ZoneType,
class MeshType>
80 ZoneMesh<ZoneType, MeshType>::ZoneMesh
100 Istream& is = readStream(typeName);
112 patchEntries[zoneI].keyword(),
113 patchEntries[zoneI].dict(),
124 "(const IOobject&, const MeshType&)"
138 template<
class ZoneType,
class MeshType>
142 const MeshType& mesh,
155 template<
class ZoneType,
class MeshType>
165 template<
class ZoneType,
class MeshType>
179 template<
class ZoneType,
class MeshType>
185 if (zmIter == zm.
end())
197 template<
class ZoneType,
class MeshType>
206 t[zoneI] = zones[zoneI].type();
214 template<
class ZoneType,
class MeshType>
223 t[zoneI] = zones[zoneI].name();
230 template<
class ZoneType,
class MeshType>
237 if (zones[zoneI].
name() == zoneName)
246 Info<<
"label ZoneMesh<ZoneType>::findZoneID(const word& "
247 <<
"zoneName) const : "
248 <<
"Zone named " << zoneName <<
" not found. "
249 <<
"List of available zone names: " << names() <<
endl;
257 template<
class ZoneType,
class MeshType>
266 zones[zoneI].clearAddressing();
271 template<
class ZoneType,
class MeshType>
280 template<
class ZoneType,
class MeshType>
283 bool inError =
false;
289 inError |= zones[zoneI].checkDefinition(report);
296 template<
class ZoneType,
class MeshType>
303 zones[zoneI].movePoints(p);
309 template<
class ZoneType,
class MeshType>
319 template<
class ZoneType,
class MeshType>
320 Ostream& operator<<(Ostream& os, const ZoneMesh<ZoneType, MeshType>& zones)
326 zones[zoneI].writeDict(os);