#pragma warning(disable : 4267) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace vcg; using namespace std; //using namespace tri; int main(int argc, char *argv[]) { printf("Hello Library!\n"); VertexNf vnf; VertexNd vnd; FaceFN fnf; FaceFN fnd; typedef tri::TriMesh< vector, vector< FaceFAFC > > MyMeshAdj; MyMeshAdj ta; printf("Sizeof(VertexNf) = %i (%i + %i + %i)\n",sizeof(VertexNf),sizeof(Point3f),sizeof(int),sizeof(Point3f)); printf("Sizeof(VertexNd) = %i (%i + %i + %i) \n",sizeof(VertexNd),sizeof(Point3d),sizeof(int),sizeof(Point3d)); printf("Sizeof(FaceFN) = %i \n",sizeof(FaceFN)); //printf("Sizeof(FaceFA) = %i \n",sizeof(FaceFA)); typedef tri::TriMesh< vector, vector< FaceFN > > MyMesh; MyMesh tm; tri::Tetrahedron(tm); tri::io::ExporterPLY::Save(tm,"Tetrabin.ply"); tri::Octahedron(tm); tri::io::ExporterPLY::Save(tm,"Octbin.ply"); tri::Icosahedron(tm); tri::io::ExporterPLY::Save(tm,"Icobin.ply"); //tri::io::ExporterSTL::Save(tm,"Tetra.stl",false); //tri::io::ExporterPLY::Save(tm,"Tetraascii.ply",false); //tri::io::ExporterSTL::Save(tm,"armawarp.stl",false); //tri::UpdateNormals::PerVertexNormalized(tm); //tri::UpdateNormals::PerFaceNormalized(tm); //tri::UpdateNormals::PerVertex(tm); //tri::UpdateNormals::PerFace(tm); /*tri::io::ImporterPLY::Open(ta,"bigtest.ply"); printf("Loaded Mesh Has %i vn %i fn\n",ta.vn,ta.fn); tri::UpdateTopology::FaceFace(ta); tri::UpdateFlags::FaceBorderFromFF(ta); tri::UpdateColor::FaceBF(ta); tri::io::PlyInfo pi; pi.mask=tri::io::PLYMask::PM_FACECOLOR; tri::io::ExporterPLY::Save(ta,"color.ply",true, pi);*/ face::Pos fp; tri::io::ImporterSTL::Open(ta,"knotbin.stl"); tri::io::ExporterPLY::Save(ta,"knotbin.ply"); tri::io::ImporterSTL::Open(ta,"knotasc.stl"); tri::io::ExporterPLY::Save(ta,"knotasc.ply"); return 0; }