2014-08-17 23:27 GMT+02:00 Christopher Sean Morrison <[email protected]>:
<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
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel