
from CollisionsGrille import *            
            
o1=ObjetSolide(0)
o2=ObjetSolide(1)
o3=ObjetSolide(2)
pavage = Pavage([o1,o2,o3],[1,1,1],[False,False,False],[1,1,1],[False,False,False])
pavage.deplacer_objet(0,[5.5,5.5,0.5])
pavage.deplacer_objet(1,[10.5,0.5,0.5])
pavage.deplacer_objet(2,[5,5,0])
print("Cellules coupees par l'objet 0")
o1.print_cellules_coupees()
print("Cellules coupees par l'objet 1")
o2.print_cellules_coupees()
print("Cellules du pavage et objets contenus")
pavage.print_cellules()
pavage.deplacer_objet(1,[5.7,5.2,0.3])
print("Cellules du pavage et objets contenus")
pavage.print_cellules()
            

def detecter_collision(objet1,objet2,parametres):
    p1 = objet1.position
    p2 = objet2.position
    dx = p2[0]-p1[0]
    dy = p2[1]-p1[1]
    dz = p2[2]-p1[2]
    d = sqrt(dx*dx+dy*dy+dz*dz)
    if d>objet1.rayon+objet2.rayon:
        return -1
    return 0
            

o1.rayon = 0.5
o2.rayon = 0.5
o3.rayon = 0.5
result = pavage.chercher_collisions(detecter_collision,[])
print(result)
pavage.deplacer_objet(0,[5.5,5.2,0.5])
pavage.deplacer_objet(1,[5.5,5.2,0.5])
pavage.deplacer_objet(2,[5.3,5.6,0.2])
result = pavage.chercher_collisions(detecter_collision,[])
print(result)
            
