From 64a40f10c65ffa2be3a0036ffcae5bb1b53cd149 Mon Sep 17 00:00:00 2001 From: Luigi Malomo Date: Tue, 9 May 2017 14:08:35 +0200 Subject: [PATCH] removed unnecessary edge mesh template from remesher --- vcg/complex/algorithms/voronoi_remesher.h | 42 +++++++++++++++++++---- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/vcg/complex/algorithms/voronoi_remesher.h b/vcg/complex/algorithms/voronoi_remesher.h index f162f5b3..64591241 100644 --- a/vcg/complex/algorithms/voronoi_remesher.h +++ b/vcg/complex/algorithms/voronoi_remesher.h @@ -51,7 +51,34 @@ namespace vcg { namespace tri { -template +class VoroEdgeMeshAux +{ + class EmEdgeType; + class EmVertexType; + class EUsedTypes : public vcg::UsedTypes::AsVertexType, + vcg::Use::AsEdgeType> {}; + class EmVertexType : public vcg::Vertex {}; + class EmEdgeType : public vcg::Edge {}; +public: + class EdgeMeshType : public vcg::tri::TriMesh, std::vector > + { + public: + ~EdgeMeshType() + { + this->Clear(); + this->ClearAttributes(); + } + }; +}; + +template class Remesher { public: @@ -71,8 +98,9 @@ public: protected: typedef face::Pos PosType; - - + + typedef typename VoroEdgeMeshAux::EdgeMeshType EdgeMeshType; + /// \brief splitCC split the provided mesh into connected components. /// \param mesh the inputMesh. /// \return the vector of connected components (meshes) for the input model @@ -115,6 +143,9 @@ public: UpdateTopology::FaceFace(original); UpdateFlags::FaceBorderFromFF(original); UpdateFlags::VertexBorderFromFaceAdj(original); + + RequireFFAdjacency(original); + RequireVFAdjacency(original); if (Clean::CountNonManifoldEdgeFF(original) > 0) { @@ -344,7 +375,6 @@ protected: static inline void ExtractMeshBorders(Mesh & mesh, EdgeMeshType & sides) { RequireFFAdjacency(mesh); - RequireVFAdjacency(mesh); // clean the edge mesh containing the borders sides.Clear(); @@ -686,9 +716,9 @@ protected: std::vector & sampleVec; std::vector & fixedVec; }; -}; +}; } // end namespace tri } // end namespace vcg -#endif // REMESHER_H +#endif _VCGLIB_VORONOI_REMESHER_H