simplified ddspin/iddspin/cellgfxdist, replaced cellrelmatrix with adj/iadj

This commit is contained in:
Zeno Rogue
2019-11-14 00:27:59 +01:00
parent ef9e2236ba
commit 109dd9823c
6 changed files with 48 additions and 35 deletions
+2 -5
View File
@@ -857,10 +857,7 @@ EX void cast() {
GLERR("uniform IPD");
vector<transmatrix> ms;
for(int j=0; j<S7; j++) ms.push_back(
asonov::in() ? asonov::adjmatrix((j+S7/2)%S7) :
nil ? nilv::adjmatrix((j+S7/2)%S7) :
prod ? currentmap->relative_matrix(cwt.at, cwt.at->cmove(j), Hypc) : currentmap->relative_matrix(cwt.at->master, cwt.at->cmove(j)->master));
for(int j=0; j<S7; j++) ms.push_back(currentmap->iadj(cwt.at, j));
if(prod) ms.push_back(Id);
if(prod) ms.push_back(Id);
@@ -924,7 +921,7 @@ EX void cast() {
connections[u][2] = (S7+.5) / 1024.;
continue;
}
transmatrix T = (asonov::in() || nil) ? Id : (prod ? currentmap->relative_matrix(c, c1, C0) : currentmap->relative_matrix(c->master, c1->master)) * inverse(ms[i]);
transmatrix T = currentmap->iadj(c, i) * inverse(ms[i]);
for(int k=0; k<=isize(ms); k++) {
if(k < isize(ms) && !eqmatrix(ms[k], T)) continue;
if(k == isize(ms)) ms.push_back(T);