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 |
|
| uniform_face_1 | Mesh -> PointCloud | Génère un nombre (réparti) identique de points sur chaque face du maillage |
|
| uniform_face_2 | Mesh -> PointCloud | Génère un nombre identique de points sur chaque face du maillage |
|
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