diff --git a/apps/sample/trimesh_refine/trimesh_refine.cpp b/apps/sample/trimesh_refine/trimesh_refine.cpp index 380096bc..9355a0b8 100644 --- a/apps/sample/trimesh_refine/trimesh_refine.cpp +++ b/apps/sample/trimesh_refine/trimesh_refine.cpp @@ -15,7 +15,7 @@ // input output #include -#include +#include // std #include @@ -41,6 +41,7 @@ class MyMesh : public vcg::tri::TriMesh< vector, face::vector_ocf::Open(m,argv[1])!=0) - { + + if(tri::io::ImporterPLY::Open(m,argv[1])!=0) { printf("Error reading file %s\n",argv[1]); - exit(0); - } + exit(1); + } + m.face.EnableFFAdjacency(); tri::UpdateTopology::FaceFace(m); tri::UpdateFlags::FaceBorderFromFF(m); @@ -104,9 +111,10 @@ int main(int argc, char **argv) tri::RefineOddEven, tri::EvenPointLoop >(m, tri::OddPointLoop(), tri::EvenPointLoop(), length); break; case CATMULL: - tri::BitQuadCreation::MakePureByRefine(m); - assert(tri::BitQuadCreation::IsBitTriQuadConventional(m)); - tri::UpdateTopology::FaceFace(m); + tri::BitQuadCreation::MakePureByCatmullClark(m); + tri::UpdateNormals::PerBitQuadFaceNormalized(m); + break; + case ONE_QUAD_X_EDGE: tri::BitQuadCreation::MakePureByRefine(m); tri::UpdateNormals::PerBitQuadFaceNormalized(m); break; @@ -117,8 +125,9 @@ int main(int argc, char **argv) } printf("Output mesh vn:%i fn:%i\n",m.vn,m.fn); - + vcg::tri::io::PlyInfo pi; - vcg::tri::io::ExporterPLY::Save(m,argv[2],pi.mask); - return 0; - } + pi.mask|=vcg::tri::io::Mask::IOM_BITPOLYGONAL; + vcg::tri::io::Exporter::Save(m,argv[2],pi.mask); + return 0; +}