Small changes.
This commit is contained in:
parent
7745578c97
commit
2bfda63cc5
|
|
@ -14,7 +14,7 @@
|
||||||
#include <vcg/space/point3.h>
|
#include <vcg/space/point3.h>
|
||||||
|
|
||||||
#include "pvoronoi.h"
|
#include "pvoronoi.h"
|
||||||
//#include "border.h"
|
#include "fragment.h"
|
||||||
|
|
||||||
#include "decimate.h"
|
#include "decimate.h"
|
||||||
#include <wrap/io_trimesh/export_ply.h>
|
#include <wrap/io_trimesh/export_ply.h>
|
||||||
|
|
@ -56,8 +56,8 @@ float nxs::Decimate(Decimation mode,
|
||||||
unsigned int target_faces,
|
unsigned int target_faces,
|
||||||
vector<Point3f> &newvert,
|
vector<Point3f> &newvert,
|
||||||
vector<unsigned int> &newface,
|
vector<unsigned int> &newface,
|
||||||
vector<Link> &newbord,
|
vector<BigLink> &newbord) {
|
||||||
vector<int> &vert_remap) {
|
|
||||||
|
|
||||||
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+1]);
|
||||||
|
|
@ -103,6 +103,7 @@ float nxs::Decimate(Decimation mode,
|
||||||
newface.clear();
|
newface.clear();
|
||||||
|
|
||||||
unsigned int totvert = 0;
|
unsigned int totvert = 0;
|
||||||
|
vector<int> vert_remap;
|
||||||
vert_remap.resize(mesh.vert.size(), -1);
|
vert_remap.resize(mesh.vert.size(), -1);
|
||||||
for(unsigned int i = 0; i < mesh.vert.size(); i++) {
|
for(unsigned int i = 0; i < mesh.vert.size(); i++) {
|
||||||
if(mesh.vert[i].IsD()) continue;
|
if(mesh.vert[i].IsD()) continue;
|
||||||
|
|
@ -119,17 +120,17 @@ float nxs::Decimate(Decimation mode,
|
||||||
}
|
}
|
||||||
|
|
||||||
for(unsigned int i = 0; i < newbord.size(); i++) {
|
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);
|
assert(vert_remap[v] != -1);
|
||||||
v = vert_remap[v];
|
v = vert_remap[v];
|
||||||
}
|
}
|
||||||
|
|
||||||
//Temporary test again:
|
//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+1]);
|
||||||
assert(newface[i] != newface[i+2]);
|
assert(newface[i] != newface[i+2]);
|
||||||
assert(newface[i+1] != newface[i+2]);
|
assert(newface[i+1] != newface[i+2]);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,12 @@
|
||||||
namespace nxs {
|
namespace nxs {
|
||||||
|
|
||||||
enum Decimation { QUADRIC, CLUSTER };
|
enum Decimation { QUADRIC, CLUSTER };
|
||||||
|
class BigLink;
|
||||||
float Decimate(Decimation mode,
|
float Decimate(Decimation mode,
|
||||||
unsigned int target_faces,
|
unsigned int target_faces,
|
||||||
std::vector<vcg::Point3f> &newvert,
|
std::vector<vcg::Point3f> &newvert,
|
||||||
std::vector<unsigned int> &newface,
|
std::vector<unsigned int> &newface,
|
||||||
std::vector<Link> &newbord,
|
std::vector<BigLink> &newbord);
|
||||||
std::vector<int> &vert_remap);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue