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.149604,Null}
In[]:=
OverlappingBBoxes[aabbtree,testbboxes[[1]]]//Length//RepeatedTiming
Out[]=
{5.65947×
-6
10
,88}
In[]:=
OverlappingBBoxes[aabbtree,#]&/@testbboxes;//RepeatedTiming
Out[]=
{0.686218,Null}