Subversion Repositories gelsvn

Rev

Rev 63 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

#include "CGLA/Mat4x4f.h"
#include "Util/ArgExtracter.h"
#include "Geometry/RGrid.h"
#include "Geometry/load_raw.h"
#include "Geometry/save_raw.h"
#include "HMeshUtil/obj_save.h"
#include "HMeshUtil/x3d_save.h"
#include "HMeshUtil/caps_and_needles.h"
#include "Geometry/fair_polygonize.h"

using namespace CGLA;
using namespace HMeshUtil;
using namespace Util;
using namespace HMesh;
using namespace std;
using namespace Geometry;

typedef RGrid<unsigned char> RGridb;

int main(int argc, char**argv)
{
                ArgExtracter ae(argc, argv);
        float iso = 30;
        ae.extract("-i", iso);
        int X  = 256;
        ae.extract("-x", X);
        int Y  = 256;
        ae.extract("-y", Y);
        int Z  = 256;
        ae.extract("-z", Z);
        string file = ae.get_last_arg();
        
        RGridb grid(Vec3i(X,Y,Z));
        load_raw(file,grid);


        cout << "Polygonizing, iso = " << iso << endl;
        Manifold mani;
        fair_polygonize(grid, mani, iso);
        cout << "Removing caps and needles ... " << endl;
        remove_caps_from_trimesh(mani, M_PI * 0.85);
        remove_needles_from_trimesh(mani, 1e-2);
        
        cout << "Saving" << endl;
        x3d_save("isosurf.obj", mani);
}