intra:: fixed product spaces

This commit is contained in:
Zeno Rogue 2023-11-23 22:11:15 +01:00
parent 9d4d085973
commit 79165ae014
1 changed files with 4 additions and 4 deletions

View File

@ -163,7 +163,7 @@ EX portal_data make_portal(cellwalker cw, int spin) {
#if CAP_BT
if(bt::in()) {
for(auto h: fac)
println(hlog, PIU(deparabolic13(cgi.emb->normalize_flat(h))));
println(hlog, PIU(deparabolic13(cgi.emb->flatten(h))));
if(cw.spin == cw.at->type - 2)
fac.pop_back();
else
@ -176,7 +176,7 @@ EX portal_data make_portal(cellwalker cw, int spin) {
else {
hyperpoint ctr = Hypc;
for(auto p: fac) ctr += product_decompose(p).second;
ctr = cgi.emb->normalize_flat(ctr);
ctr = cgi.emb->flatten(ctr);
id.T = gpushxto0(ctr);
}
}
@ -185,8 +185,8 @@ EX portal_data make_portal(cellwalker cw, int spin) {
id.v0 = Hypc;
id.scale = cgi.plevel;
for(auto p: fac) id.v0 += p;
id.v0 = cgi.emb->normalize_flat(id.v0);
hyperpoint h = cgi.emb->normalize_flat(fac[0]);
id.v0 = cgi.emb->flatten(id.v0);
hyperpoint h = cgi.emb->flatten(fac[0]);
id.T = cspin90(1, 0) * spintox(gpushxto0(id.v0) * h) * gpushxto0(id.v0);
if((id.T * C0)[0] > 0) id.T = spin180() * id.T;
for(int i=0; i<3; i++) id.T[3][i] = id.T[i][3] = i==3;