Release v2.3.9.192

March 18, 2024

Updates

Meshes:

  • Optionally return left mesh from trimWithPlane(…)
  • Support fully degenerate triangles in Delaunay check
  • Fix raytracing on GPU, output intersection point
  • SubdivideSettings::projectOnOriginalMesh and RemeshSettings::projectOnOriginalMesh
  • Compute connected components of undirected edges
  • MeshTopology::flipOrientation( const UndirectedEdgeBitSet * fullComponents )

Polylines:

  • Add Polyline::edgePoint(EdgePoint) and toEdgePoint
  • Section polylines

Point Clouds:

  • Triangulation: use the given number of nearest neighbors instead of a fixed radius
  • Local Triangulations: quality improvements and performance optimizations, better triangulation of regular grids
  • Auto-orient local triangulations without point normal
  • autoOrientLocalTriangulations(…) returns repeated triangles
  • Implement makeOrientedNormals(…) via autoOrientLocalTriangulations(…)
  • findBoundaryPoints(…) moved in TriangulationHelpers and implemented via local triangulation
  • Add functions to find (e.g. large) point cloud components
  • Add trimWithPlane(…) for point clouds
  • findAvgPointsRadius(…) now computes actually average radius
  • Improve points sampling, more output options
  • pointsToDistanceVolume(…) for signed distance field computation near points with normal, CUDA version of the function
  • pointsFusion(…) to convert point cloud with normals into mesh via signed distance volume

Python interface:

  • Exposed BuildSettings for building a mesh from numpy
  • Expose all edgePoints
  • Expose mesh normals to python and to numpy
  • Expose movement body
  • Expose straighten boundary
  • Expose make bridge function
  • Add duplicate non-manifold vertices param in numpy

UI & Visualization:

  • Add points and lines in dense box
  • Support picker in point cloud mode / Add ObjectPoints and ObjectLines support in SurfacePointWidget and SurfaceContoursWidget
  • Clip plane affects labels (fully show/hide by pivot point)
  • detectFlatShading(…) decides by area near sharp edges
  • Add clickable object names
  • renderUi() objects now block onMouseDown events
  • Find available custom themes
  • Decrease default splash screen time
  • Better angle visualization
  • Add toolbar upgrade mechanism
  • Highlight selected primitives count in menu by red color
  • Display mesh volume on information tab
  • Settings window enhancements
  • Enable deleting groups in side menu
  • Add transparent checkbox in screenshot tool

OS support:

  • Opens given file in associated application – OpenDocument( path )
  •  Use native file dialogs on MacOS
  • Fix main window focus after file dialog on MacOS
  • Fix typeid comparisons on MacOs
  • Remove obsolete dependencies on MacOS.
  • Force X11 usage on Linux
  •  Improve custom OpenCASCADE build support, fix missing OpenCASCADE library dependencies
  • Rework Ubuntu build process
  • Display shortcuts with ‘Super’ modifier, fix Mac shortcut

Data Model/Infrastructure/Serialization:

  • Introduce SceneRootObject
  • Add pointsSelectionChangedSignal
  • Add setRenderDiscretizationSignal
  • Serialize point size and line width
  • A saner VisualizeMaskType

Basic algorithms, functions, macros:

  • BitSetParallelForAllRanged(…)
  • Add unreachable macro variant w/o return statement

Load/Save Formats:

  • Export color map in .OBJ format
  • Load point colors from .ASC format
  • Speed up reading .ASC files
  • Unify reading from plain text point formats
  • Load quadrangles from .OFF files
  • Load .MISON format
  • Refactor reading .STEP model files

Autotests:

  • Decimate including degenerate faces check
  • Subdivide including degenerate faces check
  • Offset
  • Fill hole
  • Stitch holes
  • makeBridge
  • Registration
    Features – work in progress

Many other usability and stability improvements, better documentation, fast build times.

Book a call with us