#include #include// #include #include// #include #include// #include// // input output #include #include//just in case // topology computation #include// #include// // half edge iterators //#include // normals and curvature #include //class UpdateNormals #include //class curvature using namespace vcg; using namespace std; class MyEdge; // dummy prototype class MyFace; class MyVertex; class MyVertex : public VertexSimp2< MyVertex, MyEdge, MyFace, vertex::Coord3f, vertex::Normal3f, vertex::BitFlags >{}; class MyFace : public FaceSimp2 < MyVertex, MyEdge, MyFace, face::FFAdj, face::VertexRef, face::BitFlags > {}; class MyMesh : public vcg::tri::TriMesh< vector, vector > {}; int main( int argc, char **argv ) { MyMesh m; // this is the section with problems if(vcg::tri::io::ImporterPLY::Open(m,argv[1])!=0) { printf("Error reading file %s\n",argv[1]); exit(0); } // from here no problems vcg::tri::UpdateTopology::FaceFace(m); vcg::tri::UpdateFlags::FaceBorderFromFF(m); vcg::tri::UpdateNormals::PerVertexNormalized(m); printf("Input mesh vn:%i fn:%i\n",m.vn,m.fn); printf( "Mesh has %i vert and %i faces\n", m.vn, m.fn ); return 0; }