What is new in RINGMesh 4.1.0 ?
New Features:
- New thread safe logger:
- Each call to Logger::XXX will output consistently in the console in multithreading environment.
- The Logger uses variadic templates, you can use as many parameters as you want in the function.
- Add possibility to run specific validity check on GeoModels (topology, geometry, all, ...)
- ASCII surface STL export
- First implementation of a stratigraphic column
- Add Feflow export using .fem file. Support wells as discrete fractures and mixed element mesh.
- Add symmetric entity relationships management, an entity is the boundary of another entity and the reverse is automatically set. Same things for the parents/child relations.
- New version of the .gm file format which not contains the GEOL_FEATURE on Mesh Entities anymore.
- Export to gmsh file format (V2).
- Add MeshSet, a mesh composed from all the other mesh types (PointSet, Line, Surface and Volume).
Bug fix:
- Crash when GeoModelMesh was initialized before the GeoModelMeshEntity geometries were set.
- Cannot delete Mesh in RINGMeshView.
- Fix crash on RINGMeshView exit (Logger was still register).
- RINGMesh now compiles when TetGen cmake option is set to off.
- GeoModelMeshVertices was not cleared after a tetrahedralize step.
Improvements:
- Refactoring of the io to have smaller files.
- Explicit distinction between the denomination of GeoModelMeshEntity and GeoModelGeologicalEntity:
- Now, gmme_t are used to identify a GeoModelMeshEntity (with and index and a type).
- Now user who want to use GeoModelEntity has to give a particular attention on The type of GeoModelEntity because EntityType are not a std::string anymore. GeologicalEntityType and MeshEntityType inherit from the class EntityType.
- Remove MeshAllD and inherited classes, user should only use Mesh0D, Mesh1D, Mesh2D or Mesh3D.
- The GeoModelMesh has been modified according this modification.
- Improve some designs by using the NRVO/RVO (Named Return Value Optimization)
- Use C++11 smartpointers for all the pointers allocated on the heap
- Remove complex inheritance design of the GeogramMesh and GeogramMeshBuilder classes
- Add naming distinction between a facet (a boundary polygon of a cell) and a polygon (a surface mesh element)
- Mesh Entities have no longer a GEOL_FEATURE.
- Refactoring of the GeoModel graphics
- Create enums for classifying cells (CellType) and polygons (PolygonType).
Deprecated:
- Remove support of .ogm
- Remove support of .mesh and .meshb
Architecture:
- All third party files (zlib, geogram) are now in a "third_party" directory at the RINGMesh root.
- Removal of ThreeJS third party.
- Add formatter settings for Visual Studio 2013 (12.0) and Visual Studio 2015(14.0).
- Formatters are uniform between Visual and Eclipse.
- A cmake configuration file was created to ease the integration of RINGMesh in other software which is generated by cmake.
- This file is cmake/RINGMeshConfig.cmake. See doxygen documentation (doc/dox/cmake_integration.dox) for more details.