25 #include <vcg/complex/complex.h>
26 #include <vcg/complex/algorithms/create/zonohedron.h>
27 #include <vcg/complex/algorithms/polygon_support.h>
28 #include <wrap/io_trimesh/export_off.h>
36 struct MyUsedTypes:
public vcg::UsedTypes<vcg::Use<MyVertex>::AsVertexType,vcg::Use<MyEdge>::AsEdgeType,vcg::Use<MyFace>::AsFaceType>{};
38 class MyVertex :
public vcg::Vertex< MyUsedTypes,vcg::vertex::Coord3f,vcg::vertex::BitFlags >{};
40 class MyEdge :
public vcg::Edge< MyUsedTypes > {};
42 class MyFace :
public vcg::Face< MyUsedTypes,
46 vcg::face::BitFlags > {};
49 class MyMesh :
public vcg::tri::TriMesh<std::vector<MyVertex>, std::vector<MyFace> > {};
56 vcg::tri::Zonohedron<float> z;
66 int savemask = vcg::tri::io::Mask::IOM_BITPOLYGONAL;
67 vcg::tri::io::ExporterOFF<MyMesh>::Save(m,
"cube.off",savemask);
74 FILE* f = fopen(
"input.txt",
"rt");
80 char meshFilename[1024], fullMeshFilename[1024];
81 if (fscanf(f,
"%s",meshFilename)!=1)
break;
82 sprintf(fullMeshFilename,
"%s.off",meshFilename);
85 vcg::tri::Zonohedron<float> z;
88 if (fscanf(f,
"%f %f %f",&a, &b, &c)!=3)
break;
92 printf(
"Building %s from %lu vectors...\n",fullMeshFilename, z.vectors().size() );
101 vcg::tri::PolygonSupport<MyMesh,MyMesh>::MergeFlatFaces(m);
103 int savemask = vcg::tri::io::Mask::IOM_BITPOLYGONAL;
104 vcg::tri::io::ExporterOFF<MyMesh>::Save(m,fullMeshFilename,savemask);
109 int main(
int ,
char **){