From b7b1bc63e74e8c593c9f644db771d1de282dbda3 Mon Sep 17 00:00:00 2001 From: "T.Alderighi" Date: Fri, 21 Dec 2018 12:55:18 +0100 Subject: [PATCH] vt topology --- vcg/simplex/tetrahedron/pos.h | 19 ++++++++++++++++++- vcg/space/tetra3.h | 6 +++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/vcg/simplex/tetrahedron/pos.h b/vcg/simplex/tetrahedron/pos.h index 496fd2ba..c9ed4629 100644 --- a/vcg/simplex/tetrahedron/pos.h +++ b/vcg/simplex/tetrahedron/pos.h @@ -102,13 +102,30 @@ public: }; +template +void VTStarVT( typename TetraType::VertexType* vp, + std::vector &tetraVec, + std::vector &indexes) +{ + tetraVec.clear(); + indexes.clear(); + tetraVec.reserve(16); + indexes.reserve(16); + tetra::VTIterator vti(vp); + while(!vti.End()) + { + tetraVec.push_back(vti.Vt()); + indexes.push_back(vti.Vi()); + ++vti; + } +} template void VVStarVT( typename TetraType::VertexPointer vp, std::vector & starVec) { typedef typename TetraType::VertexPointer VertexPointer; starVec.clear(); - + starVec.reserve(16); VTIterator vti(vp); while (!vti.End()) diff --git a/vcg/space/tetra3.h b/vcg/space/tetra3.h index 06594bd0..cd702b31 100644 --- a/vcg/space/tetra3.h +++ b/vcg/space/tetra3.h @@ -331,7 +331,11 @@ class Tetra return oppVerts[indexF]; } - // static int EoppositeE () + static int EoppositeE (const int & indexE) + { + assert(indexE < 6 && indexE >= 0); + return 5 - indexE; + } /** @brief Computes the tetrahedron barycenter */ template