예제 #1
0
__host__ __device__
BitVoxel<length> BitVoxel<length>::reduce(const BitVoxel<length> voxel, const BitVoxel<length> other_voxel)
{
  BitVoxel<length> res;
  BitVector<length>& b = res.bitVector();
  b = voxel.bitVector() | other_voxel.bitVector();
  return res;
}
예제 #2
0
__host__ __device__
bool DefaultCollider::collide(const BitVoxel<length>& v1, const ProbabilisticVoxel& v2) const
{
  return v2.getOccupancy() >= m_threshold2 && !v1.bitVector().isZero();
}
예제 #3
0
__host__ __device__
bool DefaultCollider::collide(const BitVoxel<length>& v1, const BitVoxel<length>& v2) const
{
  return !v1.bitVector().isZero() && !v2.bitVector().isZero();
}
예제 #4
0
__host__ __device__
bool SVCollider::collide(const BitVoxel<length>& v1, const BitVoxel<length>& v2,
                         BitVector<length>* collisions, const uint32_t sv_offset) const
{
  return bitMarginCollisionCheck<length>(v1.bitVector(), v2.bitVector(), collisions, m_type_range, sv_offset);
}