Skip to content

BRL-CAD 7.40.0

Compare
Choose a tag to compare
@starseeker starseeker released this 16 Aug 13:46
· 439 commits to main since this release

2024-08-16 Release 7.40.0

This major release of BRL-CAD improves the robustness of the facetize command. Building on work begun in 7.38.0, for the first time BRL-CAD is able to successfully facetize all of BRL-CAD's example geometries. This involves a major change to the processing pipeline of the facetize command, allowing handling of individual primitives to be fault tolerant and automatically attempting fallback methods. Historically BRL-CAD facetize has attempted to produce output meshes even when individual operations fail by silently skipping over failing inputs, but now this behavior is changed to a stricter policy of halting when individual elements of the process do not succeed.

This release also incorporates the tool 'gist' for generating a one page graphical overview and summary of the contents of a .g database. This tool is the culmination of work by multiple student teams from Texas A&M University and incorporates automatic layout features to produce geometry-appropriate visual arrangements.

Also new in this release are capabilities for testing and repairing triangle meshes. The lint command will now validate solid BoT
behavior with the raytracer, and the 'bot repair' command is able to perform hole filling operations on some categories of non-manifold BoTs. Another related new feature allows users to generate explicit volumetric BoTs using plate mode BoTs as inputs via the 'bot extrude' command.

This release introduces a major change in the management of 3rd party dependencies. The src/other directory has been replaced by an external repository specifically tasked with the job of managing 3rd party libraries. By default BRL-CAD will download and build necessary dependencies as part of its build automatically. However, note that an internet connection is required by default to access this repository. See the INSTALL file for more details and options for preparing to build without internet availability.

Developers requiring only a subset of BRL-CAD (for example, if a project only needs librt and its dependencies) can now define subsets of BRL-CAD to build with the BRLCAD_COMPONENTS variable. See INSTALL for more information.

  • improved obj-g import naming - Chris McGregor
  • added importer attr to stl-g and obj-g BoT objects - Cliff Yapp
  • improved object name generation for stl-g importer - Cliff Yapp
  • updated 3dm-g input attribute: converter -> importer - Cliff Yapp
  • fixed mged 'search -or' filter behavior - Cliff Yapp, Chris McGregor
  • major improvements to 'gist' features and usability
    - Rohan Dhawan, Leo Feng, Sam Hollenbeck, Timothy Pham,
    - Yida Zou, Chris McGregor
  • updated pinewood.g test model - Josh Baker
  • updated edcodes man page and help text - Josh Baker
  • update mvall man page - Josh Baker
  • updated OpenCV library to version 4.10.0 - Cliff Yapp
  • updated GDAL library to version 3.9.0 - Cliff Yapp
  • improved 3dm-g error message when file does not exist - Cliff Yapp
  • added new BoT raytracing validity checks to lint cmd - Cliff Yapp
  • removed upper limit on MGED pnts cmd point count - Cliff Yapp
  • added a -t option to bot flip to check BoT orientation - Cliff Yapp
  • fixed shaded drawing of CW BoT solids - Cliff Yapp
  • added reair man page - Josh Baker
  • added 'help reair' mged command help text - Josh Baker
  • added experimental 'imgdiff' command-line tool - Cliff Yapp
  • updated OpenNURBS library to version 8.8.24166.15000 - Cliff Yapp
  • improved 'help lc' mged command help text - Josh Baker
  • added 'help lint' mged command help text - Josh Baker
  • added man pages for 'bot check' and 'bot extrude' cmds - Cliff Yapp
  • enhanced bot extrude command to output a BoT mesh - Cliff Yapp
  • added bot check manifold cmd for bot validity testing - Cliff Yapp
  • added bot repair command for filling holes in meshes - Cliff Yapp
  • added Utah RLE image reading and writing to libicv - Cliff Yapp
  • added "standardize" option to GED attr command - Cliff Yapp
  • added -L option to dbconcat for lazy prefix/suffix use - Cliff Yapp