1) In the struct region, is the reg_regionid variable a unique id for non air code regions?
2) In the struct partition there is pt_overlap_reg ptr to overlap regions. How does BRLCAD handle the overlap? Does the In pt of the overlap region precede the Out pt of the preceding region along the ray in distance from the origin of the ray? In other words, the user better handle the inconsistancy.
3) Is there any other method of getting to the partition list after an rt_shootray than through the a_miss callback function? I am currently having to load a "C" style array of hit data locally and then having to copy that to C++ std::vector via my wrapper Class.
4) In the struct rt_i, I am using the HeadRegion ptr to access info on the available regions in the model. There is a comment in the code that this variable should be considered Opaque. Is there another or better method for getting a list of regions from the rt_i?
Thanks! I just have to get my head back to "C" mode in order to try to understand the api. I currently have printouts of raytrace.h scattered all over the place.
Thanks again for the replies. Here is a quick follow up to the responses.
1) I was hoping the reg_regionid was unique, thanks for the confirmation that it is not.
2) I think the default overlap handler works just great for now :) I do not even want to think about writing my own at this time.
3) The application->a_uptr works great for callbacks from the Hit function. Thanks for the tip. My only problem is the Microsoft compiler getting upset with some of the macros VJOIN and RT_HIT_NORMAL. Some nonsense about bu_badmagic.
Thanks again! The info is a big help.