43 rio.rename(
"cellLevel");
44 bool haveFile =
returnReduce(rio.headerOk(), orOp<bool>());
47 Info<<
"Reading hexRef8 data : " << rio.name() <<
endl;
53 rio.rename(
"pointLevel");
54 bool haveFile =
returnReduce(rio.headerOk(), orOp<bool>());
57 Info<<
"Reading hexRef8 data : " << rio.name() <<
endl;
63 rio.rename(
"level0Edge");
67 bool haveFile = rio.headerOk();
70 reduce(haveFile, orOp<bool>());
75 Info<<
"Reading hexRef8 data : " << rio.name() <<
endl;
81 rio.rename(
"refinementHistory");
82 bool haveFile =
returnReduce(rio.headerOk(), orOp<bool>());
85 Info<<
"Reading hexRef8 data : " << rio.name() <<
endl;
95 const hexRef8Data& data,
100 if (data.cellLevelPtr_.valid())
103 rio.rename(data.cellLevelPtr_().name());
110 UIndirectList<label>(data.cellLevelPtr_(), cellMap)()
114 if (data.pointLevelPtr_.valid())
117 rio.rename(data.pointLevelPtr_().name());
124 UIndirectList<label>(data.pointLevelPtr_(), pointMap)()
128 if (data.level0EdgePtr_.valid())
131 rio.rename(data.level0EdgePtr_().name());
138 if (data.refHistoryPtr_.valid())
141 rio.rename(data.refHistoryPtr_().name());
143 refHistoryPtr_ = data.refHistoryPtr_().clone(rio, cellMap);
151 const UPtrList<const labelList>& cellMaps,
152 const UPtrList<const labelList>& pointMaps,
153 const UPtrList<const hexRef8Data>& procDatas
156 const polyMesh&
mesh =
dynamic_cast<const polyMesh&
>(io.db());
160 if (procDatas[0].cellLevelPtr_.valid())
163 rio.rename(procDatas[0].cellLevelPtr_().
name());
170 const labelList& procCellLevel = procDatas[procI].cellLevelPtr_();
171 UIndirectList<label>(cellLevel, cellMaps[procI]) = procCellLevel;
178 if (procDatas[0].pointLevelPtr_.valid())
181 rio.rename(procDatas[0].pointLevelPtr_().
name());
184 labelList& pointLevel = pointLevelPtr_();
188 const labelList& procPointLevel = procDatas[procI].pointLevelPtr_();
189 UIndirectList<label>(pointLevel, pointMaps[procI]) = procPointLevel;
196 if (procDatas[0].level0EdgePtr_.valid())
199 rio.rename(procDatas[0].level0EdgePtr_().
name());
206 procDatas[0].level0EdgePtr_()
214 if (procDatas[0].refHistoryPtr_.valid())
217 rio.rename(procDatas[0].refHistoryPtr_().
name());
219 UPtrList<const refinementHistory> procRefs(procDatas.size());
222 procRefs.set(i, &procDatas[i].refHistoryPtr_());
227 new refinementHistory
248 const polyMesh&
mesh =
dynamic_cast<const polyMesh&
>(io.db());
250 bool hasCellLevel =
returnReduce(cellLevelPtr_.valid(), orOp<bool>());
251 if (hasCellLevel && !cellLevelPtr_.valid())
254 rio.rename(
"cellLevel");
259 bool hasPointLevel =
returnReduce(pointLevelPtr_.valid(), orOp<bool>());
260 if (hasPointLevel && !pointLevelPtr_.valid())
263 rio.rename(
"pointLevel");
271 bool hasLevel0Edge =
returnReduce(level0EdgePtr_.valid(), orOp<bool>());
277 if (!level0EdgePtr_.valid())
280 rio.rename(
"level0Edge");
293 bool hasHistory =
returnReduce(refHistoryPtr_.valid(), orOp<bool>());
294 if (hasHistory && !refHistoryPtr_.valid())
297 rio.rename(
"refinementHistory");
299 refHistoryPtr_.reset(
new refinementHistory(rio,
mesh.
nCells(),
true));
306 if (cellLevelPtr_.valid())
308 map.cellMap().distribute(cellLevelPtr_());
310 if (pointLevelPtr_.valid())
312 map.pointMap().distribute(pointLevelPtr_());
317 if (refHistoryPtr_.valid() && refHistoryPtr_().active())
319 refHistoryPtr_().distribute(map);
327 if (cellLevelPtr_.valid())
329 ok = ok && cellLevelPtr_().write();
331 if (pointLevelPtr_.valid())
333 ok = ok && pointLevelPtr_().write();
335 if (level0EdgePtr_.valid())
337 ok = ok && level0EdgePtr_().write();
339 if (refHistoryPtr_.valid())
341 ok = ok && refHistoryPtr_().write();