Add silent flag to assimp cmd

Add a new command line flag to assimp cmd in order to only display minimal
info when loading a file.

This is especially useful for quick profiling/fuzzing.
pull/2270/head
Alexandre Avenel 2018-12-08 22:58:24 +01:00
parent 15fe157fdc
commit b71b7982b5
1 changed files with 12 additions and 1 deletions

View File

@ -54,7 +54,8 @@ const char* AICMD_MSG_INFO_HELP_E =
"assimp info <file> [-r] [-v]\n"
"\tPrint basic structure of a 3D model\n"
"\t-r,--raw: No postprocessing, do a raw import\n"
"\t-v,--verbose: Print verbose info such as node transform data\n";
"\t-v,--verbose: Print verbose info such as node transform data\n"
"\t-s, --silent: Print only minimal info\n";
const std::string TREE_BRANCH_ASCII = "|-";
const std::string TREE_BRANCH_UTF8 = "\xe2\x94\x9c\xe2\x95\xb4";
@ -305,6 +306,7 @@ int Assimp_Info (const char* const* params, unsigned int num)
// get -r and -v arguments
bool raw = false;
bool verbose = false;
bool silent = false;
for(unsigned int i = 1; i < num; ++i) {
if (!strcmp(params[i],"--raw")||!strcmp(params[i],"-r")) {
raw = true;
@ -312,6 +314,9 @@ int Assimp_Info (const char* const* params, unsigned int num)
if (!strcmp(params[i],"--verbose")||!strcmp(params[i],"-v")) {
verbose = true;
}
if (!strcmp(params[i], "--silent") || !strcmp(params[i], "-s")) {
silent = true;
}
}
// do maximum post-processing unless -r was specified
@ -380,6 +385,12 @@ int Assimp_Info (const char* const* params, unsigned int num)
)
;
if (silent)
{
printf("\n");
return 0;
}
// meshes
if (scene->mNumMeshes) {
printf("\nMeshes: (name) [vertices / bones / faces | primitive_types]\n");