Change to add a shape when shape.mesh.indices.size() > 0 once g tag appears. Fixes #138.

This commit is contained in:
Syoyo Fujita
2017-09-12 02:18:27 +09:00
parent 303043f9ec
commit 1065d7cfb2
2 changed files with 24 additions and 1 deletions

View File

@@ -605,6 +605,26 @@ TEST_CASE("map_Bump", "[bump]") {
REQUIRE(materials[0].bump_texname.compare("bump.jpg") == 0); REQUIRE(materials[0].bump_texname.compare("bump.jpg") == 0);
} }
TEST_CASE("g_ignored", "[Issue138]") {
tinyobj::attrib_t attrib;
std::vector<tinyobj::shape_t> shapes;
std::vector<tinyobj::material_t> materials;
std::string err;
bool ret = tinyobj::LoadObj(&attrib, &shapes, &materials, &err, "../models/issue-138.obj", gMtlBasePath);
if (!err.empty()) {
std::cerr << err << std::endl;
}
PrintInfo(attrib, shapes, materials);
REQUIRE(true == ret);
REQUIRE(2 == shapes.size());
REQUIRE(2 == materials.size());
}
#if 0 #if 0
int int
main( main(

View File

@@ -23,6 +23,7 @@ THE SOFTWARE.
*/ */
// //
// version 1.0.8 : Fix parsing `g` tag just after `usemtl`(#138)
// version 1.0.7 : Support multiple tex options(#126) // version 1.0.7 : Support multiple tex options(#126)
// version 1.0.6 : Add TINYOBJLOADER_USE_DOUBLE option(#124) // version 1.0.6 : Add TINYOBJLOADER_USE_DOUBLE option(#124)
// version 1.0.5 : Ignore `Tr` when `d` exists in MTL(#43) // version 1.0.5 : Ignore `Tr` when `d` exists in MTL(#43)
@@ -1621,7 +1622,9 @@ bool LoadObj(attrib_t *attrib, std::vector<shape_t> *shapes,
// flush previous face group. // flush previous face group.
bool ret = exportFaceGroupToShape(&shape, faceGroup, tags, material, name, bool ret = exportFaceGroupToShape(&shape, faceGroup, tags, material, name,
triangulate); triangulate);
if (ret) { (void)ret; // return value not used.
if (shape.mesh.indices.size() > 0) {
shapes->push_back(shape); shapes->push_back(shape);
} }