mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-04 14:30:35 +00:00
another cellshape fix
This commit is contained in:
parent
0a0cbfcbeb
commit
6151859380
16
fake.cpp
16
fake.cpp
@ -319,6 +319,12 @@ EX vector<hyperpoint> befake(const vector<hyperpoint>& v) {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EX vector<vector<hyperpoint>> befake(const vector<vector<hyperpoint>>& v) {
|
||||||
|
vector<vector<hyperpoint>> res;
|
||||||
|
for(auto& h: v) res.push_back(befake(h));
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
EX ld compute_around(bool setup) {
|
EX ld compute_around(bool setup) {
|
||||||
auto &ucgi = *underlying_cgip;
|
auto &ucgi = *underlying_cgip;
|
||||||
|
|
||||||
@ -330,7 +336,7 @@ EX ld compute_around(bool setup) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hyperpoint h = Hypc;
|
hyperpoint h = Hypc;
|
||||||
for(int i=0; i<ucgi.face; i++) h += fcs[i];
|
for(int i=0; i<ucgi.face; i++) h += fcs[0][i];
|
||||||
if(material(h) > 0)
|
if(material(h) > 0)
|
||||||
h = normalize(h);
|
h = normalize(h);
|
||||||
|
|
||||||
@ -340,8 +346,8 @@ EX ld compute_around(bool setup) {
|
|||||||
hyperpoint h2 = rspintox(h) * xpush0(2 * hdist0(h));
|
hyperpoint h2 = rspintox(h) * xpush0(2 * hdist0(h));
|
||||||
|
|
||||||
auto kh= kleinize(h);
|
auto kh= kleinize(h);
|
||||||
auto k0 = kleinize(fcs[0]);
|
auto k0 = kleinize(fcs[0][0]);
|
||||||
auto k1 = kleinize(fcs[1]);
|
auto k1 = kleinize(fcs[0][1]);
|
||||||
|
|
||||||
auto vec = k1 - k0;
|
auto vec = k1 - k0;
|
||||||
|
|
||||||
@ -477,7 +483,7 @@ EX void compute_scale() {
|
|||||||
}
|
}
|
||||||
else if(euclid) scale = 1;
|
else if(euclid) scale = 1;
|
||||||
else if(have_ideal) {
|
else if(have_ideal) {
|
||||||
hyperpoint h0 = underlying_cgip->cellshape[0];
|
hyperpoint h0 = underlying_cgip->cellshape[0][0];
|
||||||
auto s = kleinize(h0);
|
auto s = kleinize(h0);
|
||||||
ld d = hypot_d(LDIM, s);
|
ld d = hypot_d(LDIM, s);
|
||||||
scale = 1/d;
|
scale = 1/d;
|
||||||
@ -507,7 +513,7 @@ EX void compute_scale() {
|
|||||||
|
|
||||||
/* ultra a bit earlier */
|
/* ultra a bit earlier */
|
||||||
if(underlying == gRhombic3 || underlying == gBitrunc3) {
|
if(underlying == gRhombic3 || underlying == gBitrunc3) {
|
||||||
auto fcs = befake(underlying_cgip->cellshape[0]);
|
auto fcs = befake(underlying_cgip->cellshape[0][0]);
|
||||||
set_flag(ginf[gFake].flags, qULTRA, material(fcs) < 0);
|
set_flag(ginf[gFake].flags, qULTRA, material(fcs) < 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user