File: trimesh_simpdata_simp.cpp

package info (click to toggle)
meshlab 1.3.2%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 20,900 kB
  • ctags: 33,325
  • sloc: cpp: 224,813; ansic: 8,170; xml: 119; makefile: 78
file content (40 lines) | stat: -rw-r--r-- 1,232 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <vector>

#include <vcg/simplex/vertex/base.h>   
#include <vcg/simplex/vertex/component.h>   
#include <vcg/simplex/face/base.h>   
#include <vcg/simplex/face/component.h>   

#include <vcg/complex/complex.h>   
#include<vcg/container/simple_temporary_data.h>

#include<vcg/complex/algorithms/create/platonic.h>

class MyEdge;
class MyFace;

class MyVertex: public vcg::VertexSimp2<MyVertex,MyEdge,MyFace, vcg::vert::Coord3d, vcg::vert::Normal3f>{};
class MyFace: public vcg::FaceSimp2<MyVertex,MyEdge,MyFace, vcg::face::VertexRef>{};

class MyMesh: public vcg::tri::TriMesh< std::vector<MyVertex>, std::vector<MyFace> > {};


int main()
{
	MyMesh m;
	vcg::tri::Tetrahedron(m);
	vcg::SimpleTempData<MyMesh::VertContainer, short> MyTempData(m.vert);

	MyTempData.Start();         // enable the user defined attribute (memory is allocated)

	MyMesh::VertexIterator vi;  // declare the iterator over the vertices
	for(vi = m.vert.begin(); vi != m.vert.end(); ++vi)
	{
		MyTempData[*vi]    = 10;    // assign the value for the 'short' attribute
		MyTempData[vi]     = 10;    // you can pass the element or an iterator to it
	}

	MyTempData.Stop();          // disable the user defined attribute (memory is freed)

	return 0;
}