int main(int argc, const char* argv[]) { SuperLogger logger; Application::check_installation(logger); CommandLineHandler cl; cl.parse(argc, argv, logger); global_logger().add_target(&logger.get_log_target()); // Construct the schema filename. const filesystem::path schema_path = filesystem::path(Application::get_root_path()) / "schemas/project.xsd"; // Load the input project from disk. ProjectFileReader reader; auto_release_ptr<Project> project( reader.read( cl.m_filename.values()[0].c_str(), schema_path.file_string().c_str())); // Bail out if the project couldn't be loaded. if (project.get() == 0) return 1; // Write the project back to disk. return ProjectFileWriter::write(project.ref()) ? 0 : 1; }
int main(int argc, const char* argv[]) { // Initialize the logger that will be used throughout the program. SuperLogger logger; // Make sure appleseed is correctly installed. Application::check_installation(logger); // Parse the command line. CommandLineHandler cl; cl.parse(argc, argv, logger); // Load an apply settings from the settings file. Dictionary settings; Application::load_settings("appleseed.tools.xml", settings, logger); logger.configure_from_settings(settings); // Apply command line arguments. cl.apply(logger); // Configure the renderer's global logger. // Must be done after settings have been loaded and the command line // has been parsed, because these two operations may replace the log // target of the global logger. global_logger().initialize_from(logger); // Retrieve the command line arguments. const string& input_filepath = cl.m_filenames.values()[0]; const string& output_filepath = cl.m_filenames.values()[1]; const FluffParams params(cl); // Construct the schema file path. const bf::path schema_filepath = bf::path(Application::get_root_path()) / "schemas" / "project.xsd"; // Read the input project from disk. ProjectFileReader reader; auto_release_ptr<Project> project( reader.read( input_filepath.c_str(), schema_filepath.string().c_str())); // Bail out if the project couldn't be loaded. if (project.get() == 0) return 1; // Fluffify the project. make_fluffy(project.ref(), params); // Write the project back to disk. const bool success = ProjectFileWriter::write( project.ref(), output_filepath.c_str()); return success ? 0 : 1; }
int main(int argc, const char* argv[]) { SuperLogger logger; Application::check_installation(logger); CommandLineHandler cl; cl.parse(argc, argv, logger); // Initialize the renderer's logger. global_logger().add_target(&logger.get_log_target()); // Retrieve the input file path. const string& input_filepath = cl.m_filename.value(); // Construct the schema file path. const filesystem::path schema_filepath = filesystem::path(Application::get_root_path()) / "schemas" / "project.xsd"; // Read the input project from disk. // Note: it is crucial that we read mesh files as well, so that we can collect // material slots declared by objects. Material slots are required by the project // file updater, for instance when migrating projects from rev. 7 to rev. 8. ProjectFileReader reader; auto_release_ptr<Project> project( reader.read( input_filepath.c_str(), schema_filepath.string().c_str(), ProjectFileReader::OmitProjectFileUpdate)); // Bail out if the project couldn't be loaded. if (project.get() == 0) return 1; // Update the project file to the desired revision. ProjectFileUpdater updater; if (cl.m_to_revision.is_set()) updater.update(project.ref(), cl.m_to_revision.value()); else updater.update(project.ref()); // Write the project back to disk. const bool success = ProjectFileWriter::write( project.ref(), project->get_path(), ProjectFileWriter::OmitWritingGeometryFiles | ProjectFileWriter::OmitBringingAssets); return success ? 0 : 1; }
bool ProjectManager::do_load_project(const string& filepath) { const string schema_filepath = get_project_schema_filepath(); ProjectFileReader reader; auto_release_ptr<Project> loaded_project( reader.read(filepath.c_str(), schema_filepath.c_str())); if (loaded_project.get() == 0) return false; m_project = loaded_project; m_dirty_flag = false; return true; }
int main(int argc, const char* argv[]) { SuperLogger logger; Application::check_installation(logger); CommandLineHandler cl; cl.parse(argc, argv, logger); global_logger().add_target(&logger.get_log_target()); // Retrieve the input file path. const string& input_filepath = cl.m_filename.values()[0]; // Construct the schema file path. const string schema_filepath = (filesystem::path(Application::get_root_path()) / "schemas" / "project.xsd").string(); // Load the input project from disk. ProjectFileReader reader; auto_release_ptr<Project> project( reader.read( input_filepath.c_str(), schema_filepath.c_str(), ProjectFileReader::OmitReadingMeshFiles | ProjectFileReader::OmitProjectFileUpdate)); // Bail out if the project couldn't be loaded. if (project.get() == 0) return 1; // Update the project file to the desired revision. ProjectFileUpdater updater; if (cl.m_to_revision.is_set()) updater.update(project.ref(), cl.m_to_revision.values()[0]); else updater.update(project.ref()); // Write the project back to disk. const bool success = ProjectFileWriter::write( project.ref(), project->get_path(), ProjectFileWriter::OmitWritingMeshFiles | ProjectFileWriter::OmitCopyingAssets); return success ? 0 : 1; }
int main(int argc, const char* argv[]) { SuperLogger logger; Application::check_installation(logger); CommandLineHandler cl; cl.parse(argc, argv, logger); // Initialize the renderer's logger. global_logger().add_target(&logger.get_log_target()); // Retrieve the command line arguments. const string& input_filepath = cl.m_filenames.values()[0]; const string& output_filepath = cl.m_filenames.values()[1]; const FluffParams params(cl); // Construct the schema file path. const filesystem::path schema_filepath = filesystem::path(Application::get_root_path()) / "schemas" / "project.xsd"; // Read the input project from disk. ProjectFileReader reader; auto_release_ptr<Project> project( reader.read( input_filepath.c_str(), schema_filepath.string().c_str())); // Bail out if the project couldn't be loaded. if (project.get() == 0) return 1; // Fluffify the project. make_fluffy(project.ref(), params); // Write the project back to disk. const bool success = ProjectFileWriter::write( project.ref(), output_filepath.c_str()); return success ? 0 : 1; }
int main(int argc, const char* argv[]) { // Initialize the logger that will be used throughout the program. SuperLogger logger; // Make sure appleseed is correctly installed. Application::check_installation(logger); // Parse the command line. CommandLineHandler cl; cl.parse(argc, argv, logger); // Load an apply settings from the settings file. Dictionary settings; Application::load_settings("appleseed.tools.xml", settings, logger); logger.configure_from_settings(settings); // Apply command line arguments. cl.apply(logger); // Configure the renderer's global logger. // Must be done after settings have been loaded and the command line // has been parsed, because these two operations may replace the log // target of the global logger. global_logger().initialize_from(logger); // Retrieve the input file path. const string& input_filepath = cl.m_filename.value(); // Construct the schema file path. const bf::path schema_filepath = bf::path(Application::get_root_path()) / "schemas" / "project.xsd"; // Read the input project from disk. // Note: it is crucial that we read mesh files as well, so that we can collect // material slots declared by objects. Material slots are required by the project // file updater, for instance when migrating projects from rev. 7 to rev. 8. ProjectFileReader reader; auto_release_ptr<Project> project( reader.read( input_filepath.c_str(), schema_filepath.string().c_str(), ProjectFileReader::OmitProjectFileUpdate)); // Bail out if the project couldn't be loaded. if (project.get() == 0) return 1; // Update the project file to the desired revision. ProjectFileUpdater updater; if (cl.m_to_revision.is_set()) updater.update(project.ref(), cl.m_to_revision.value()); else updater.update(project.ref()); // Write the project back to disk. const bool success = ProjectFileWriter::write( project.ref(), project->get_path(), ProjectFileWriter::OmitWritingGeometryFiles | ProjectFileWriter::OmitHandlingAssetFiles); return success ? 0 : 1; }