Bonjour à tous,
je me suis à plusieurs reprises posé la même question, sans jamais en trouver de réponse satisfaisante, et ce matin, j'ai de nouveau rencontré le problème, alors je le soumets à votre sagacité.
Voilà, je souhaite placer des particules (virtuelles) dans une boîte (virtuelle). La boîte sera dotée de méthodes propres, permettant par exemple de faire des calculs statistiques indépendant de la forme de la particule. En revanche, les particules peuvent être de formes diverses. Jusque là, tout va bien, on définit une interface Particle, et c'est fini. Le problème, c'est que mes particules sont dures, c'est à dire qu'elles n'ont pas le droit de se recouvrir. Il faut donc ajouter une méthode de test de recouvrement dans l'interface, et on obtient :
Seulement, je ne suis pas capable d'implémenter un test "universel", et je ne le souhaite d'ailleurs pas, pour des raisons de temps d'exécution. En d'autres termes, je ne veux tester que le recouvrement de sphères entre elles, de cylindre entre eux, etc... Comment faire, sans faire commencer les implémentations de overlaps par un cast ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public interface Particle2d{ public boolean overlaps(Particle2d p); }
Je suis preneur de vos lumières à ce sujet...
Sébastien
Partager