24 #include <vcg/complex/complex.h>
27 #include <vcg/complex/algorithms/update/bounding.h>
28 #include <vcg/complex/algorithms/update/normal.h>
30 #include <vcg/complex/algorithms/clean.h>
31 #include <vcg/complex/algorithms/create/platonic.h>
33 #include <wrap/io_trimesh/export_obj.h>
34 #include <wrap/io_trimesh/import_obj.h>
36 #include <vcg/complex/algorithms/dual_meshing.h>
38 #include <vcg/complex/algorithms/polygon_support.h>
47 struct TUsedTypes:
public vcg::UsedTypes< vcg::Use<TVertex>::AsVertexType, vcg::Use<TFace>::AsFaceType >{};
51 class TVertex :
public Vertex< TUsedTypes,
57 class TFace :
public Face< TUsedTypes,
65 class TMesh :
public vcg::tri::TriMesh< vector<TVertex>, vector<TFace> > {};
73 struct PUsedTypes:
public vcg::UsedTypes<vcg::Use<PVertex> ::AsVertexType,
74 vcg::Use<PFace> ::AsFaceType>{};
76 class PVertex:
public vcg::Vertex< PUsedTypes,
78 vcg::vertex::Normal3f,
80 vcg::vertex::Qualityf,
81 vcg::vertex::BitFlags>{} ;
83 class PFace:
public vcg::Face<
105 int main(
int argc,
char *argv[])
110 vcg::tri::Sphere<TMesh>(primalT,2);
111 vcg::tri::PolygonSupport<TMesh,PMesh>::ImportFromTriMesh(primal,primalT);
113 vcg::tri::DualMeshing<PMesh>::MakeDual(primal,dual);
114 vcg::tri::io::ExporterOBJ<PMesh>::Save(dual,
"./dual.obj",vcg::tri::io::Mask::IOM_BITPOLYGONAL);
116 vcg::tri::DualMeshing<PMesh>::MakeDual(dual,primal);
117 vcg::tri::io::ExporterOBJ<PMesh>::Save(primal,
"./dual_dual.obj",vcg::tri::io::Mask::IOM_BITPOLYGONAL);