Subversion Repositories gelsvn

Rev

Rev 34 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34 Rev 38
Line 11... Line 11...
11
using namespace HMeshUtil;
11
using namespace HMeshUtil;
12
using namespace HMesh;
12
using namespace HMesh;
13
 
13
 
14
int main(int argc, char** argv)
14
int main(int argc, char** argv)
15
{
15
{
16
	Manifold m;
16
    Manifold m;
17
	x3d_load(argv[1], m);
17
    x3d_load(argv[1], m);
18
 
18
    
19
	Vec3f p0, p7;
19
    Vec3f p0, p7;
20
	m.get_bbox(p0, p7);
20
    m.get_bbox(p0, p7);
21
	Vec3f d = p7-p0;
21
    Vec3f d = p7-p0;
22
	float s = 1.0/d.max_coord();
22
    float s = 1.0/d.max_coord();
23
	cout << p0 << p7 << d << s << endl;
23
    cout << p0 << p7 << d << s << endl;
24
	
24
    
25
 	for(VertexIter vi = m.vertices_begin(); vi != m.vertices_end(); ++vi)
25
    for(VertexIter vi = m.vertices_begin(); vi != m.vertices_end(); ++vi)
26
 		{
26
    {
27
 			vi->set_pos((vi->get_pos() - p0) * s);
27
	vi->set_pos((vi->get_pos() - p0) * s);
28
 		}
28
    }
29
 
29
    
30
	cout << "Perform quadric based simplification ... " << endl;
30
    cout << "Perform quadric based simplification ... " << endl;
31
	quadric_simplify(m,atoi(argv[2]));
31
    quadric_simplify(m,atoi(argv[2]));
32
 
32
    
33
	cout << "Removing caps and needles ... " << endl;
33
    cout << "Removing caps and needles ... " << endl;
34
	remove_caps_from_trimesh(m, M_PI * 0.85);
34
    remove_caps_from_trimesh(m, M_PI * 0.85);
35
	remove_needles_from_trimesh(m, 1e-4);
35
    remove_needles_from_trimesh(m, 1e-4);
36
 
36
    
37
	cout << "Validity: " << m.is_valid() << endl;
37
    cout << "Validity: " << m.is_valid() << endl;
38
	cout << "Now saving ... " << endl;
38
    cout << "Now saving ... " << endl;
39
	x3d_save("decimated.x3d", m);
39
    x3d_save("decimated.x3d", m);
40
}
40
}