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

Reply via email to