Skip to content
Snippets Groups Projects
  1. Feb 12, 2019
  2. Jan 07, 2019
  3. Feb 11, 2019
  4. Feb 08, 2019
  5. Feb 11, 2019
  6. Feb 08, 2019
    • Henry Weller's avatar
      isoSurface: Fix for isoSurface 'eroding' surfaces down to nothing · 9580a0e2
      Henry Weller authored
      The occurrence is from cells with vertices that are shared between two faces
      only (these vertices can originate from hex refinement). Decomposing both faces
      can occasionally produce triangles with identical vertices and this results in a
      non-manifold edge which triggers the erosion procedure.
      
      Avoided by detecting cells with these special vertices and making sure the tet-decomposition
      never uses the same points on the faces using them.
      
      Patch contributed by Mattijs Janssens
      9580a0e2
  7. Feb 11, 2019
  8. Feb 08, 2019
  9. Feb 07, 2019
  10. Jan 22, 2019
    • Mark OLESEN's avatar
      ENH: improved handling of zone allocation in surfMesh · 0800e021
      Mark OLESEN authored
      - relocate zone IO from Detail::MeshedSurfaceIOAllocator into surfMesh
        directly to allow re-purposing of MeshedSurfaceIOAllocator
      
      - provide meshedSurf::emptySurface zero-sized placeholder implementation
      
      - add concrete implementation of meshedSurf::zoneIds() to simplify
        overloading
      0800e021
  11. Feb 07, 2019
    • Mark OLESEN's avatar
      ENH: extend size of NullObject for safer reinterpret cast · eaa3da72
      Mark OLESEN authored
      - previously had a single pointer/value zeros (8 bytes), this meant
        that the reinterpret cast to a List would yield a reference that
        could be unsafe under certain conditions.
      
        Eg,
           const labelList& myList = labelList::null();
      
           Info<< myList.size() << nl; // OK since size is the first parameter
      
           SubList<label>(myList, 0);  // Unsafe
      
        The SubList usage is unsafe since it passes in pointer and size into
        the underlying UList. However, the pointer from the labelList::null()
        will be whatever happens to be around in memory immediately after the
        NullObject singleton. This is mostly not a problem if the List size
        is always checked, but does mean that the data pointer is rather
        dubious.
      
      - Increase the size of the nullObject singleton to 32 bytes of zeros
        to ensure that most reinterpret casting will not result in objects
        that reference arbitrary memory.
      
        The 32-byte data size is rather arbitrary, but covers most basic
        containers.
      eaa3da72
    • Mark OLESEN's avatar
  12. Feb 05, 2019
  13. Feb 07, 2019
  14. Feb 06, 2019