[MOAB-dev] create ray_intersect_all_sets function

Jason Kraftcheck kraftche at cae.wisc.edu
Mon Apr 5 11:42:52 CDT 2010


hongjun at mcs.anl.gov wrote:
> I think my way of communication looks wrong. Sorry. I think I need more
> explanations here as follows.
> 
> To find all surface intersections to geomtry (not just only one
> intersection to geometry), 

What are "surface intersections to [geometry]"?

> current "ray_intersect_sets" needs large
> distance tolerance to cover all geometries. The large tolerance makes it
> take long time to find all surface intersections. (several minutes for
> simple geometry)
> 

Why does it need a large tolerance?


> My version is similar to the function "ray_intersect_triangles" as
> follows. It does box intersection test at first to store intersected
> boxes and surface sets. After that, it checks
> "GeomUtil::ray_tri_intersect" to do intersection check with triangles in
> stored boxes. 

But that looses all tracking of geometry subtrees.  If all you want is the
intersect triangles, why not just use ray_intersect_triangles?  What "sets"
does your "ray_intersect_all_sets" function pass back?  The tree leaves?

> However, current "ray_intersect_sets" searches all leaf
> nodes within large tolerance and then do "GeomUtil::ray_tri_intersect"
> check for almost all triangles.

Yes, if you give it an extremely large tolerance, then by definition the ray
will intersect almost everything.  Why are you specifying a large tolerance?


- jason


More information about the moab-dev mailing list