コード例 #1
0
ファイル: MapReader.py プロジェクト: RedwanNewaz/BoVo
 def collision_check(self, x, y):
     t2 = fcl.Transform(np.array([x, y, 0]))
     o2 = fcl.CollisionObject(self.g2, t2)
     request = fcl.ContinuousCollisionRequest()
     result = fcl.ContinuousCollisionResult()
     ret = fcl.continuousCollide(self.o1, self.t1, o2, t2, request, result)
     return ret == 0.0
コード例 #2
0
 def __init__(self, dx, dy, dz):
     self.dx = dx
     self.dy = dy
     self.dz = dz
     self.num_edges = 12
     self.fcl_shape = fcl.Box(dx, dy, dz)
     self.request = fcl.CollisionRequest()
     self.result = fcl.CollisionResult()
     self.c_req = fcl.ContinuousCollisionRequest()
     self.c_res = fcl.ContinuousCollisionResult()
コード例 #3
0
 def __init__(self, radius, length, approx_faces=8):
     self.r = radius
     self.l = length
     # the number of faces to use in the polyherdron approximation
     self.nfac = approx_faces
     self.num_edges = 3 * self.nfac
     self.fcl_shape = fcl.Cylinder(radius, length)
     self.request = fcl.CollisionRequest()
     self.result = fcl.CollisionResult()
     self.c_req = fcl.ContinuousCollisionRequest()
     self.c_res = fcl.ContinuousCollisionResult()
コード例 #4
0
ファイル: test_fcl.py プロジェクト: yyangbk/python-fcl
    def test_pairwise_continuous_collisions(self):
        request = fcl.ContinuousCollisionRequest()
        result = fcl.ContinuousCollisionResult()

        box = fcl.CollisionObject(self.geometry['box'])
        cone = fcl.CollisionObject(self.geometry['cone'],
                                   fcl.Transform(np.array([0.0, 0.0, -2.0])))

        ret = fcl.continuousCollide(box, fcl.Transform(), cone,
                                    fcl.Transform(), request, result)
        '''
コード例 #5
0
dist = fcl.distance(
    fcl.CollisionObject(box, fcl.Transform()),
    fcl.CollisionObject(box, fcl.Transform(np.array([1.01, 0.0, 0.0]))), req,
    res)
print_distance_result('Box', 'Box', res)

#=====================================================================
# Pairwise continuous collision checking
#=====================================================================
print('=' * 60)
print('Testing Pairwise Continuous Collision Checking')
print('=' * 60)
print()

req = fcl.ContinuousCollisionRequest()
res = fcl.ContinuousCollisionResult()

dist = fcl.continuousCollide(
    fcl.CollisionObject(box, fcl.Transform()),
    fcl.Transform(np.array([5.0, 0.0, 0.0])),
    fcl.CollisionObject(cyl, fcl.Transform(np.array([5.0, 0.0, 0.0]))),
    fcl.Transform(np.array([0.0, 0.0, 0.0])), req, res)
print_continuous_collision_result('Box', 'Cylinder', res)

#=====================================================================
# Managed collision checking
#=====================================================================
print('=' * 60)
print('Testing Managed Collision and Distance Checking')
print('=' * 60)