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

The 'experiments with geometry' menu. More...

#include "hyper.h"

Classes

struct  hr::geometry_filter
 

Namespaces

 hr
 

Functions

void hr::showQuotientConfig ()
 
void hr::validity_info ()
 
void hr::ge_land_selection ()
 
bool hr::forced_quotient ()
 
void hr::ge_select_filter ()
 
void hr::set_default_filter ()
 
void hr::set_or_configure_geometry (eGeometry g)
 
bool hr::same_tiling (eGeometry g2)
 
void hr::ge_select_tiling ()
 
EX string hr::current_proj_name ()
 
EX string hr::dim_name ()
 
EX void hr::showQuotientConfig3 ()
 
EX string hr::geometry_name ()
 
EX void hr::select_quotient_screen ()
 
EX void hr::select_quotient ()
 
EX string hr::full_geometry_name ()
 
EX void hr::showEuclideanMenu ()
 
EX void hr::runGeometryExperiments ()
 
eGeometry hr::readGeo (const string &ss)
 
int hr::read_geom_args ()
 

Variables

int hr::eupage = 0
 
int hr::euperpage = 21
 
string hr::euchelp
 
EX string hr::bitruncnames [5] = {" (b)", " (n)", " (g)", " (i)", " (d)"}
 
EX bool hr::showquotients
 
string hr::validclasses [4] = {" (X)", " (½)", "", " (!)"}
 
EX geometry_filter * hr::current_filter
 
EX geometry_filter hr::gf_hyperbolic = {"hyperbolic", [] { return (arcm::in() || arb::in() || hyperbolic) && !forced_quotient(); }}
 
EX geometry_filter hr::gf_spherical = {"spherical", [] { return (arcm::in() || arb::in() || sphere) && !forced_quotient(); }}
 
EX geometry_filter hr::gf_euclidean = {"Euclidean", [] { return (arcm::in() || arb::in() || euclid) && !forced_quotient(); }}
 
EX geometry_filter hr::gf_other = {"non-isotropic", [] { return prod || nonisotropic; }}
 
EX geometry_filter hr::gf_regular_2d
 
EX geometry_filter hr::gf_regular_3d
 
EX geometry_filter hr::gf_quotient
 
vector< geometry_filter * > hr::available_filters = { &gf_hyperbolic, &gf_spherical, &gf_euclidean, &gf_other, &gf_regular_2d, &gf_regular_3d, &gf_quotient }
 
auto hr::ah_geom = addHook(hooks_args, 0, read_geom_args)
 

Detailed Description

The 'experiments with geometry' menu.

Implementation of this menu, and computation of the statistics shown there