Made STL Reader work, with the clear = false flag.

Redundant lookup removed. 
( Thanks to Peter Newman for the patch)

closes #1370

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@783 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Jan Möbius
2013-01-08 07:24:43 +00:00
parent b025acaaa6
commit eec3ac3b98

View File

@@ -222,7 +222,6 @@ read_stla(const std::string& _filename, BaseImporter& _bi) const
unsigned int i; unsigned int i;
OpenMesh::Vec3f v; OpenMesh::Vec3f v;
OpenMesh::Vec3f n; OpenMesh::Vec3f n;
unsigned int cur_idx(0);
BaseImporter::VHandles vhandles; BaseImporter::VHandles vhandles;
CmpVec comp(eps_); CmpVec comp(eps_);
@@ -288,9 +287,9 @@ read_stla(const std::string& _filename, BaseImporter& _bi) const
if ((vMapIt=vMap.find(v)) == vMap.end()) if ((vMapIt=vMap.find(v)) == vMap.end())
{ {
// No : add vertex and remember idx/vector mapping // No : add vertex and remember idx/vector mapping
_bi.add_vertex(v); VertexHandle handle = _bi.add_vertex(v);
vhandles.push_back(VertexHandle(cur_idx)); vhandles.push_back(handle);
vMap[v] = VertexHandle(cur_idx++); vMap[v] = handle;
} }
else else
// Yes : get index from map // Yes : get index from map
@@ -330,7 +329,6 @@ read_stla(std::istream& _in, BaseImporter& _bi) const
unsigned int i; unsigned int i;
OpenMesh::Vec3f v; OpenMesh::Vec3f v;
OpenMesh::Vec3f n; OpenMesh::Vec3f n;
unsigned int cur_idx(0);
BaseImporter::VHandles vhandles; BaseImporter::VHandles vhandles;
CmpVec comp(eps_); CmpVec comp(eps_);
@@ -395,9 +393,9 @@ read_stla(std::istream& _in, BaseImporter& _bi) const
if ((vMapIt=vMap.find(v)) == vMap.end()) if ((vMapIt=vMap.find(v)) == vMap.end())
{ {
// No : add vertex and remember idx/vector mapping // No : add vertex and remember idx/vector mapping
_bi.add_vertex(v); VertexHandle handle = _bi.add_vertex(v);
vhandles.push_back(VertexHandle(cur_idx)); vhandles.push_back(handle);
vMap[v] = VertexHandle(cur_idx++); vMap[v] = handle;
} }
else else
// Yes : get index from map // Yes : get index from map
@@ -444,7 +442,6 @@ read_stlb(const std::string& _filename, BaseImporter& _bi) const
bool swapFlag; bool swapFlag;
unsigned int i, nT; unsigned int i, nT;
OpenMesh::Vec3f v; OpenMesh::Vec3f v;
unsigned int cur_idx(0);
BaseImporter::VHandles vhandles; BaseImporter::VHandles vhandles;
std::map<Vec3f, VertexHandle, CmpVec> vMap; std::map<Vec3f, VertexHandle, CmpVec> vMap;
@@ -485,9 +482,9 @@ read_stlb(const std::string& _filename, BaseImporter& _bi) const
if ((vMapIt=vMap.find(v)) == vMap.end()) if ((vMapIt=vMap.find(v)) == vMap.end())
{ {
// No : add vertex and remember idx/vector mapping // No : add vertex and remember idx/vector mapping
_bi.add_vertex(v); VertexHandle handle = _bi.add_vertex(v);
vhandles.push_back(VertexHandle(cur_idx)); vhandles.push_back(handle);
vMap[v] = VertexHandle(cur_idx++); vMap[v] = handle;
} }
else else
// Yes : get index from map // Yes : get index from map
@@ -522,7 +519,6 @@ read_stlb(std::istream& _in, BaseImporter& _bi) const
bool swapFlag; bool swapFlag;
unsigned int i, nT; unsigned int i, nT;
OpenMesh::Vec3f v; OpenMesh::Vec3f v;
unsigned int cur_idx(0);
BaseImporter::VHandles vhandles; BaseImporter::VHandles vhandles;
std::map<Vec3f, VertexHandle, CmpVec> vMap; std::map<Vec3f, VertexHandle, CmpVec> vMap;
@@ -564,9 +560,9 @@ read_stlb(std::istream& _in, BaseImporter& _bi) const
if ((vMapIt=vMap.find(v)) == vMap.end()) if ((vMapIt=vMap.find(v)) == vMap.end())
{ {
// No : add vertex and remember idx/vector mapping // No : add vertex and remember idx/vector mapping
_bi.add_vertex(v); VertexHandle handle = _bi.add_vertex(v);
vhandles.push_back(VertexHandle(cur_idx)); vhandles.push_back(handle);
vMap[v] = VertexHandle(cur_idx++); vMap[v] = handle;
} }
else else
// Yes : get index from map // Yes : get index from map