32 #include<vcg/complex/complex.h>
33 #include<vcg/complex/algorithms/create/platonic.h>
38 struct MyUsedTypes :
public vcg::UsedTypes< vcg::Use<MyVertex> ::AsVertexType,
39 vcg::Use<MyFace> ::AsFaceType>{};
41 class MyVertex :
public vcg::Vertex< MyUsedTypes, vcg::vertex::Coord3f,vcg::vertex::Normal3f>{};
42 class MyFace :
public vcg::Face< MyUsedTypes, vcg::face::VertexRef, vcg::face::Normal3f> {};
44 class MyMesh :
public vcg::tri::TriMesh< std::vector<MyVertex>, std::vector<MyFace> > {};
52 MyMesh::VertexPointer ivp[4];
53 ivp[0]=&*vi; vi->P()=MyMesh::CoordType ( 0.0, 0.0, 0.0); ++vi;
54 ivp[1]=&*vi; vi->P()=MyMesh::CoordType ( 1.0, 0.0, 0.0); ++vi;
55 ivp[2]=&*vi; vi->P()=MyMesh::CoordType ( 0.0, 1.0, 0.0); ++vi;
68 MyMesh::FacePointer fp = &m.face[0];
76 if(pu.NeedUpdate()) pu.Update(fp);
79 vcg::tri::Icosahedron(m);
84 MyMesh::CoordType b(0,0,0);
85 for(fi = m.face.begin(); fi!=m.face.end(); ++fi )
89 b += vcg::Barycenter(*fi);
94 for(
int i=0;i<m.FN();++i)
98 b += vcg::Barycenter(*fi);