diff --git a/apps/nexus/decimate.cpp b/apps/nexus/decimate.cpp index d3fe3fcf..b58543fa 100644 --- a/apps/nexus/decimate.cpp +++ b/apps/nexus/decimate.cpp @@ -14,7 +14,7 @@ #include #include "pvoronoi.h" -//#include "border.h" +#include "fragment.h" #include "decimate.h" #include @@ -56,8 +56,8 @@ float nxs::Decimate(Decimation mode, unsigned int target_faces, vector &newvert, vector &newface, - vector &newbord, - vector &vert_remap) { + vector &newbord) { + for(unsigned int i = 0; i < newface.size(); i+= 3) { assert(newface[i] != newface[i+1]); @@ -103,6 +103,7 @@ float nxs::Decimate(Decimation mode, newface.clear(); unsigned int totvert = 0; + vector vert_remap; vert_remap.resize(mesh.vert.size(), -1); for(unsigned int i = 0; i < mesh.vert.size(); i++) { if(mesh.vert[i].IsD()) continue; @@ -119,17 +120,17 @@ float nxs::Decimate(Decimation mode, } for(unsigned int i = 0; i < newbord.size(); i++) { - unsigned short &v = newbord[i].start_vert; + unsigned int &v = newbord[i].start_vert; assert(vert_remap[v] != -1); v = vert_remap[v]; } //Temporary test again: - for(unsigned int i = 0; i < newface.size(); i+= 3) { + /* for(unsigned int i = 0; i < newface.size(); i+= 3) { assert(newface[i] != newface[i+1]); assert(newface[i] != newface[i+2]); assert(newface[i+1] != newface[i+2]); - } + }*/ return error; } diff --git a/apps/nexus/decimate.h b/apps/nexus/decimate.h index 6d1215c5..78ce7e2b 100644 --- a/apps/nexus/decimate.h +++ b/apps/nexus/decimate.h @@ -7,13 +7,12 @@ namespace nxs { enum Decimation { QUADRIC, CLUSTER }; - + class BigLink; float Decimate(Decimation mode, unsigned int target_faces, std::vector &newvert, std::vector &newface, - std::vector &newbord, - std::vector &vert_remap); + std::vector &newbord); }