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

models of hyperbolic geometry: their properties, projection menu More...

#include "hyper.h"

Namespaces

 hr
 

Typedefs

typedef long double hr::polygonal::precise
 
typedef long double hr::polygonal::xld
 
typedef complex< xld > hr::polygonal::cxld
 

Functions

EX void hr::polygonal::solve ()
 
EX pair< ld, ld > hr::polygonal::compute (ld x, ld y, int prec)
 
EX pair< ld, ld > hr::polygonal::compute (ld x, ld y)
 
bool hr::mdAzimuthalEqui ()
 
bool hr::mdBandAny ()
 
bool hr::mdPseudocylindrical ()
 
template<class A >
void hr::models::apply_orientation (A &x, A &y)
 
template<class A >
void hr::models::apply_orientation_yz (A &x, A &y)
 
template<class A >
void hr::models::apply_ball (A &x, A &y)
 
EX transmatrix hr::models::rotmatrix ()
 
EX void hr::models::configure ()
 
EX bool hr::models::model_available (eModel pm)
 
EX bool hr::models::model_has_orientation ()
 
EX bool hr::models::model_has_transition ()
 
EX bool hr::models::product_model ()
 
EX string hr::models::get_model_name (eModel m)
 
void hr::models::match_torus_period ()
 
EX void hr::models::edit_formula ()
 
EX void hr::models::edit_rotation (ld &which)
 
EX void hr::models::model_list ()
 
void hr::models::edit_stretch ()
 
EX void hr::models::model_menu ()
 
eModel hr::models::read_model (const string &ss)
 
int hr::models::readArgs ()
 

Variables

EX int hr::polygonal::SI = 4
 
EX ld hr::polygonal::STAR = 0
 
EX int hr::polygonal::deg = ISMOBWEB ? 2 : 20
 
precise hr::polygonal::matrix [MSI][MSI]
 
precise hr::polygonal::ans [MSI]
 
cxld hr::polygonal::coef [MSI]
 
EX ld hr::polygonal::coefr [MSI]
 
EX ld hr::polygonal::coefi [MSI]
 
EX int hr::polygonal::maxcoef
 
EX int hr::polygonal::coefid
 
EX string hr::models::formula = "z^2"
 
EX eModel hr::models::basic_model
 
EX ld hr::models::rotation = 0
 
EX ld hr::models::rotation_xz = 90
 
EX ld hr::models::rotation_xy2 = 90
 
EX int hr::models::do_rotate = 1
 
EX ld hr::models::model_orientation
 
EX ld hr::models::halfplane_scale
 
EX ld hr::models::model_orientation_yz
 
EX ld hr::models::clip_min
 
EX ld hr::models::clip_max
 
EX ld hr::models::ocos
 
EX ld hr::models::osin
 
EX ld hr::models::ocos_yz
 
EX ld hr::models::osin_yz
 
EX ld hr::models::cos_ball
 
EX ld hr::models::sin_ball
 
EX bool hr::models::model_straight
 
EX bool hr::models::model_straight_yz
 
EX ld hr::models::top_z = 5
 
EX ld hr::models::model_transition = 1
 
EX ld hr::models::spiral_angle = 70
 
EX ld hr::models::spiral_x = 10
 
EX ld hr::models::spiral_y = 7
 
int hr::models::spiral_id = 7
 
EX bool hr::models::use_atan = false
 
EX cld hr::models::spiral_multiplier
 
EX ld hr::models::right_spiral_multiplier = 1
 
EX ld hr::models::any_spiral_multiplier = 1
 
EX ld hr::models::sphere_spiral_multiplier = 2
 
EX ld hr::models::spiral_cone = 360
 
EX ld hr::models::spiral_cone_rad
 
EX bool hr::models::ring_not_spiral
 
EX transmatrix hr::models::euclidean_spin
 
EX ld hr::models::product_z_scale = 1
 
int hr::models::editpos = 0
 
vector< gp::loc > hr::models::torus_zeros
 
auto hr::models::hookArg = addHook(hooks_args, 100, readArgs)
 

Detailed Description

models of hyperbolic geometry: their properties, projection menu

The actual models are implemented in hypgraph.cpp. Also shaders.cpp, drawing.cpp, and basegraph.cpp are important.

Variable Documentation

◆ euclidean_spin

EX transmatrix hr::models::euclidean_spin

the matrix to rotate the Euclidean view from the standard coordinates to the screen coordinates