27 #include "triSurface.H"
35 IFstream OBJfile(OBJfileName);
40 <<
"Cannot read file " << OBJfileName
45 DynamicList<labelledTri> faces;
46 HashTable<label> groupToPatch;
51 while (OBJfile.good())
55 label sz = line.size();
59 if (line[sz-1] ==
'\\')
66 IStringStream lineStream(line);
74 lineStream >>
x >>
y >> z;
85 groupToPatch.find(
group);
87 if (findGroup != groupToPatch.end())
89 groupID = findGroup();
95 groupToPatch.insert(
group, groupID);
102 DynamicList<label> verts;
110 line.find_first_not_of(
" \r", endNum);
112 if (startNum == string::npos)
117 endNum = line.find(
' ', startNum);
120 if (endNum != string::npos)
122 vertexSpec = line.substr(startNum, endNum-startNum);
126 vertexSpec = line.substr
129 line.size() - startNum
136 if (slashPos != string::npos)
138 IStringStream intStream(vertexSpec.substr(0, slashPos));
144 IStringStream intStream(vertexSpec);
148 verts.append(vertI - 1);
155 for (
label fp = 1; fp < verts.size() - 1; fp++)
157 label fp1 = verts.fcIndex(fp);
159 labelledTri tri(verts[0], verts[fp], verts[fp1], groupID);
177 patches[0] = geometricSurfacePatch(
"empty",
"patch0", 0);
183 patches[iter()] = geometricSurfacePatch