Skip to content

Argos

Archive

ARGOS/
├── benchmark/        # Benchmarks de performance
├── include/          # En-têtes publics du projet
├── lib/              # Dépendances externes éventuelles
├── src/              # Code source C++
│   ├── core/         # Bibliothèque métier (sans main)
│   └── apps/         # Exécutables (un dossier par outil / jalon)
├── tests/            # Tests unitaires et fonctionnels
├── out/              # Dossier de build (généré par CMake, non versionné)
├── CMakeLists.txt    # Configuration principale CMake
├── DOC_CMakeLists.md # Documentation spécifique au système CMake
└── README.md         # Documentation générale du dépôt

Build

Toutes les commandes suivantes sont à exécuter depuis la racine du projet.

Build standard

Tests activés, benchmarks désactivés (configuration par défaut).

mkdir out
cd out
cmake ..
cmake --build .

Build avec tests

cmake -S . -B out -DBUILD_TESTS=ON
cmake --build out

Build avec benchmarks

cmake -S . -B out -DBUILD_BENCHMARKS=ON
cmake --build out

Combiner les options

cmake -S . -B out -DBUILD_TESTS=ON -DBUILD_BENCHMARKS=ON
cmake --build out

Execution

Les exécutables générés se trouvent dans le dossier de build out/, selon le générateur et la configuration (Debug / Release).

Usage :

./argos run [{-i|--input} <chemin_fichier>] <algorithme> [{-p|--points} <nombre_de_points>] [{-o|--output} <chemin_fichier>]

Exemple :

./argos run -i "C:\...\obj.obj" uniform_area -p 5000 -o "C:\...\output_obj.obj"

Options :

Option Condition Description
-i, --input Optionnel Chemin du fichier source.
Si non choisi, écoute l'entrée stdin au format texte OBJ jusqu'à signal d'interruption
-o, --output Optionnel Chemin du fichier de destination.
Si non choisi, écrit le résultat au format texte OBJ dans la sortie standard stdout

Algorithmes disponibles :

Nom Type Description Paramètres
naive Mesh -> PointCloud Lance l'algorithme naif qui convertit un objet en nuage de points Aucun
centroid Mesh -> PointCloud Place un point au centre de chaque face Aucun
uniform_area Mesh -> PointCloud Répartit un nombre total de points proportionnellement aux surfaces
  • -p ou --points : Nombre total de points
uniform_face_1 Mesh -> PointCloud Génère un nombre (réparti) identique de points sur chaque face du maillage
  • -p ou --points : Nombre total de points
uniform_face_2 Mesh -> PointCloud Génère un nombre identique de points sur chaque face du maillage
  • -p ou --points : Nombre par face

Il est également possible d'obtenir toutes les informations sur les différents algorithmes au format JSON en utilisant la sous-commande info_algos :

./argos info_algos

Exécution des tests (CTest)

Les tests sont gérés via CTest, fourni avec CMake.

Les commandes suivantes doivent être exécutées depuis le dossier de build out/.

Exécution simple des tests : ctest.

Exécution avec sortie détaillée : ctest -V.


Exécuter un test spécifique

ctest -R test_exemple


Benchmark

Section non implémentée