public void GetAll(List <MyClusterQueryResult> results) { this.m_clusterTree.GetAll <MyCluster>(m_resultList, true, null); foreach (MyCluster cluster in m_resultList) { MyClusterQueryResult item = new MyClusterQueryResult { AABB = cluster.AABB, UserData = cluster.UserData }; results.Add(item); } }
public void Intersects(Vector3D translation, List <MyClusterQueryResult> results) { BoundingBoxD bbox = new BoundingBoxD(translation - new Vector3D(1.0), translation + new Vector3D(1.0)); this.m_clusterTree.OverlapAllBoundingBox <MyCluster>(ref bbox, m_resultList, 0, true); foreach (MyCluster cluster in m_resultList) { MyClusterQueryResult item = new MyClusterQueryResult { AABB = cluster.AABB, UserData = cluster.UserData }; results.Add(item); } }
public void CastRay(Vector3D from, Vector3D to, List <MyClusterQueryResult> results) { if ((this.m_clusterTree != null) && (results != null)) { LineD line = new LineD(from, to); this.m_clusterTree.OverlapAllLineSegment <MyCluster>(ref line, m_lineResultList, true); foreach (MyLineSegmentOverlapResult <MyCluster> result in m_lineResultList) { if (result.Element != null) { MyClusterQueryResult item = new MyClusterQueryResult { AABB = result.Element.AABB, UserData = result.Element.UserData }; results.Add(item); } } } }