finish readFaces()
This commit is contained in:
parent
96737a0386
commit
a9ad715e4b
18
WFObj.cc
18
WFObj.cc
@ -265,9 +265,25 @@ vector<WFObj::Face> WFObj::readFaces(const std::vector<std::string> & parts)
|
|||||||
{
|
{
|
||||||
vector<Face> faces;
|
vector<Face> faces;
|
||||||
VertexRef refs[4];
|
VertexRef refs[4];
|
||||||
for (int i = 1, len = parts.size(); i < len && i <= 4; i++)
|
int parts_len = parts.size();
|
||||||
|
if (parts_len < 3 || parts_len > 4)
|
||||||
{
|
{
|
||||||
|
cerr << "WFObj: error: faces can only have 3 or 4 vertices!" << endl;
|
||||||
|
return faces;
|
||||||
|
}
|
||||||
|
for (int i = 1; i <= parts_len; i++)
|
||||||
refs[i - 1] = readVertexRef(parts[i]);
|
refs[i - 1] = readVertexRef(parts[i]);
|
||||||
|
Face f;
|
||||||
|
f.vertices[0] = refs[0];
|
||||||
|
f.vertices[1] = refs[1];
|
||||||
|
f.vertices[2] = refs[2];
|
||||||
|
faces.push_back(f);
|
||||||
|
if (parts_len == 4)
|
||||||
|
{
|
||||||
|
f.vertices[0] = refs[2];
|
||||||
|
f.vertices[1] = refs[3];
|
||||||
|
f.vertices[2] = refs[0];
|
||||||
|
faces.push_back(f);
|
||||||
}
|
}
|
||||||
return faces;
|
return faces;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user