Skip to content

Lagrange Release v6.2.0

Compare
Choose a tag to compare
@jdumas jdumas released this 08 Jun 16:52
· 46 commits to main since this release

Infrastructure

  • Renamed old SmallVector class to StackVector
  • Added new SmallVector class in core that can grow beyond the initial stack allocation by using the heap.
  • Update NanoSVG CMake recipe
  • Update MshIO to fix linking warning
  • Update PortableFileDialog to fix macOS file filtering bug
  • Fix Doxygen documentation

New SurfaceMesh Features

  • Function unify_index_buffer() now supports SurfaceMesh objects
  • Added compute_facet_normal() for SurfaceMesh objects
  • New mesh conversion utilities in <lagrange/mesh_convert.h>:
    • to_surface_mesh_copy()
    • to_surface_mesh_wrap()
    • to_legacy_mesh() (will always copy)
  • Added ref_vertices() and ref_facets() methods to the legacy Mesh() class, to allow wrapping as non-const buffer in the new SurfaceMesh class.
  • Added an overload to SurfaceMesh::initialize_edges() that uses a callback function to specify an arbitrary ordering.
  • Added utility functions reshaped_view and reshaped_ref to view a single-channel attribute as a 2D matrix for regular meshes, similar to how facet_view works.

UI Module

  • Open + save file dialogs now support WebAssembly
  • New abstract class representing path object. This class uses RAII to transparently handle cleanup operations required by the WebAssembly implementation of open/save dialogs, e.g.:
    • Remove object from tmp file system on destruction
    • Download output file on destruction