Zeno Rogue
cc80bc7b3a
Merge branch 'master' of https://github.com/zenorogue/hyperrogue
2021-07-13 21:32:55 +02:00
Zeno Rogue
5c21b64060
reg3:: new variation, bch_oct
2021-07-13 15:12:03 +02:00
Zeno Rogue
81ea3d75f5
fake:: works with coxeter
2021-07-13 02:34:24 +02:00
Arthur O'Dwyer
0ee6ce8c83
Eliminate -Woverloaded-virtual warnings from Clang. NFCI.
2021-07-12 17:51:39 -04:00
Zeno Rogue
2215e07fca
created cellshapes for other 3D geometries
2021-07-12 12:23:34 +02:00
Zeno Rogue
8215ac74ee
fixup
2021-07-12 11:34:51 +02:00
Zeno Rogue
6e6d0a7839
the main (heptagon) cellshape now also uses subcellshape; removed dirdist and get_vertices and introduced get_cellshape instead
2021-07-12 11:07:22 +02:00
Zeno Rogue
48bccdbd70
get_sphere_loc function
2021-07-12 10:01:16 +02:00
Zeno Rogue
06ec86347c
reg3:: vertices_only_local was not computed
2021-07-12 10:01:05 +02:00
Zeno Rogue
7c9bea6e1b
conflict resolved
2021-07-12 09:55:25 +02:00
Arthur O'Dwyer
db762ff21a
Fix or suppress a bunch of Clang warnings. NFCI.
2021-07-11 17:22:00 -04:00
Zeno Rogue
e9de3ac7d5
Great Walls in bch
2021-07-11 15:07:40 +02:00
Zeno Rogue
0e0e4d0212
reg3:: strafe and dirs_adjacent with subcubes -- Great Wall generation works
2021-07-11 11:48:33 +02:00
Zeno Rogue
5f54bf2888
reg3:: compute dirs_adjacent and strafe data for subcubes
2021-07-11 11:03:35 +02:00
Zeno Rogue
0aa1d45287
moved ray_iadj from hybrid to hrmap method
2021-07-09 22:32:00 +02:00
Zeno Rogue
f9a55d13c8
reg3:: added at for debugging and fixed a bug with shvid called for incorrect map
2021-07-09 22:32:00 +02:00
Zeno Rogue
064c6015b6
reg3:: fixed an issue with subcubes not working for low subcube_counts
2021-07-09 22:32:00 +02:00
Zeno Rogue
3c7e64c66d
reg3:: faster va analysis
2021-07-09 22:32:00 +02:00
Zeno Rogue
479b2eaf3c
reg3:: the new variations can be selected from the menu
2021-07-09 22:32:00 +02:00
Zeno Rogue
0d8dd6c19e
reg3:: subshapes in hrmap_h3_rule
2021-07-09 22:32:00 +02:00
Zeno Rogue
11d73bb655
reg3:: throw exceptions if not cubes
2021-07-09 22:32:00 +02:00
Zeno Rogue
b6bf0911f3
refactored master_relative as virtual function
2021-07-09 22:32:00 +02:00
Zeno Rogue
9a319e2d2a
refactored shvid_full and wall_offset as virtual functions
2021-07-09 22:32:00 +02:00
Zeno Rogue
f3adce29b3
reg3:: coxeter subcells
2021-07-09 22:32:00 +02:00
Zeno Rogue
964d1010b3
refactored generate_subcells
2021-07-09 22:32:00 +02:00
Zeno Rogue
3d1be24558
reg3:: fixed a bug in hrmap_closed3::relative_matrix
2021-07-09 22:32:00 +02:00
Zeno Rogue
49adf19da2
reg3:: subcubes:: testing_subconnections flag; made it faster if it is off
2021-07-09 22:32:00 +02:00
Zeno Rogue
45bdbdbbcc
reg3:: subcubes:: optimized also identifying cells
2021-07-09 22:32:00 +02:00
Zeno Rogue
889866f166
reg3:: subcubes:: optimized connection creation
2021-07-09 22:32:00 +02:00
Zeno Rogue
7fe40cbfc0
removed debug from voronoi
2021-07-09 22:32:00 +02:00
Zeno Rogue
8b75d73c32
reg3:: bch_subcubes:: Voronoi vertices
2021-07-09 22:32:00 +02:00
Zeno Rogue
2a7d932703
reg3:: subcubes:: neater again
2021-07-08 20:34:49 +02:00
Zeno Rogue
670f315df5
reg3::subcubes:: neater building
2021-07-08 20:25:27 +02:00
Zeno Rogue
3e1e0f3f18
renamed get_face_vertices to get_face_vertex_count, and added new get_face_vertices
2021-07-07 23:32:22 +02:00
Zeno Rogue
32a7f03360
implemented dual-subcubes and bch-subcubes variations
2021-07-07 18:26:03 +02:00
Zeno Rogue
4b3f72cc56
3D variations: subcubes
2021-07-07 01:48:20 +02:00
Zeno Rogue
74486309a6
created a function init_heptagon which does tailored_alloc and clears the data
2021-07-04 10:36:16 +02:00
Zeno Rogue
b71e436cb6
added some missing CAP_* guards
2021-06-09 04:33:55 +02:00
Zeno Rogue
0e0f773560
get_asset used on IOS too
2021-06-03 13:26:10 +02:00
Zeno Rogue
9ebd7d98d5
the Android version is now able to access honeycomb rules via assets
2021-06-03 13:26:10 +02:00
Zeno Rogue
c5e979118a
reg3 rules:: correct possible_states size
2021-05-23 16:00:49 +02:00
Zeno Rogue
af9d35dc1c
reg3 rules now support 65535 states
2021-05-23 16:00:49 +02:00
Zeno Rogue
256b12b140
reg3:: included tree rules for most hyperbolic honeycombs
2021-05-23 16:00:49 +02:00
Zeno Rogue
bb016585ab
optimized the honeycomb rules by using the 'quotient' fieldpatterns
2021-05-23 16:00:49 +02:00
Zeno Rogue
20771ddae4
fieldpattern:: an option to use 'quotient group' fieldpatterns in 3D for more efficient representation
2021-05-23 16:00:13 +02:00
Zeno Rogue
6b594b9fc9
cgi.cellshape is now vector of vectors
2021-03-25 11:12:58 +01:00
Zeno Rogue
953e17722d
throw hr_exceptions not strings
2021-03-24 20:25:44 +01:00
Arthur O'Dwyer
d163a01b8a
Remove USE_UNORDERED_MAP because it has bit-rotted.
...
Trying to compile with `-DUSE_UNORDERED_MAP` produces lots of compiler errors
like these, because of missing `std::hash` specializations.
Also, `#define unordered_map map` is just evil!
```
./nonisotropic.cpp:875:36: note: in instantiation of template class 'std::__1::unordered_map<hr::nilv::mvec, hr::heptagon *,
std::__1::hash<hr::nilv::mvec>, std::__1::equal_to<hr::nilv::mvec>, std::__1::allocator<std::__1::pair<const hr::nilv::mvec, hr::heptagon
*> > >' requested here
unordered_map<mvec, heptagon*> at;
^
./nonisotropic.cpp:239:58: note: in instantiation of template class 'std::__1::unordered_map<std::__1::pair<hr::heptagon *, hr::heptagon *>,
hr::heptagon *, std::__1::hash<std::__1::pair<hr::heptagon *, hr::heptagon *> >, std::__1::equal_to<std::__1::pair<hr::heptagon *,
hr::heptagon *> >, std::__1::allocator<std::__1::pair<const std::__1::pair<hr::heptagon *, hr::heptagon *>, hr::heptagon *> > >'
requested here
unordered_map<pair<heptagon*, heptagon*>, heptagon*> at;
^
./nonisotropic.cpp:457:49: error: no matching member function for call to 'iadj'
while(h1->distance < h2->distance) back = iadj(h2, down) * back, h2 = h2->cmove(down);
^~~~
cell.cpp:42:15: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
transmatrix iadj(heptagon *h, int d) {
^
cell.cpp:41:22: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
struct transmatrix iadj(cell *c, int i) { cell *c1 = c->cmove(i); return adj(c1, c->c.spin(i)); }
^
```
2020-10-19 13:15:29 -04:00
Zeno Rogue
d64c5e338c
extra guards
2020-10-15 16:33:52 +02:00
Zeno Rogue
67595a4ed3
redone hrmap::draw() function to keep DRY
2020-07-28 22:06:14 +02:00