mirror of
https://github.com/lighttransport/tinyusdz.git
synced 2026-01-18 01:11:17 +01:00
fix Layer to Stage convert.
This commit is contained in:
@@ -348,7 +348,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
tinyusdz::Stage comp_stage;
|
||||
ret = LayerToStage(src_layer, &comp_stage, &warn, &err);
|
||||
ret = LayerToStage(std::move(src_layer), &comp_stage, &warn, &err);
|
||||
if (warn.size()) {
|
||||
std::cout << warn<< "\n";
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "str-util.hh"
|
||||
#include "io-util.hh"
|
||||
#include "usd-to-json.hh"
|
||||
#include "logger.hh"
|
||||
|
||||
#include "tydra/scene-access.hh"
|
||||
|
||||
@@ -56,7 +57,7 @@ static std::string format_memory_size(size_t bytes) {
|
||||
}
|
||||
|
||||
void print_help() {
|
||||
std::cout << "Usage tusdcat [--flatten] [--loadOnly] [--composition=STRLIST] [--relative] [--extract-variants] [--memstat] [-j|--json] input.usda/usdc/usdz\n";
|
||||
std::cout << "Usage tusdcat [--flatten] [--loadOnly] [--composition=STRLIST] [--relative] [--extract-variants] [--memstat] [--loglevel INT] [-j|--json] input.usda/usdc/usdz\n";
|
||||
std::cout << "\n --flatten (not fully implemented yet) Do composition(load sublayers, refences, payload, evaluate `over`, inherit, variants..)";
|
||||
std::cout << " --composition: Specify which composition feature to be "
|
||||
"enabled(valid when `--flatten` is supplied). Comma separated "
|
||||
@@ -69,6 +70,7 @@ void print_help() {
|
||||
std::cout << "\n -l, --loadOnly Load(Parse) USD file only(Check if input USD is valid or not)\n";
|
||||
std::cout << "\n -j, --json Output parsed USD as JSON string\n";
|
||||
std::cout << "\n --memstat Print memory usage statistics for loaded Layer and Stage\n";
|
||||
std::cout << "\n --loglevel INT Set logging level (0=Debug, 1=Warn, 2=Info, 3=Error, 4=Critical, 5=Off)\n";
|
||||
|
||||
}
|
||||
|
||||
@@ -109,6 +111,27 @@ int main(int argc, char **argv) {
|
||||
has_extract_variants = true;
|
||||
} else if (arg.compare("--memstat") == 0) {
|
||||
memstat = true;
|
||||
} else if (arg.compare("--loglevel") == 0) {
|
||||
if (i + 1 >= argc) {
|
||||
std::cerr << "--loglevel requires an integer argument\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
i++; // Move to next argument
|
||||
try {
|
||||
int log_level = std::stoi(argv[i]);
|
||||
if (log_level < 0 || log_level > 5) {
|
||||
std::cerr << "Invalid log level: " << log_level << ". Must be between 0 and 5.\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
tinyusdz::logging::Logger::getInstance().setLogLevel(
|
||||
static_cast<tinyusdz::logging::LogLevel>(log_level));
|
||||
} catch (const std::invalid_argument& e) {
|
||||
std::cerr << "Invalid log level argument: " << argv[i] << ". Must be an integer.\n";
|
||||
return EXIT_FAILURE;
|
||||
} catch (const std::out_of_range& e) {
|
||||
std::cerr << "Log level value out of range: " << argv[i] << "\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
} else if (tinyusdz::startsWith(arg, "--composition=")) {
|
||||
std::string value_str = tinyusdz::removePrefix(arg, "--composition=");
|
||||
if (value_str.empty()) {
|
||||
@@ -397,7 +420,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
tinyusdz::Stage comp_stage;
|
||||
ret = LayerToStage(src_layer, &comp_stage, &warn, &err);
|
||||
ret = LayerToStage(std::move(src_layer), &comp_stage, &warn, &err);
|
||||
if (warn.size()) {
|
||||
std::cout << warn<< "\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user