- adjustments to internal handling to improve run-time addition of
other formats (eg, with additional user library)
For example, to write a binary STL with a '.stl' extension:
$ surfaceMeshConvert input.obj -write-format stlb output.stl
Or in a sampler,
to specify the input type without ambiguity:
surf
{
type meshedSurface;
surface sampling.inp;
fileType starcd;
scale 0.001;
...
}
STYLE: regularize naming for input/output scaling
* -read-scale (compat: -scaleIn)
* -write-scale (compat: -scaleOut)
CONFIG: change edge/surface selection name for STARCD format
- now select as "starcd" instead of "inp" to avoid naming ambiguity
with abaqus
- removed swapZones method (unused, potentially fragile)
- add subsetMesh by name
BUG: incorrect zone assignment in MeshedSurface::subsetMesh
- used the new (zero-sized) zone when determining the old zone ending
instead of the original zone bounds.
- refactor logic from triSurfaceMesh for triSurface, MeshedSurface,
UnsortedMeshedSurface.
Makes it easier to locate and use surface files without the
triSurfaceMesh (meshTools) infrastructure.
STYLE: remove unused sampledTriSurfaceMesh constructors
- treat 'ofs' IO just like any other format
- dropped BasicMeshedSurface, since MeshedSurface can now also have zero or
more zones
- UnsortedMeshedSurface is a special type of MeshedSurface with zero zones,
but with additional zoneId labels
- use MeshedSurfaceProxy for writing surfaces with points/faces/zones and
optional faceMap - provides output interface for MeshedSurface,
UnsortedMeshedSurface and surfMesh.
- simplify output to filenames only, I can't see that the Ostream
is needed anywhere
- surfMesh renaming now works, after the objectRegistry fix
- renamed surface regions (formerly patches or groups) to surfZone.
- added surfMesh, but without any of the patch information needed to make it
useful for finiteArea.
- promoted coordinateSystem transformation to surfaceMeshConvert and moved
old to surfaceMeshConvertTesting.
- ditched PrimitivePatchExtra in favour of a PatchTools class that is
currently just a collection of static functions. They could equally well
live within PrimitivePatch itself, but isolated also has its advantages.
- MeshedSurface, UnsortedMeshedSurface now have 'regions' instead of
'patches' since they are more like a faceZone for meshed surfaces than
patches. This might avoid confusion at a later stage.
- can use 'XX.empty()' instead of 'XX.size() == 0', 'XX.size() < 1' or
'XX.size() <= 0' or for simpler coding.
It also has the same number of characters as '!XX.size()' and /might/ be
more readable
- many size checking had 'XX.size() > 0', 'XX.size() != 0', or 'XX.size() >= 1'
when a simple 'XX.size()' suffices
- all formats except ftr and gts are now read as MeshedSurface (thus sorted
immediately). Avoid unnecessary sorting during construction though.
- moved cleanup routines completely into PrimitiveMeshedSurface
- use new HashSet capabilities and sortedOrder function
- make STL format a MeshedSurface instead of an UnsortedMeshedSurface for
better (MeshedSurface) reader efficiency