From 485a77a5f67177fe728e022d38b47585a7a1d44d Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 28 Jan 2018 12:25:56 +0100 Subject: [PATCH] keepshape option removed --- rug.cpp | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/rug.cpp b/rug.cpp index e168d226..b220206a 100644 --- a/rug.cpp +++ b/rug.cpp @@ -36,7 +36,6 @@ namespace rug { struct rug_exception { }; bool fast_euclidean = true; -bool keep_shape = true; bool good_shape; ld modelscale = 1; @@ -255,12 +254,12 @@ rugpoint *addRugpoint(hyperpoint h, double dist) { else if(euclid && gwhere == gEuclid) { m->flat = h * modelscale; + m->valid = good_shape = true; } else if(gwhere == gNormal && (euclid || (hyperbolic && modelscale >= 1))) { m->valid = good_shape = true; - ld d = hdist0(h); ld d0 = hypot2(h); if(!d0) d0 = 1; @@ -840,7 +839,7 @@ void subdivide() { if(m2 < m) continue; rugpoint *mm = addRugpoint(mid(m->h, m2->h), (m->dist+m2->dist)/2); halves[make_pair(m, m2)] = mm; - if(!good_shape || (torus && !keep_shape)) { + if(!good_shape) { using namespace hyperpoint_vec; normalizer n(m->flat, m2->flat); hyperpoint h1 = n(m->flat); @@ -890,7 +889,7 @@ void addNewPoints() { void physics() { - if(keep_shape && good_shape) return; + if(good_shape) return; auto t = SDL_GetTicks(); @@ -1531,9 +1530,7 @@ void show() { dialog::addSelItem(XLAT("model iterations"), its(queueiter), 0); dialog::addSelItem(XLAT("field of view"), fts(fov) + "°", 'f'); // dialog::addSelItem(XLAT("protractor"), fts(protractor * 180 / M_PI) + "°", 'f'); - if(rug::rugged && torus) - dialog::addBoolItem(XLAT("keep shape"), keep_shape, 'k'); - if(!(keep_shape && good_shape)) { + if(!good_shape) { dialog::addSelItem(XLAT("maximum error"), ftsg(err_zero), 'e'); if(rug::rugged) dialog::lastItem().value += " (" + ftsg(err_zero_current) + ")"; @@ -1589,6 +1586,7 @@ void show() { enqueue(p); } last = modelscale; + good_shape = false; } } } @@ -1613,8 +1611,6 @@ void show() { dialog::scaleLog(); dialog::reaction = [] () { err_zero_current = err_zero; }; } - else if(uni == 'k') - keep_shape = !keep_shape; else if(uni == 'f') { dialog::editNumber(fov, 1, 170, 1, 45, "field of view", "Horizontal field of view, in the perspective projection. " @@ -1663,18 +1659,10 @@ int rugArgs() { shift(); err_zero = argf(); } - else if(argis("-rugkeep")) { - shift(); keep_shape = true; - } - else if(argis("-rugtsize")) { shift(); rug::texturesize = argi(); } - else if(argis("-rugnokeep")) { - shift(); keep_shape = false; - } - else if(argis("-rugv")) { shift(); vertex_limit = argi(); }