From 57e4689e1b28110e7a339ca466a38bfc7ab05df0 Mon Sep 17 00:00:00 2001 From: cignoni Date: Wed, 18 Jan 2012 11:27:07 +0000 Subject: [PATCH] corrected bug in the ImportVertexAdj Topology must be copied only if meaningful. --- vcg/complex/append.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vcg/complex/append.h b/vcg/complex/append.h index 5b6ad64f..7e7f7b22 100644 --- a/vcg/complex/append.h +++ b/vcg/complex/append.h @@ -68,24 +68,24 @@ public: static void ImportVertexAdj(MeshLeft &ml, ConstMeshRight &mr, VertexLeft &vl, VertexRight &vr, Remap &remap, bool sel ){ // Vertex to Edge Adj - if(vcg::tri::HasVEAdjacency(ml) && vcg::tri::HasVEAdjacency(mr)){ + if(vcg::tri::HasVEAdjacency(ml) && vcg::tri::HasVEAdjacency(mr) && vr.cVEp() != 0){ size_t i = Index(mr,vr.cVEp()); - vl.VEp() = (i>ml.edge.size())? 0 : &ml.edge[remap.edge[i]]; + vl.VEp() = (i>ml.edge.size())? 0 : &ml.edge[remap.edge[i]]; vl.VEi() = vr.VEi(); } if(!sel){ // Vertex to Face Adj if(vcg::tri::HasPerVertexVFAdjacency(ml) && vcg::tri::HasPerVertexVFAdjacency(mr) && - vcg::tri::HasPerFaceVFAdjacency(ml) && vcg::tri::HasPerFaceVFAdjacency(mr) + vcg::tri::HasPerFaceVFAdjacency(ml) && vcg::tri::HasPerFaceVFAdjacency(mr) && vr.cVFp() != 0 ){ size_t i = Index(mr,vr.cVFp()); - vl.VFp() = (i>ml.face.size())? 0 :&ml.face[remap.face[i]]; + vl.VFp() = (i>ml.face.size())? 0 :&ml.face[remap.face[i]]; vl.VFi() = vr.VFi(); } // Vertex to HEdge Adj - if(vcg::tri::HasVHAdjacency(ml) && vcg::tri::HasVHAdjacency(mr)){ + if(vcg::tri::HasVHAdjacency(ml) && vcg::tri::HasVHAdjacency(mr) && vr.cVHp() != 0){ vl.VHp() = &ml.hedge[remap.hedge[Index(mr,vr.cVHp())]]; vl.VHi() = vr.VHi(); }