ENH: additional topoSources, and consistency changes (#1060)

- faceBitSet, pointBitSet and faceBoolSet (similar to cellBitSet)
  * allows topo sources in a wider variety of places.
  * With copy or move constructors.

- cylinderToPoint, searchableSurfaceToFace, searchableSurfaceToPoint,
  sphereToFace, sphereToPoint sources

- optional innerRadius for sphere and cylinder sources to treat as hollow.

- support "sets" as well as "set" for cellToCell, faceToFace... sources.

  * convenience and avoids writing the set during processing.
This commit is contained in:
Mark Olesen
2018-11-06 18:25:05 +01:00
parent 644c0f4a86
commit 6090faedef
68 changed files with 3481 additions and 540 deletions

View File

@ -157,6 +157,12 @@ public:
selectedCells_(selectedCells)
{}
iNew(const fvMesh& mesh, labelList&& selectedCells)
:
mesh_(mesh),
selectedCells_(std::move(selectedCells))
{}
autoPtr<setCellField> operator()(Istream& fieldValues) const
{
word fieldType(fieldValues);
@ -348,6 +354,12 @@ public:
selectedFaces_(selectedFaces)
{}
iNew(const fvMesh& mesh, labelList&& selectedFaces)
:
mesh_(mesh),
selectedFaces_(std::move(selectedFaces))
{}
autoPtr<setFaceField> operator()(Istream& fieldValues) const
{
word fieldType(fieldValues);
@ -438,7 +450,7 @@ int main(int argc, char *argv[])
PtrList<setCellField> fieldValues
(
region.dict().lookup("fieldValues"),
setCellField::iNew(mesh, selectedCellSet.toc())
setCellField::iNew(mesh, selectedCellSet.sortedToc())
);
}
else if (source().setType() == topoSetSource::FACESETSOURCE)
@ -459,7 +471,7 @@ int main(int argc, char *argv[])
PtrList<setFaceField> fieldValues
(
region.dict().lookup("fieldValues"),
setFaceField::iNew(mesh, selectedFaceSet.toc())
setFaceField::iNew(mesh, selectedFaceSet.sortedToc())
);
}
}