Code

Utilities


AABBTree


OverlappingBBoxes


Example

In[]:=
randomBBox[n_]:=With[{llcorners=RandomReal[{-10,10},{n,3}]},Transpose[{llcorners,llcorners+RandomReal[{1,1},{n,3}]},{3,1,2}]]
In[]:=
SeedRandom[1];​​bboxes=randomBBox[100000];​​testbboxes=randomBBox[100000];
In[]:=
aabbtree=AABBTree[bboxes];//RepeatedTiming
Out[]=
{0.14208,Null}
In[]:=
OverlappingBBoxes[aabbtree,testbboxes[[1]]];//RepeatedTiming
Out[]=
{0.0000101769,Null}
In[]:=
OverlappingBBoxes[aabbtree,#]&/@testbboxes;//AbsoluteTiming
Out[]=
{1.31332,Null}