mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-06-29 08:22:51 +00:00
scr_to_ori functions applied in shifted bands
This commit is contained in:
parent
b98ac1c487
commit
d9d92bfd84
12
hypgraph.cpp
12
hypgraph.cpp
@ -2943,9 +2943,9 @@ EX void change_shift(shiftpoint& h, ld by) {
|
|||||||
tie(h[0], h[1]) = make_pair(h[0] * ca - h[1] * sa, h[1] * ca + h[0] * sa);
|
tie(h[0], h[1]) = make_pair(h[0] * ca - h[1] * sa, h[1] * ca + h[0] * sa);
|
||||||
}
|
}
|
||||||
else if((mdinf[pmodel].flags & mf::uses_bandshift) || (sphere && pmodel == mdSpiral)) {
|
else if((mdinf[pmodel].flags & mf::uses_bandshift) || (sphere && pmodel == mdSpiral)) {
|
||||||
h.h = pconf.mori().get() * h.h;
|
models::ori_to_scr(h.h);
|
||||||
h.h = xpush(-by) * h.h;
|
h.h = xpush(-by) * h.h;
|
||||||
h.h = rot_inverse(pconf.mori().get()) * h.h;
|
models::scr_to_ori(h.h);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2960,10 +2960,10 @@ EX void change_shift(shiftmatrix& T, ld by) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if((mdinf[pmodel].flags & mf::uses_bandshift) || (sphere && pmodel == mdSpiral)) {
|
else if((mdinf[pmodel].flags & mf::uses_bandshift) || (sphere && pmodel == mdSpiral)) {
|
||||||
T.T = pconf.mori().get() * T.T;
|
models::scr_to_ori(T.T);
|
||||||
T.T = xpush(-by) * T.T;
|
T.T = xpush(-by) * T.T;
|
||||||
fixmatrix(T.T);
|
fixmatrix(T.T);
|
||||||
T.T = rot_inverse(pconf.mori().get()) * T.T;
|
models::ori_to_scr(T.T);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3006,7 +3006,7 @@ EX void optimize_shift(shiftmatrix& T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
else if(((mdinf[pmodel].flags & mf::uses_bandshift) && T[LDIM][LDIM] > 30) || (sphere && pmodel == mdSpiral)) {
|
else if(((mdinf[pmodel].flags & mf::uses_bandshift) && T[LDIM][LDIM] > 30) || (sphere && pmodel == mdSpiral)) {
|
||||||
T.T = pconf.mori().get() * T.T;
|
models::ori_to_scr(T.T);
|
||||||
hyperpoint H = tC0(T.T);
|
hyperpoint H = tC0(T.T);
|
||||||
find_zlev(H);
|
find_zlev(H);
|
||||||
|
|
||||||
@ -3019,7 +3019,7 @@ EX void optimize_shift(shiftmatrix& T) {
|
|||||||
T.shift += x;
|
T.shift += x;
|
||||||
T.T = xpush(-x) * T.T;
|
T.T = xpush(-x) * T.T;
|
||||||
fixmatrix(T.T);
|
fixmatrix(T.T);
|
||||||
T.T = rot_inverse(pconf.mori().get()) * T.T;
|
models::scr_to_ori(T.T);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,9 +124,11 @@ EX namespace models {
|
|||||||
|
|
||||||
/** screen coordinates to orientation logical coordinates */
|
/** screen coordinates to orientation logical coordinates */
|
||||||
EX void ori_to_scr(hyperpoint& h) { if(!model_straight) h = pconf.mori().get() * h; }
|
EX void ori_to_scr(hyperpoint& h) { if(!model_straight) h = pconf.mori().get() * h; }
|
||||||
|
EX void ori_to_scr(transmatrix& h) { if(!model_straight) h = pconf.mori().get() * h; }
|
||||||
|
|
||||||
/** orientation logical coordinates to screen coordinates */
|
/** orientation logical coordinates to screen coordinates */
|
||||||
EX void scr_to_ori(hyperpoint& h) { if(!model_straight) h = iso_inverse(pconf.mori().get()) * h; }
|
EX void scr_to_ori(hyperpoint& h) { if(!model_straight) h = iso_inverse(pconf.mori().get()) * h; }
|
||||||
|
EX void scr_to_ori(transmatrix& h) { if(!model_straight) h = iso_inverse(pconf.mori().get()) * h; }
|
||||||
|
|
||||||
#if HDR
|
#if HDR
|
||||||
template<class A>
|
template<class A>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user