diff --git a/vcg/complex/base.h b/vcg/complex/base.h index 4a56a427..fc178f79 100644 --- a/vcg/complex/base.h +++ b/vcg/complex/base.h @@ -637,11 +637,21 @@ bool HasPerMeshAttribute(const MeshType &m, std::string name){ return (ai!= m.mesh_attr.end() ) ; } -template void RequireCompactness (MeshType &m) { - if(m.vert.size()!=size_t(m.vn)) throw vcg::MissingCompactnessException("Vertex Vector Contains deleted elements"); - if(m.edge.size()!=size_t(m.en)) throw vcg::MissingCompactnessException("Edge Vector Contains deleted elements"); +template void RequireVertexCompactness (MeshType &m) { + if(m.vert.size()!=size_t(m.vn)) throw vcg::MissingCompactnessException("Vertex Vector Contains deleted elements"); +} +template void RequireFaceCompactness (MeshType &m) { if(m.face.size()!=size_t(m.fn)) throw vcg::MissingCompactnessException("Face Vector Contains deleted elements"); } +template void RequireEdgeCompactness (MeshType &m) { + if(m.edge.size()!=size_t(m.en)) throw vcg::MissingCompactnessException("Edge Vector Contains deleted elements"); +} + +template void RequireCompactness (MeshType &m) { + RequireVertexCompactness(m); + RequireFaceCompactness (m); + RequireEdgeCompactness (m); +} template void RequireTriangularMesh (MeshType &m ) { if( tri::HasPolyInfo( m ) ) throw vcg::MissingTriangularRequirementException("");} template void RequirePolygonalMesh (MeshType &m ) { if(!tri::HasPolyInfo( m ) ) throw vcg::MissingPolygonalRequirementException("");}