1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-09-10 14:26:01 +00:00

the implementation in reg3 can now be used for the cube tiling

This commit is contained in:
Zeno Rogue
2022-08-13 22:42:59 +02:00
parent 0eed6a03d4
commit e86e6267ec
5 changed files with 14 additions and 3 deletions

View File

@@ -116,9 +116,12 @@ EX namespace reg3 {
EX bool ultra_mirror_in() { return (cgflags & qULTRA) && ultra_mirror_on; }
EX bool cubes_reg3;
EX bool in() {
if(fake::in()) return FPIU(in());
return WDIM == 3 && !euclid && !bt::in() && !nonisotropic && !hybri && !kite::in();
if(geometry == gCubeTiling && (cubes_reg3 || !PURE)) return true;
return WDIM == 3 && /* !euclid && */ !bt::in() && !nonisotropic && !hybri && !kite::in();
}
EX void compute_ultra() {
@@ -266,6 +269,8 @@ EX namespace reg3 {
/* precise ideal vertex */
if(klein_scale > 1-1e-5 && klein_scale < 1+1e-5) klein_scale = 1;
if(euclid) klein_scale = sqrt(3)/2;
/* actual vertex */
hyperpoint v2 = C0 + klein_scale * h012;
@@ -1319,6 +1324,8 @@ EX namespace reg3 {
else if(hyperbolic) {
return new hrmap_field3(&fp);
}
else if(geometry == gCubeTiling)
return new seifert_weber::hrmap_singlecell(0);
#endif
return nullptr;
}