BRL-CAD Release 7.18.0

BRL-CAD Release 7.18.0

We are pleased to announce the availability of BRL-CAD 7.18.0. Since our previous public release announcement, there was another 7.16 stabilization release and there have been more than 50 user-visible changes to BRL-CAD. Among those changes include significant development on NURBS support, MGED enhancements, geometry conversion, Windows portability, documentation, and more.

BRL-CAD's support for NURBS boundary representation geometry continues to be a primary development focus area so BRL-CAD may faithfully represent external CAD models without having to convert to a polygonal representation. Support for NURBS ray tracing continues to advance steadily with improved wireframes, enhanced surface evaluation, and overall robustness improvements. Enhancements to NURBS wireframes provides a much better visualization of surface contours and ray tracing improvements resolve the majority of previously observed rendering problems.

Numerous MGED command bugs have been fixed including an output formatting problem with 'nirt' ; a problem with 'red' deleting attributes; garbage output in results from 'idents' , 'solids' , and 'regions' ; and much more. By popular request, the 'rt' command is now capable of outputting directly to the PNG image file format along with support for PPM, BMP, and BW images. A new albeit preliminary Bag of Triangles (BoT) editing interface has been developed for Archer and MGED to consolidate and organize the various BoT processing commands into a unified easy-to-use interface. Also included is the conclusion of a phenomenal effort by Jesica Guidice who meticulously translated approximately 150 pages of MGED tutorial documentation from English to Spanish. The 16 tutorials are now fully converted while work continues on the technical side towards publishing corresponding PDF documents on the BRL-CAD website.

Other fixes include numerous NMG/BoT robustness improvements supporting geometry conversion and export. In support of this robustness work, a new sophisticated 'conversion.sh' test script is available that attempts to convert all geometry in specified .g files to NMG and BoT format with results reported in a concise and organized manner. With repeatable metrics and numerous failure cases in hand, work can begin towards systematically addressing common problems that affect geometry conversion and export.

Special thanks go out to Ă–sten Lundahl, Rob Shinn, Jesica Giudice, Luciano Lamaita, John Anderson, Nicholas Reed, Cliff Yapp, Richard Weiss, Erik Greenwald, Bob Parker, Sean Morrison, and Keith Bowman for their contributions to this release. Since release 7.16.8, the categorized changes include:

MGED

  • improved NURBS wireframes with interior surface lines
  • improved support for unlimited object counts in mged
  • fixed 'erase_all' behavior so 'who' gives correct lists
  • fixed idents, solids, and regions output
  • fixed running mged external tools (e.g., rt) after 'cd'
  • new BoT editing interface for mged and archer
  • fixed mged zap crash while using preview
  • added ability to toggle mged status bar via .mgedrc
  • new mged 'bot' command for accessing BoT properties
  • fixed nirt output formatting in MGED
  • mged 'red' command no longer deletes custom attributes
  • fixed crash using bot_split on non-"plate mode" BoTs
  • improved NURBS curve evaluation for mged brep command
  • fixed OpenGL framebuffer Mac refresh bug

Ray Tracing & Analysis

  • rt can now output directly to PNG, among others
  • additional NURBS raytracing robustness improvements
  • fixed NURBS raytrace bug grazing nearly flat surfaces
  • fixed 'pnts' point cloud primitive memory access bug
  • improved robustness of CSG boolean tree processing
  • added ray bundle shooting capability to rtshot
  • increased optimized package run-time performance
  • fixed crash when raytracing multiple frames

Conversion

  • increased performance of facetization and export
  • fixed infinite loop bug converting to NMG and BoT
  • fixed crash during BoT decimation
  • improved robustness of facetization and export
  • cleaner logging of facetize command BoT failures
  • fixed crash-on-exit bug with iges-g importer
  • fixed crash tessellating pipes with maximum bends
  • fixed extrude object tessellation failures

Windows

  • ported benchmark suite to Windows (requires 'sh')
  • improved Windows installer desktop shortcut creation
  • improved loading of Pro/E export plugin on Windows
  • added all remaining shape tools to the Windows build

External Dependencies

  • libpng updated from version 1.4.1 to 1.4.3
  • Tcl/Tk updated from 8.5.6 to 8.5.8
  • added Tktable 2.10 external dependency for archer

Documentation

  • expanded rtarea documentation with examples and detail
  • spanish translation for tutorials 4-5 and 7-16
  • added manual page for 'random' number generator tool

Archer

  • restored archer view commands to work without a .g file
  • improvements to the primitive creation menu in archer
  • improved archer object list view

Misc

  • removed pl-sgi plot tool
  • removed 'query' command line prompting tool
  • fixed framebuffer shutdown and memory management bugs
  • fixed pixhalve memory leak and corruption on exit
  • fixed heap corruption writing NURBS sketch objects
  • added fullscreen display mode via F5 keybinding to ISST
  • fixed memory leak in ISST during window resizing
  • fixed running multiple framebuffer servers concurrently