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

mapping hyperpoints to the screen, and related functions More...

#include "hyper.h"

Classes

struct  hr::bandfixer
 

Namespaces

 hr
 

Functions

bool hr::sphereflipped ()
 
void hr::ghcheck (hyperpoint &ret, const hyperpoint &H)
 
EX void hr::camrotate (ld &hx, ld &hy)
 
EX bool hr::non_spatial_model ()
 
EX hyperpoint hr::perspective_to_space (hyperpoint h, ld alpha IS(vid.alpha), eGeometryClass gc IS(ginf[geometry].cclass))
 
EX hyperpoint hr::space_to_perspective (hyperpoint z, ld alpha IS(vid.alpha))
 
EX hyperpoint hr::gethyper (ld x, ld y)
 
void hr::ballmodel (hyperpoint &ret, double alpha, double d, double zl)
 
void hr::apply_depth (hyperpoint &f, ld z)
 
bool hr::hypot_zlev (ld zlev, ld &d, ld &df, ld &zf)
 
ld hr::find_zlev (hyperpoint &H)
 
ld hr::get_tz (hyperpoint H)
 
EX ld hr::atan2 (hyperpoint h)
 
pair< ld, ld > hr::move_z_to_y (hyperpoint &H)
 
void hr::move_y_to_z (hyperpoint &H, pair< ld, ld > coef)
 
template<class T >
void hr::makeband (hyperpoint H, hyperpoint &ret, const T &f)
 
void hr::band_conformal (ld &x, ld &y)
 
void hr::make_twopoint (ld &x, ld &y)
 
hyperpoint hr::mobius (hyperpoint h, ld angle, ld scale=1)
 
hyperpoint hr::compute_hybrid (hyperpoint H, int rootid)
 
EX ld hr::signed_sqrt (ld x)
 
EX void hr::applymodel (hyperpoint H, hyperpoint &ret)
 
EX bool hr::outofmap (hyperpoint h)
 
EX hyperpoint hr::mirrorif (const hyperpoint &V, bool b)
 
EX transmatrix hr::mirrorif (const transmatrix &V, bool b)
 
EX int hr::away (const transmatrix &V2)
 
EX double hr::zgrad0 (double l1, double l2, int nom, int den)
 
EX bool hr::behindsphere (const hyperpoint &h)
 
ld hr::to01 (ld a0, ld a1, ld x)
 
EX ld hr::spherity (const hyperpoint &h)
 
EX bool hr::behindsphere (const transmatrix &V)
 
EX ld hr::spherity (const transmatrix &V)
 
EX bool hr::confusingGeometry ()
 
EX ld hr::master_to_c7_angle ()
 
EX transmatrix hr::actualV (const heptspin &hs, const transmatrix &V)
 
EX bool hr::point_behind (hyperpoint h)
 
void hr::raise_error ()
 
EX bool hr::invalid_matrix (const transmatrix T)
 
EX bool hr::invalid_point (const hyperpoint h)
 
EX bool hr::in_smart_range (const transmatrix &T)
 
bool hr::gp::drawrec (cell *c, const transmatrix &V, gp::loc at, int dir, int maindir)
 
bool hr::gp::drawrec (cell *c, const transmatrix &V)
 
EX bool hr::drawcell_subs (cell *c, transmatrix V)
 
EX void hr::spinEdge (ld aspd)
 
EX void hr::centerpc (ld aspd)
 
EX void hr::optimizeview ()
 
void hr::addball (ld a, ld b, ld c)
 
void hr::ballgeometry ()
 
EX void hr::resetview ()
 
EX void hr::panning (hyperpoint hf, hyperpoint ht)
 
EX void hr::fullcenter ()
 
transmatrix hr::screenpos (ld x, ld y)
 
EX eModel hr::flat_model ()
 
EX transmatrix hr::atscreenpos (ld x, ld y, ld size)
 
void hr::circle_around_center (ld radius, color_t linecol, color_t fillcol, PPR prio)
 
EX void hr::draw_model_elements ()
 
void hr::queuestraight (hyperpoint X, int style, color_t lc, color_t fc, PPR p)
 
EX void hr::draw_boundary (int w)
 
EX void hr::fix_the_band (transmatrix &T)
 
EX void hr::dq::enqueue (heptagon *h, const transmatrix &T)
 
EX void hr::dq::enqueue_by_matrix (heptagon *h, const transmatrix &T)
 
EX void hr::dq::enqueue_by_matrix_c (cell *c, const transmatrix &T)
 
EX bool hr::do_draw (cell *c)
 
bool hr::limited_generation (cell *c)
 
EX bool hr::do_draw (cell *c, const transmatrix &T)
 
EX int hr::cone_side (const hyperpoint H)
 
EX transmatrix & hr::get_view_orientation ()
 
EX void hr::rotate_view (transmatrix T)
 
EX transmatrix hr::get_shift_view_of (const hyperpoint H, const transmatrix V)
 
EX void hr::shift_view (hyperpoint H)
 
void hr::multiply_view (transmatrix T)
 
EX void hr::shift_view_to (hyperpoint H)
 
EX void hr::shift_view_towards (hyperpoint H, ld l)
 

Variables

ld hr::ghx
 
ld hr::ghy
 
ld hr::ghgx
 
ld hr::ghgy
 
hyperpoint hr::ghpm = C0
 
int hr::twopoint_sphere_flips
 
bool hr::twopoint_do_flips
 
EX transmatrix hr::sphereflip
 
EX bool hr::playerfound
 
vector< tuple< heptspin, hstate, transmatrix, ld > > hr::drawn_cells
 
bool hr::in_multi = false
 
EX int hr::cells_drawn
 
EX int hr::cells_generated
 
EX color_t hr::periodcolor = 0x00FF0080
 
EX color_t hr::ringcolor = darkena(0xFF, 0, 0xFF)
 
EX color_t hr::modelcolor = 0
 
EX ld hr::band_shift = 0
 
EX queue< tuple< heptagon *, transmatrix, ld > > hr::dq::drawqueue
 
EX set< heptagon * > hr::dq::visited
 
EX set< int > hr::dq::visited_by_matrix
 
EX queue< tuple< cell *, transmatrix, ld > > hr::dq::drawqueue_c
 
EX ld hr::extra_generation_distance = 99
 

Detailed Description

mapping hyperpoints to the screen, and related functions