svcco.collision package

Submodules

svcco.collision.collision module

svcco.collision.collision.clamped_root(slope, h0, h1)[source]
svcco.collision.collision.collision_free(data, results, idx, terminal, vessel, radius_buffer)[source]
svcco.collision.collision.collision_free_fd(data, vessel)[source]
svcco.collision.collision.find_minimum(edge, M, b=None, c=None, e=None, g00=None, g01=None, g10=None, g11=None)[source]
svcco.collision.collision.fix_suggestions(tree1_data, tree2_data, radius_buffer=0)[source]
svcco.collision.collision.line_distance(data, edge)[source]
svcco.collision.collision.line_intersection(s, id, f10=None, f00=None, b=None)[source]
svcco.collision.collision.no_outside_collision(tree, outside_vessels, radius_buffer=0)[source]
svcco.collision.collision.pairwise_tree_collisions(tree1_data, tree2_data, radius_buffer=0)[source]

svcco.collision.obb module

class svcco.collision.obb.grid[source]

Bases: object

plot(cyl1, cyl2, plane=None, title='None')[source]
show()[source]
svcco.collision.obb.obb(data, edge)[source]

start = time.time() collision = False start = time.time() cyl_2 = vtk.vtkTubeFilter() line2 = vtk.vtkLineSource() line2.SetPoint1(edge[0],edge[1],edge[2]) line2.SetPoint2(edge[3],edge[4],edge[5]) cyl_2.SetInputConnection(line2.GetOutputPort()) cyl_2.SetRadius(edge[21]) cyl_2.SetNumberOfSides(20) cyl_2.CappingOn() for i in range(data.shape[0]):

cyl_1 = vtk.vtkTubeFilter() line1 = vtk.vtkLineSource() line1.SetPoint1(data[i,0],data[i,1],data[i,2]) line1.SetPoint2(data[i,3],data[i,4],data[i,5]) cyl_1.SetInputConnection(line1.GetOutputPort()) cyl_1.SetRadius(data[i,21]) cyl_1.SetNumberOfSides(20) cyl_1.CappingOn() collision = vtk.vtkCollisionDetectionFilter() collision.SetInputConnection(0,cyl_1.GetOutputPort()) collision.SetInputConnection(1,cyl_2.GetOutputPort()) transform = vtk.vtkTransform() matrix = vtk.vtkMatrix4x4() collision.SetTransform(0,transform) collision.SetMatrix(1,matrix) collision.SetCollisionModeToAllContacts() collision.GenerateScalarsOn() collision.Update() if collision.GetNumberOfContacts() > 0:

collision = True break

#print('OBB: {}'.format(time.time()-start)) end = time.time() - start #print(end) return collision

svcco.collision.obb.obbc(data, edge)[source]
svcco.collision.obb.separating_axis(position, plane, U1, V1, W1, U2, V2, W2, U1_scale, V1_scale, W1_scale, U2_scale, V2_scale, W2_scale)[source]

svcco.collision.obb_unit_tests module

svcco.collision.sphere_proximity module

svcco.collision.sphere_proximity.sphere_point_query(point, distance, data)[source]
svcco.collision.sphere_proximity.sphere_proximity(data, edge)[source]
svcco.collision.sphere_proximity.sphere_proximity_testing(data, edge)[source]

svcco.collision.sphere_proximity_unit_tests module

Module contents