#include #include #include #include #include #include #include #include #include class MyEdge; class MyFace; class MyVertex: public vcg::VertexSimp2{}; class MyFace: public vcg::FaceSimp2{}; class MyMesh: public vcg::tri::TriMesh< std::vector, std::vector > {}; void OneRingNeighborhoodVF( MyVertex * v) { vcg::face::VFIterator vfi(v); //initialize the iterator tohe first face for(;!vfi.End();++vfi) { MyFace* f = vfi.F(); // ...do something with face f } } int main() { MyMesh m; vcg::tri::Tetrahedron(m); vcg::tri::UpdateTopology::VertexFace(m); OneRingNeighborhoodVF(&(*m.vert.begin())); return 0; }