From 2cb0837274368edcc76302e0292caf58cd478e00 Mon Sep 17 00:00:00 2001 From: Sylvain Thery Date: Tue, 4 Feb 2014 14:47:39 +0100 Subject: [PATCH] small adds in OBJ import --- include/Algo/Import/importObjTex.h | 8 +++++++- include/Algo/Import/importObjTex.hpp | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/include/Algo/Import/importObjTex.h b/include/Algo/Import/importObjTex.h index ee52b1dc..285bec13 100644 --- a/include/Algo/Import/importObjTex.h +++ b/include/Algo/Import/importObjTex.h @@ -369,7 +369,13 @@ public: */ bool createGroupMatVBO_PTN( Utils::VBO* positionVBO, Utils::VBO* texcoordVBO, Utils::VBO* normalVBO); - + /** + * @brief add a dart by each face of group in a vector + * @param groupId the group to add + * @param dartFaces the vector in which we want to add + * @return the number of faces added. + */ + unsigned int storeFacesOfGroup(unsigned int groupId, std::vector& dartFaces); }; diff --git a/include/Algo/Import/importObjTex.hpp b/include/Algo/Import/importObjTex.hpp index d51b6f92..bc097709 100644 --- a/include/Algo/Import/importObjTex.hpp +++ b/include/Algo/Import/importObjTex.hpp @@ -1395,6 +1395,22 @@ bool OBJModel::import( const std::string& filename, std::vector +unsigned int OBJModel::storeFacesOfGroup(unsigned int groupId, std::vector& dartFaces) +{ + unsigned int nb=dartFaces.size(); + + TraversorF traf(m_map); + for (Dart d=traf.begin(); d!= traf.end(); d = traf.next()) + { + if (m_groups[d] == groupId) + { + dartFaces.push_back(d); + } + } + + return dartFaces.size()-nb; +} } -- GitLab