On Apr 28, 2013, at 12:46 PM, Csaba Nagy wrote:

> In case you haven't noticed already, I uploaded the patch with the
> surface, volume and centroid functions for the pipe primitive to the
> analyze command.

Csaba, I certainly noticed. :)  Patches are very high priority to me.

> I suppose the GSOC has priority because of deadlines, but I also would
> like to get some feedback for this patch:

Actually, the priority over the past couple weeks has been towards getting a 
new release of BRL-CAD posted.  We're many many months overdue, so it's become 
a critical priority.  There was just a huge backlog to get through.  We're down 
to just three issues remaining (from 350+ a month ago).

That's the only delay holding back integration of any new code, patches 
included.  We have some GCI patches on hold for the exact same reason.  Each 
little snippet delays release because every commit undergoes peer review and 
testing.

> I have the pipe length function also ready, but left it out to keep the
> patch smaller.

That's perfect.  My quick look through the patch a couple weeks ago and it 
looked good.  As soon as the release is tagged, it'll be one of the first to 
get applied.

> To facilitate introducing new elements to be displayed by the analyze
> command, I would also like to discuss possible refactoring of the
> analyze.c code to split it in model/view structure, where the model is
> filled by the primitives, and the analyze command is just one of the
> possible views. I do think about another view for populating TCL
> variables in mged.

That sounds great and is in line with my ideas for the code as well.  
Basically, anywhere there's a switch block with cases for each primitive, 
that's a prime candidate for refactoring up into the primitive's functab 
callback table (src/librt/primitives/table.c) so calling code is not explicitly 
aware of specific primitives.

Higher level functions (the model as you described it) I see living in librt 
and/or libanalyze.

> Also the model I would like should allow extensively querying the
> primitives for key elements (e.g. the centers of the bends for a pipe).

This has been planned (and started) as part of our parametric constraint 
interface to geometry, whereby you can query an object for it's parameters.  
This extends naturally to being able to query structural elements such as 
faces, edges, and vertices.  A medial axis function has also come up in 
discussion (you can generate a centerline from a medial axis).

Cheers!
Sean


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to