Subversion Repositories gelsvn

Rev

Rev 169 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 169 Rev 170
1
#include "CGLA/Mat4x4f.h"
1
#include "CGLA/Mat4x4f.h"
2
#include "Util/ArgExtracter.h"
2
#include "Util/ArgExtracter.h"
3
#include "Geometry/RGrid.h"
3
#include "Geometry/RGrid.h"
4
#include "Geometry/load_raw.h"
4
#include "Geometry/load_raw.h"
5
#include "Geometry/save_raw.h"
5
#include "Geometry/save_raw.h"
6
#include "HMesh/obj_save.h"
6
#include "HMesh/obj_save.h"
7
#include "HMesh/x3d_save.h"
7
#include "HMesh/x3d_save.h"
8
#include "HMesh/caps_and_needles.h"
8
#include "HMesh/caps_and_needles.h"
9
#include "HMesh/fair_polygonize.h"
9
#include "HMesh/fair_polygonize.h"
10
 
10
 
11
using namespace CGLA;
11
using namespace CGLA;
12
using namespace Util;
12
using namespace Util;
13
using namespace HMesh;
13
using namespace HMesh;
14
using namespace std;
14
using namespace std;
15
using namespace Geometry;
15
using namespace Geometry;
16
 
16
 
17
typedef RGrid<unsigned char> RGridb;
17
typedef RGrid<unsigned char> RGridb;
18
 
18
 
19
int main(int argc, char**argv)
19
int main(int argc, char**argv)
20
{
20
{
21
		ArgExtracter ae(argc, argv);
21
		ArgExtracter ae(argc, argv);
22
		float iso = 40;
22
		float iso = 40;
23
		ae.extract("-i", iso);
23
		ae.extract("-i", iso);
24
		int X  = 128;
24
		int X  = 128;
25
		ae.extract("-x", X);
25
		ae.extract("-x", X);
26
		int Y  = 128;
26
		int Y  = 128;
27
		ae.extract("-y", Y);
27
		ae.extract("-y", Y);
28
		int Z  = 62;
28
		int Z  = 62;
29
		ae.extract("-z", Z);
29
		ae.extract("-z", Z);
30
		string file;
30
		string file;
31
		if(ae.no_remaining_args()<2) 
31
		if(ae.no_remaining_args()<2) 
32
				file ="../../data/teddybear.raw";
32
				file ="../../data/teddybear.raw";
33
		else
33
		else
34
				file = ae.get_last_arg();
34
				file = ae.get_last_arg();
35
		
35
		
36
		RGridb grid(Vec3i(X,Y,Z));
36
		RGridb grid(Vec3i(X,Y,Z));
-
 
37
 
-
 
38
//		RGridb grid(Vec3i(32));
-
 
39
// 		srand(0);
-
 
40
// 		for(int i=0;i<32;++i)
-
 
41
// 			for(int j=0;j<32;++j)
-
 
42
// 				for(int k=0;k<32;++k)		
-
 
43
// 					grid[Vec3i(i,j,k)] = 80.0 * rand()/double(RAND_MAX);
-
 
44
 
37
		cout << "loading " << file << endl;
45
 		cout << "loading " << file << endl;
38
		load_raw(file,grid);
46
 		load_raw(file,grid);
39
		
47
		
40
		
48
		
41
		cout << "Polygonizing, iso = " << iso << endl;
49
		cout << "Polygonizing, iso = " << iso << endl;
42
		Manifold mani;
50
		Manifold mani;
-
 
51
 		//fair_polygonize(grid, mani, iso);
43
		cuberille_polygonize(grid, mani, iso, false, true, true);
52
		cuberille_polygonize(grid, mani, iso, true);
44
		
53
		
45
		cout << "Saving" << endl;
54
		cout << "Saving" << endl;
46
		x3d_save("isosurf.x3d", mani);
55
		x3d_save("isosurf.x3d", mani);
47
}
56
}
48
 
57