On Sep 14, 2015, at 5:09 AM, Daniel Roßberg <danielmrossb...@gmail.com> wrote:

> And in a first test I was able to analyse my geometry this way.
> However, setting a_no_booleans to 1 seems to have the same effect:
> a_hit is called for every region of an overlap.  Is this
> intentionally?   What's the purpose of a_no_booleans?

Not intentionally… the a_no_booleans flag was added a long time ago for the 
solids_on_ray command as a simple way to figure out what solids are along a 
given shotline.  It tells the boolean weaver to just treat all segments as 
separate objects so that segment == partition, with no merging or boolean 
evaluation occurring.  Everything just gets returned.

> How should a simple a_multioverlap look like?  rt_default_overlap() is rather
> complex, starting with FASTGEN region checks.

Usually something like:

void my_overlap(struct application *ap, struct partition *pp, struct bu_ptbl 
*regiontable, struct partition *InputHdp) {
        /* do whatever you want */
        return rt_default_multioverlap(ap, pp, regiontable, InputHdp);
}
 :)

If you really don’t want the default handler to do things for you, just skip 
over the big fastgen-compatibility block (look for the "Examine the overlapping 
regions, pairwise” loop).  You’ll iterate over the region table and apply any 
behavior you want.  You can see an extra-simplified version that just print the 
overlap in rt_silent_logoverlap().

Cheers!
Sean


------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to