Merge branch 'blender-v3.2-release'
This commit is contained in:
commit
3bdda67e50
|
@ -618,8 +618,13 @@ Span<std::string> OBJParser::mtl_libraries() const
|
|||
return mtl_libraries_;
|
||||
}
|
||||
|
||||
void OBJParser::add_mtl_library(const std::string &path)
|
||||
void OBJParser::add_mtl_library(StringRef path)
|
||||
{
|
||||
/* Remove any quotes from start and end (T67266, T97794). */
|
||||
if (path.size() > 2 && path.startswith("\"") && path.endswith("\"")) {
|
||||
path = path.drop_prefix(1).drop_suffix(1);
|
||||
}
|
||||
|
||||
if (!mtl_libraries_.contains(path)) {
|
||||
mtl_libraries_.append(path);
|
||||
}
|
||||
|
@ -642,7 +647,7 @@ void OBJParser::add_default_mtl_library()
|
|||
}
|
||||
}
|
||||
|
||||
MTLParser::MTLParser(StringRef mtl_library, StringRefNull obj_filepath)
|
||||
MTLParser::MTLParser(StringRefNull mtl_library, StringRefNull obj_filepath)
|
||||
{
|
||||
char obj_file_dir[FILE_MAXDIR];
|
||||
BLI_split_dir_part(obj_filepath.data(), obj_file_dir, FILE_MAXDIR);
|
||||
|
|
|
@ -41,7 +41,7 @@ class OBJParser {
|
|||
Span<std::string> mtl_libraries() const;
|
||||
|
||||
private:
|
||||
void add_mtl_library(const std::string &path);
|
||||
void add_mtl_library(StringRef path);
|
||||
void add_default_mtl_library();
|
||||
};
|
||||
|
||||
|
@ -57,7 +57,7 @@ class MTLParser {
|
|||
/**
|
||||
* Open material library file.
|
||||
*/
|
||||
MTLParser(StringRef mtl_library_, StringRefNull obj_filepath);
|
||||
MTLParser(StringRefNull mtl_library_, StringRefNull obj_filepath);
|
||||
|
||||
/**
|
||||
* Read MTL file(s) and add MTLMaterial instances to the given Map reference.
|
||||
|
|
|
@ -108,7 +108,7 @@ void importer_main(Main *bmain,
|
|||
OBJParser obj_parser{import_params, read_buffer_size};
|
||||
obj_parser.parse(all_geometries, global_vertices);
|
||||
|
||||
for (StringRef mtl_library : obj_parser.mtl_libraries()) {
|
||||
for (StringRefNull mtl_library : obj_parser.mtl_libraries()) {
|
||||
MTLParser mtl_parser{mtl_library, import_params.filepath};
|
||||
mtl_parser.parse_and_store(materials);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ class obj_mtl_parser_test : public testing::Test {
|
|||
std::string obj_dir = blender::tests::flags_test_asset_dir() + "/io_tests/obj/";
|
||||
check_impl(file, obj_dir, expect, expect_count);
|
||||
}
|
||||
void check_impl(StringRef mtl_file_path,
|
||||
void check_impl(StringRefNull mtl_file_path,
|
||||
StringRefNull file_dir,
|
||||
const MTLMaterial *expect,
|
||||
size_t expect_count)
|
||||
|
|
Loading…
Reference in New Issue