|
| Newsletter: December 2008 |
| Quick Links |
|
|
|
| PolyMLib DE Editors Pick of the Week |
|
Solid Modeling Solutions is very pleased to have our new polygonal mesh library as the Editors Pick of the Week by Desktop Engineering. In the November 19th issue, Tony Lockwood, Editor-in-Chief at Desktop Engineering opened the article with the following statement:
“Geometric kernels are the heart of it all. Everything you do in your solid modeler, CAE, rendering, metrology software, and so on relies on the libraries of mathematical algorithms in its geometry kernel. It's a shame that nobody really pays attention to the kernel in their 3D applications because it's really big news when one gets upgraded. Actually, I'll take that back. You'll hear the news later when your 3D application developer rolls out a new version of its software, only chances are they'll not note that spiffy new feature is courtesy of the kernel developer. Such is the quiet life of the kernel developer.”
Tony went on to say later in the article:
“PolyMLib is a object-oriented toolkit that provides a set of tools to repair, optimize, review, and edit triangle mesh models. That is, PolyMLib makes the postprocessing of 3D scanning meshes better. And it’s more than just some tools to fix topological inconsistencies, rub out measurement noise, and reduce mesh complexity. PolyMLib has such functionality that helps you find and remove short edges, avoid self-intersections when repairing a hole, smooth and decimate a mesh, and visualize your scan with realistic materials. It has a deep, robust assortment of tools for mesh repair on the input side and for comparing, inspecting, and optimizing meshes on the output side. In short, PolyMLib is a high-end toolkit that makes scanning data cleanup, analysis, repair, optimization, and visualization happen the way you know it should. That's why it’s big news when a geometric kernel developer comes out with a new version.”
PolyMLib details can be found on our website at www.smlib.com/polymlib.html and the DE article can be found at www.deskeng.com.
|
| Source Code Releases Improve Our Kernel Libraries |
|
There were a number of real improvements to the library due to the contributions and suggestions of our users. Access to the source code gives our users the opportunity to not just report bugs, but to provide or suggest solutions and identify trouble spots. In some cases, suggested code was implemented, and in a number of situations, new functionality, improved reliability, and enhanced performance was the result.
Many of SMS's key geometry operations like the projection of a curve on to a surface, intersections, ray tracing, and point classification to just mention a few, all depend on a family of solvers that work quickly because they work directly from clever curve and surface cache data structures which have been evolving for years. This year these curve and surface caches at the heart of the SMS suite of solver programs were reviewed and rewritten to reduce both the amount of memory they used and to speed up the solvers that depend upon them. Ray tracing functions ran more than five times as fast and memory usage for intersection problems and point classifications dropped at least by a factor of four and to as little as one part in ten in some cases.
Memory tools were also added so that application packages can now ask the SMS libraries for current run-time memory sizes for any and all of the SMS library run-time objects. This feature has been key in helping customers that run multi-thread applications plan at run-time how many threads to launch without exceeding the memory resources of the host machine.
The key function Sew() has been reworked to make it more robost. It is currently written to reconnect independent faces which originally came from a manifold model. This feature is often critical when importing IGES files in which an original manifold object was passed as a set of stand alone faces. The Sew function is currently under reconstruction to extend its capability to connect all faces along common boundaries for both manifold and non-manifold situations.
AssertValid() functions have been implemented for almost every SMLib object class so that any object can self-diagnose its data for consistency and validity at run-time. These are used extensively within the library when compiled in debug mode and are all omitted when compiled in release mode. As a result debug mode run-times now run several times slower than release mode run-times, but they quickly help to identify and isolate problems from poor input geometry or internal library failures.
A new class has been added to enable users to take control and execute actions anytime an object's Notify() method is called. The surface/point solved methods have been rewritten, simple fillets can be removed from a body, fillet identification has been improved, there is a new method for calculating bounding boxes, compute properties has been enhanced speed and precision, offset curves has more robustness and precision, to name a few more of the enhancements to the libraries this year.
|
| Solid Modeling Solutions Wishes Everyone Happy Holidays |
|
SMS would like to wish each and everyone a very happy holiday. Regardless of your tradition, we would like to take this opportunity to recognize this time of year as a time of reflection, thanks, and anticipation. It is a time to recall the many trajedies of the year including the destruction of the tsunami, the hurricanes, the earthquakes, and the HIV/AIDS pandemic. Further, we would like to encourage all to find a relief agency and give generously to address these and many other needs in the world. We wish a Merry Christmas to those who follow that tradition, a happy Hannakah to our Jewish friends, and to all a very happy new year. |
From the staff of Solid Modeling Solutions
|
| Back To Top |
|
Copyright © SMLib, TSNLib, GSNLib, NLib, VSLib, and PolyMLib are trademarks of Solid Modeling Solutions. ACIS is a registered trademark of Spatial Corporation. All rights reserved. |
|
|
|