HyperRogue  11.3d
game/visualization engine based on non-Euclidean geometry
Namespaces | Classes | Functions | Variables
hr::reg3 Namespace Reference

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 hrmapnew_alt_map (heptagon *o)
 
EX void link_structures (heptagon *h, heptagon *alt, hstate firststate)
 
EX bool in_rule ()
 
EX hrmapnew_map ()
 
hrmap_reg3regmap ()
 
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< hyperpointcellshape
 
EX vector< hyperpointvertices_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_informationfor_cgi
 

Detailed Description

regular three-dimensional tessellations

Function Documentation

◆ celldistance_534()

int hr::reg3::celldistance_534 ( cell c1,
cell c2 
)

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}.

Variable Documentation

◆ next_dir

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