![]() |
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