1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-09 15:39:55 +00:00

dont_fixmatrix flag

This commit is contained in:
Zeno Rogue 2024-06-27 22:26:18 +02:00
parent c763eb0a44
commit 8671b830cc

View File

@ -993,6 +993,8 @@ EX shiftmatrix rgpushxto0(const shiftpoint& H) {
return shiftless(rgpushxto0(H.h), H.shift); return shiftless(rgpushxto0(H.h), H.shift);
} }
EX bool dont_fixmatrix;
/** \brief Fix the numerical inaccuracies in the isometry T /** \brief Fix the numerical inaccuracies in the isometry T
* *
* The nature of hyperbolic geometry makes the computations numerically unstable. * The nature of hyperbolic geometry makes the computations numerically unstable.
@ -1001,7 +1003,8 @@ EX shiftmatrix rgpushxto0(const shiftpoint& H) {
*/ */
EX void fixmatrix(transmatrix& T) { EX void fixmatrix(transmatrix& T) {
if(nonisotropic) ; // T may be inverse... do not do that if(dont_fixmatrix) return;
else if(nonisotropic) ; // T may be inverse... do not do that
else if(cgflags & qAFFINE) ; // affine else if(cgflags & qAFFINE) ; // affine
else if(gproduct) { else if(gproduct) {
auto z = zlevel(tC0(T)); auto z = zlevel(tC0(T));