- wrap command-line retrieval of fileName with an implicit validate.
Instead of this:
fileName input(args[1]);
fileName other(args["someopt"]);
Now use this:
auto input = args.get<fileName>(1);
auto other = args.get<fileName>("someopt");
which adds a fileName::validate on the inputs
Because of how it is implemented, it will automatically also apply
to argList getOrDefault<fileName>, readIfPresent<fileName> etc.
- adjust fileName::validate and clean to handle backslash conversion.
This makes it easier to ensure that path names arising from MS-Windows
are consistently handled internally.
- dictionarySearch: now check for initial '/' directly instead of
relying on fileName isAbsolute(), which now does more things
BREAKING: remove fileName::clean() const method
- relying on const/non-const to control the behaviour (inplace change
or return a copy) is too fragile and the const version was
almost never used.
Replace:
fileName sanitized = constPath.clean();
With:
fileName sanitized(constPath);
sanitized.clean());
STYLE: test empty() instead of comparing with fileName::null
This class is largely a pre-C++11 holdover. It is now possible to
simply use move construct/assignment directly.
In a few rare cases (eg, polyMesh::resetPrimitives) it has been
replaced by an autoPtr.
- polyMesh constructor from cell shapes invoked 'removeFiles'.
This may or may not be what the caller wants or expects.
With the ParaView blockMesh viewer, this behaviour causes deletion of
all mesh data (points, faces, etc) when the viewer is refreshed.
Triggered even when just building the blockMesh topology.
- only a few places that construct a polyMesh from cell shapes
(mostly mesh conversion utilities).
Ensure that the file removal (if any) occurs in the application
and *not* as a side-effect of calling the polyMesh constructor.
--
blockMesh (application)
- The placement of the removeFiles seems to also remove freshly
generated sets (Bug or feature to remove sets?)
+-----------------------+---------------+------------------+
| Application | Constructor | removeFiles |
| | (patch info) | new / existing |
+-----------------------+---------------+------------------+
| blockMesh | dictionary | existing |
| ansysToFoam | names | new |
| cfx4ToFoam | dictionary | new |
| fluentMeshToFoam | names | new |
| gambitToFoam | dictionary | new |
| gmshToFoam | names | new |
| ideasUnvToFoam | names | new |
| kivaToFoam | dictionary | new |
| mshToFoam | names | new |
| netgenNeutralToFoam | names | new |
| plot3dToFoam | names | new |
| tetgenToFoam | names | new |
| vtkUnstructuredToFoam | names | new |
+-----------------------+---------------+------------------+