2014-08-17 23:27 GMT+02:00 Christopher Sean Morrison <brl...@mac.com>: <snip> >> The creation of a libnmg required to create a libnurb too. NURBs are >> used by the bspline and nmg primitives and to avoid a cyclic >> dependency between librt and libnmg they had to be moved inty an own >> library. However, libnmg still uses data structures defined in >> raytrace.h necessary for the ray-tracing code in libnmg. raytrace.h >> is included in some of the libnmg source files but not in the nmg.h >> interface declaring header file. Furthermore the vlist code had to be >> moved from librt to libnmg. > > Would the cyclic dependency exist if we eliminated all of the old bspline > code? That is, we could intently remove the ability to store non-polygonal > geometries in the same NMG container. I'd like to do an audit of the > algorithms before that is done, but it is certainly an option now that the > brep entities are far superior in almost every way. If there are other > merits of maintaining support for multiple representation forms in that same > container, we should take them into consideration as well.
Probable not, but after moving the NURB code into a separate library (libnurb) there is no cyclic dependency with regard to bspline code any more. However, reviewing the libnmg code I saw that it uses the rt_uniresource global variable. Removing this dependency isn't trivial at least. Replacing it by a new created, generic structure isn't possible because this would require to use its librt init function. Regards, Daniel ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ BRL-CAD Developer mailing list brlcad-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-devel