public void aabbTest(ref btVector3 aabbMin,ref btVector3 aabbMax, IBroadphaseAabbCallback callback) { throw new NotImplementedException(); }
public virtual void AabbTest(ref IndexedVector3 aabbMin, ref IndexedVector3 aabbMax, IBroadphaseAabbCallback callback) { for (int i = 0; i <= m_LastHandleIndex; i++) { SimpleBroadphaseProxy proxy = m_pHandles[i]; if (proxy.m_clientObject == null) { continue; } if (AabbUtil2.TestAabbAgainstAabb2(ref aabbMin, ref aabbMax, ref proxy.m_aabbMin, ref proxy.m_aabbMax)) { callback.Process(proxy); } } }
public virtual void AabbTest(ref Vector3 aabbMin, ref Vector3 aabbMax, IBroadphaseAabbCallback callback) { if (m_raycastAccelerator != null) { m_raycastAccelerator.AabbTest(ref aabbMin,ref aabbMax,callback); } else { //choose axis? int axis = 0; //for each proxy for (int i=1;i<m_numHandles*2+1;i++) { if (m_pEdges[axis,i].IsMax()) { Handle handle = GetHandle(m_pEdges[axis,i].m_handle); if (AabbUtil2.TestAabbAgainstAabb2(ref aabbMin,ref aabbMax,ref handle.m_aabbMin,ref handle.m_aabbMax)) { callback.Process(handle); } } } } }
public virtual void AabbTest(ref IndexedVector3 aabbMin, ref IndexedVector3 aabbMax, IBroadphaseAabbCallback aabbCallback) { BroadphaseAabbTester callback = new BroadphaseAabbTester(aabbCallback); DbvtAabbMm bounds = DbvtAabbMm.FromMM(ref aabbMin, ref aabbMax); Dbvt.CollideTV(m_sets[0].m_root, ref bounds, callback, m_sets[0].CollideTVStack, ref m_sets[0].CollideTVCount); Dbvt.CollideTV(m_sets[1].m_root, ref bounds, callback, m_sets[1].CollideTVStack, ref m_sets[1].CollideTVCount); }
public BroadphaseAabbTester(IBroadphaseAabbCallback orgCallback) { m_aabbCallback = orgCallback; }
public virtual void AabbTest(ref IndexedVector3 aabbMin, ref IndexedVector3 aabbMax, IBroadphaseAabbCallback aabbCallback) { BroadphaseAabbTester callback = new BroadphaseAabbTester(aabbCallback); DbvtAabbMm bounds = DbvtAabbMm.FromMM(ref aabbMin, ref aabbMax); Dbvt.CollideTV(m_sets[0].m_root, ref bounds, callback); Dbvt.CollideTV(m_sets[1].m_root, ref bounds, callback); }
public virtual void AabbTest(ref Vector3 aabbMin, ref Vector3 aabbMax, IBroadphaseAabbCallback callback) { // not sure why this isn't implemented in the c++ version? }
public virtual void AabbTest(ref IndexedVector3 aabbMin, ref IndexedVector3 aabbMax, IBroadphaseAabbCallback callback) { // not sure why this isn't implemented in the c++ version? }
public virtual void AabbTest(ref IndexedVector3 aabbMin, ref IndexedVector3 aabbMax, IBroadphaseAabbCallback callback) { if (m_raycastAccelerator != null) { m_raycastAccelerator.AabbTest(ref aabbMin, ref aabbMax, callback); } else { //choose axis? int axis = 0; //for each proxy for (int i = 1; i < m_numHandles * 2 + 1; i++) { if (m_pEdges[axis, i].IsMax()) { Handle handle = GetHandle(m_pEdges[axis, i].m_handle); if (AabbUtil2.TestAabbAgainstAabb2(ref aabbMin, ref aabbMax, ref handle.m_aabbMin, ref handle.m_aabbMax)) { callback.Process(handle); } } } } }
public virtual void aabbTest(ref btVector3 aabbMin,ref btVector3 aabbMax, IBroadphaseAabbCallback callback) { if (m_raycastAccelerator!=null) { m_raycastAccelerator.aabbTest(ref aabbMin,ref aabbMax,callback); } else { //choose axis? ushort axis = 0; //for each proxy for (ushort i=1;i<m_numHandles*2+1;i++) { if (m_pEdges[axis][i].IsMax) { Handle handle = getHandle(m_pEdges[axis][i].m_handle); if (AabbUtil2.TestAabbAgainstAabb2(aabbMin,aabbMax,handle.m_aabbMin,handle.m_aabbMax)) { callback.process(handle); } } } } }