From 4a80af6912c868db1e9fa7296cb9501f15700d0d Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Thu, 25 Mar 2021 10:57:48 +0100 Subject: [PATCH] asonov:: added a geometry flag to recognize Arnold's cat --- asonov.cpp | 2 +- classes.cpp | 4 +++- graph.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/asonov.cpp b/asonov.cpp index d73b5b5e..4b57e5c3 100644 --- a/asonov.cpp +++ b/asonov.cpp @@ -19,7 +19,7 @@ int zgmod(int a, int b); EX namespace asonov { -EX bool in() { return geometry == gArnoldCat; } +EX bool in() { return cgflags & qCAT; } EX hyperpoint tx, ty, tz; EX transmatrix straighten; diff --git a/classes.cpp b/classes.cpp index f2b21eff..000b2d79 100644 --- a/classes.cpp +++ b/classes.cpp @@ -807,6 +807,8 @@ static const flagtype qPORTALSPACE = Flag(26); static const flagtype qSTRETCHABLE = Flag(27); +static const flagtype qCAT = Flag(28); + // note: dnext assumes that x&7 equals 7 static const int SEE_ALL = 50; static const int OINF = 100; @@ -910,7 +912,7 @@ EX vector ginf = { {"{3,3,6}","none", "{3,3,6} hyperbolic honeycomb", "336", 4, 6, qIDEAL, giHyperb3, {{7, 2}}, eVariation::pure}, {"{3,4,4}","none", "{3,4,4} hyperbolic honeycomb", "344", 8, 4, qIDEAL, giHyperb3, {{7, 2}}, eVariation::pure}, {"{3,4,4}","Crystal", "4D crystal in H3", "Cryst3" , 8, 4, qIDEAL | qANYQ | qCRYSTAL, giHyperb3, {{7, 3}}, eVariation::pure}, - {"cat", "cat", "Arnold's cat mapping torus", "cat", 12, 3, qBINARY | qSOL | qsBQ | qOPTQ, giSolNIH, {{6, 4}}, eVariation::pure}, + {"cat", "cat", "Arnold's cat mapping torus", "cat", 12, 3, qBINARY | qSOL | qsBQ | qOPTQ | qCAT, giSolNIH, {{6, 4}}, eVariation::pure}, {"file", "none", "load from file", "file", 7, 3, 0, giEuclid2, {{7, 5}}, eVariation::pure}, {"{4,oo}", "none", "{4,∞} (infinite squares)", "oox4", 4, OINF, qIDEAL, giHyperb2, {{5, 5}}, eVariation::pure}, {"{5,3,4}","Crystal", "6D crystal in H3", "Cryst6" , 12, 4, qANYQ | qCRYSTAL, giHyperb3, {{7, 3}}, eVariation::pure}, diff --git a/graph.cpp b/graph.cpp index 214f8577..fe0b2a34 100644 --- a/graph.cpp +++ b/graph.cpp @@ -3668,7 +3668,7 @@ EX int get_darkval(cell *c, int d) { if(geometry == gHoroHex) return darkval_hh[d]; if(geometry == gHoroRec) return darkval_hrec[d]; if(kite::in()) return darkval_kite[d]; - if(geometry == gArnoldCat) return darkval_arnold[d]; + if(asonov::in()) return darkval_arnold[d]; if(sol) return darkval_sol[d]; if(nih) return darkval_nih[d]; if(bt::in()) return darkval_hbt[d];