HyperRogue  11.3d
game/visualization engine based on non-Euclidean geometry
Classes | Namespaces | Enumerations | Functions | Variables
binary-tiling.cpp File Reference

Binary tilings in 2D and 3D. More...

#include "hyper.h"

Classes

struct  hr::bt::hrmap_binary
 
struct  hr::bt::hrmap_alternate_binary
 

Namespaces

 hr
 

Enumerations

enum  bindir {
  bd_right = 0, bd_up_right = 1, bd_up = 2, bd_up_left = 3,
  bd_left = 4, bd_down = 5, bd_down_left = 5, bd_down_right = 6
}
 

Functions

EX bool hr::bt::in ()
 
EX int hr::bt::type_of (heptagon *h)
 
EX int hr::bt::mapside (heptagon *h)
 
EX heptagon * hr::bt::path (heptagon *h, int d, int d1, std::initializer_list< int > p)
 
EX heptagon * hr::bt::pathc (heptagon *h, int d, int d1, std::vector< std::initializer_list< int >> p)
 
EX void hr::bt::make_binary_lands (heptagon *parent, heptagon *h)
 
EX heptagon * hr::bt::build (heptagon *parent, int d, int d1, int t, int side, int delta)
 
EX heptagon * hr::bt::build3 (heptagon *parent, int d, int d1, int delta)
 
EX hrmap * hr::bt::new_map ()
 
EX hrmap * hr::bt::new_alt_map (heptagon *o)
 
EX bool hr::bt::use_direct_for (int dir)
 
EX ld hr::bt::expansion ()
 
EX int hr::bt::updir ()
 
EX int hr::bt::dirs_outer ()
 
EX int hr::bt::dirs_inner ()
 
EX void hr::bt::build_tmatrix ()
 
EX void hr::bt::queuecube (const transmatrix &V, ld size, color_t linecolor, color_t facecolor)
 
EX transmatrix hr::bt::parabolic (ld u)
 
EX transmatrix hr::bt::parabolic3 (ld y, ld z)
 
EX ld hr::bt::horo_level (hyperpoint h)
 
EX hyperpoint hr::bt::deparabolic3 (hyperpoint h)
 
EX bool hr::bt::pseudohept (cell *c)
 
EX pair< gp::loc, gp::loc > hr::bt::gpvalue (heptagon *h)
 
EX int hr::bt::tridist (gp::loc v)
 
EX int hr::bt::equalize (heptagon *&c1, heptagon *&c2)
 
EX int hr::bt::celldistance3_tri (heptagon *c1, heptagon *c2)
 
EX int hr::bt::celldistance3_rec (heptagon *c1, heptagon *c2)
 
EX int hr::bt::celldistance3_square (heptagon *c1, heptagon *c2)
 
EX int hr::bt::celldistance3_hex (heptagon *c1, heptagon *c2)
 
EX int hr::bt::celldistance3_approx (heptagon *c1, heptagon *c2)
 
EX int hr::bt::celldistance3 (heptagon *c1, heptagon *c2)
 
EX int hr::bt::celldistance3 (cell *c1, cell *c2)
 
EX hyperpoint hr::bt::get_horopoint (ld y, ld x)
 
EX hyperpoint hr::bt::get_horopoint (hyperpoint h)
 
EX hyperpoint hr::bt::get_corner_horo_coordinates (cell *c, int i)
 

Variables

EX ld hr::bt::hororec_scale = 0.25
 
EX ld hr::bt::horohex_scale = 0.6
 
EX transmatrix hr::bt::direct_tmatrix [14]
 
EX transmatrix hr::bt::inverse_tmatrix [14]
 
int hr::bt::use_direct
 
auto hr::bt::bt_config
 
auto hr::bt::hooksw
 

Detailed Description

Binary tilings in 2D and 3D.

Function Documentation

◆ in()

EX bool hr::bt::in ( )

note: nihsolv and kd3 tilings return bt::in(). They are defined elsewhere, although some of bt:: functions are used for them

Variable Documentation

◆ bt_config

auto hr::bt::bt_config
Initial value:
= addHook(hooks_args, 0, [] () {
using namespace arg;
if(argis("-btwidth")) {
shift_arg_formula(vid.binary_width);
return 0;
}
return 1;
})

◆ hooksw

auto hr::bt::hooksw
Initial value:
= addHook(hooks_swapdim, 100, [] {
if(bt::in()) build_tmatrix();
})