|
HyperRogue
11.3d
game/visualization engine based on non-Euclidean geometry
|
Namespaces | |
| seifert_weber | |
Classes | |
| struct | hrmap_field3 |
| struct | hrmap_from_crystal |
| struct | hrmap_quotient3 |
| struct | hrmap_reg3 |
| struct | hrmap_reg3_rule |
| struct | hrmap_reg3_rule_alt |
Functions | |
| short & | altdist (heptagon *h) |
| template<class T > | |
| ld | binsearch (ld dmin, ld dmax, const T &f) |
| EX void | generate () |
| void | binary_rebase (heptagon *h, const transmatrix &V) |
| void | test () |
| int | encode_coord (const crystal::coord &co) |
| EX crystal::coord | decode_coord (int a) |
| EX hrmap * | new_alt_map (heptagon *o) |
| EX void | link_structures (heptagon *h, heptagon *alt, hstate firststate) |
| EX bool | in_rule () |
| EX hrmap * | new_map () |
| hrmap_reg3 * | regmap () |
| EX int | quotient_count () |
| int | celldistance_534 (cell *c1, cell *c2) |
| EX int | celldistance (cell *c1, cell *c2) |
| EX bool | pseudohept (cell *c) |
| EX void | generate_cellrotations () |
| EX cellwalker | strafe (cellwalker cw, int j) |
| EX int | matrix_order (const transmatrix A) |
| EX void | generate_fulls () |
| EX void | construct_relations () |
Variables | |
| map< int, int > | close_distances |
| EX int | loop |
| EX int | face |
| EX vector< hyperpoint > | cellshape |
| EX vector< hyperpoint > | vertices_only |
| EX transmatrix | spins [12] |
| EX transmatrix | adjmoves [12] |
| EX ld | adjcheck |
| EX ld | strafedist |
| EX bool | dirs_adjacent [16][16] |
| EX int | next_dir [16][16] |
| EX bool | reg3_rule_available = true |
| EX vector< pair< string, string > > | rels |
| EX int | xp_order |
| EX int | r_order |
| EX int | rx_order |
| EX transmatrix | full_X |
| EX transmatrix | full_R |
| EX transmatrix | full_P |
| geometry_information * | for_cgi |
regular three-dimensional tessellations
This is a generalization of hyperbolic_celldistance in expansion.cpp to three dimensions. It still assumes that there are at most 4 cells around every edge, and that distances from the origin are known, so it works only in {5,3,4}.
| EX int hr::reg3::next_dir[16][16] |
for adjacent directions a,b, next_dir[a][b] is the next direction adjacent to a, in (counter?)clockwise order from b
1.8.17