Package fr.univ_eiffel.legotools.paving
Class PavingService
java.lang.Object
fr.univ_eiffel.legotools.paving.PavingService
Service assurant l'interopérabilité avec le module C.
Cette classe agit comme une passerelle (Bridge) : 1. Elle traduit les données Java (BufferedImage) en format texte brut compréhensible par le C. 2. Elle lance l'exécutable C dans un processus séparé. 3. Elle récupère les résultats (fichiers texte) et les reconvertit en objets Java (LegoBrick) pour l'affichage.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcreateVisualization(File inputTxt, File outputPng) Génère uniquement l'image de visualisation.generatePaving(BufferedImage sourceImage, String algoName, File destTxtFile) Orchestre le pipeline complet de génération d'un pavage.
-
Constructor Details
-
PavingService
Initialise le service de pavage.- Parameters:
pathToCExecutable- Chemin relatif ou absolu vers l'exécutable C.
-
-
Method Details
-
generatePaving
public BufferedImage generatePaving(BufferedImage sourceImage, String algoName, File destTxtFile) throws IOException, InterruptedException Orchestre le pipeline complet de génération d'un pavage.- Parameters:
sourceImage- L'image pixelisée à traiter.algoName- Le nom de l'algo C à utiliser.destTxtFile- Fichier où sauvegarder une copie des instructions textuelles.- Returns:
- Une image générée représentant le résultat final (vue "Lego").
- Throws:
IOException- En cas d'erreur E/S.InterruptedException- Si le processus est interrompu.
-
createVisualization
Génère uniquement l'image de visualisation.- Parameters:
inputTxt- Fichier texte contenant le pavage.outputPng- Fichier image de sortie.- Throws:
IOException- En cas d'erreur fichier.
-