On Sep 14, 2015, at 5:09 AM, Daniel Roßberg <[email protected]> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel