Class PavingService

java.lang.Object
fr.univ_eiffel.legotools.paving.PavingService

public class PavingService extends Object
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 Details

    • PavingService

      public PavingService(String pathToCExecutable)
      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

      public void createVisualization(File inputTxt, File outputPng) throws IOException
      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.