mercredi 13 janvier 2010

Collisions - Un peu d'UML

Dans ma folle jeunesse, j'avais une haine farouche d'UML, et je craignais le jour où je commencerais à bosser et à devoir l'utiliser tout le temps. Heureusement, je me suis rendu compte que dans l'industrie (du moins dans la mienne), personne n'utilise UML. Au mieux, l'on dessinera un petit croquis avec trois cases et deux flèches pour s'expliquer.

C'est pourquoi, en doses homéopathiques, j'ai fini par apprécier le sous-ensemble d'UML qui me permet juste de mettre quelques idées à plat. En plus, je trouve ça généralement joli.

Voilà donc ma hiérarchie de classes pour la gestion des collisions!



La partie en bas à droite (en dessous de BasicShape) est implémentée et testée. La partie CompoundShape me permettra d'effectuer des collisions entre des solides plus complexes unions de solides simples, comme par exemple un château fort et ses tours fait à partir d'un pavé et de 4 cylindres. La collision des objets complexes sera un bête calcul bourrin de recherche de collisions entre les solides simples.

Enfin, la classe mère Shape fournira une interface renvoyant la boite englobante alignée sur les axes, qui sera la clé de voûte de mon octree (d'ailleurs, il n'y a pas l'air d'avoir de traduction d'octree, même Wikipedia l'utilise... Que pensez-vous d'octarbre?).

Aucun commentaire: