Subversion Repositories gelsvn

Rev

Rev 185 | Rev 192 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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