QEC: When collapsing edge flip normal than check other edges in triangle

Quadric is calculated with double precission of normal
Fix calculation of normal for changed triangles
This commit is contained in:
Filip Sykala 2021-07-19 15:46:41 +02:00
parent c444ef81bd
commit 25a4887075
5 changed files with 139 additions and 97 deletions

View file

@ -125,7 +125,7 @@ static std::mt19937 create_random_generator() {
std::vector<Vec3f> its_sample_surface(const indexed_triangle_set &its,
double sample_per_mm2,
std::mt19937 &random_generator = create_random_generator())
std::mt19937 random_generator = create_random_generator())
{
std::vector<Vec3f> samples;
std::uniform_real_distribution<float> rand01(0.f, 1.f);

View file

@ -370,7 +370,7 @@ TEST_CASE("Mutable priority queue - first pop", "[MutableSkipHeapPriorityQueue]"
TEST_CASE("Mutable priority queue complex", "[MutableSkipHeapPriorityQueue]")
{
struct MyValue {
int id;
size_t id;
float val;
};
size_t count = 5000;
@ -382,7 +382,7 @@ TEST_CASE("Mutable priority queue complex", "[MutableSkipHeapPriorityQueue]")
q.reserve(count);
auto rand_val = [&]()->float { return (rand() % 53) / 10.f; };
int ord = 0;
size_t ord = 0;
for (size_t id = 0; id < count; id++) {
MyValue mv;
mv.id = ord++;