![]() |
HyperRogue
11.3d
game/visualization engine based on non-Euclidean geometry
|
nonisotropic spaces (Solv and Nil) More...
#include "hyper.h"
Classes | |
struct | hr::sn::tabled_inverses |
struct | hr::sn::hrmap_solnih |
struct | hr::nilv::mvec |
struct | hr::nilv::nilstructure |
struct | hr::nilv::hrmap_nil |
struct | hr::hybrid::hrmap_hybrid |
struct | hr::product::hrmap_product |
struct | hr::rots::hrmap_rotation_space |
Namespaces | |
hr | |
Typedefs | |
typedef array< float, 3 > | hr::sn::compressed_point |
Functions | |
bool | hr::nisot::local_perspective_used () |
EX transmatrix | hr::nisot::translate (hyperpoint h) |
EX bool | hr::sn::in () |
EX eGeometry | hr::sn::geom () |
hyperpoint | hr::sn::decompress (compressed_point p) |
compressed_point | hr::sn::compress (hyperpoint h) |
EX ld | hr::sn::x_to_ix (ld u) |
EX ld | hr::sn::ix_to_x (ld ix) |
EX ld | hr::sn::z_to_iz (ld z) |
EX ld | hr::sn::iz_to_z (ld iz) |
EX hyperpoint | hr::sn::azeq_to_table (hyperpoint x) |
EX hyperpoint | hr::sn::table_to_azeq (hyperpoint x) |
EX pair< heptagon *, heptagon * > | hr::sn::getcoord (heptagon *h) |
EX heptagon * | hr::sn::get_at (heptagon *h1, heptagon *h2, bool gen) |
hyperpoint | hr::sn::christoffel (const hyperpoint at, const hyperpoint velocity, const hyperpoint transported) |
EX hyperpoint | hr::sn::get_inverse_exp_symsol (hyperpoint h, bool lazy, bool just_direction) |
EX hyperpoint | hr::sn::get_inverse_exp_nsym (hyperpoint h, bool lazy, bool just_direction) |
EX bool | hr::sn::in_table_range (hyperpoint h) |
EX tabled_inverses & | hr::sn::get_tabled () |
EX int | hr::sn::approx_distance (heptagon *h1, heptagon *h2) |
hyperpoint | hr::nilv::christoffel (const hyperpoint Position, const hyperpoint Velocity, const hyperpoint Transported) |
EX hyperpoint | hr::nilv::formula_exp (hyperpoint v) |
EX hyperpoint | hr::nilv::get_inverse_exp (hyperpoint h, int iterations) |
hyperpoint | hr::nilv::mvec_to_point (mvec m) |
EX nilstructure & | hr::nilv::current_ns () |
EX transmatrix | hr::nilv::adjmatrix (int i) |
EX mvec | hr::nilv::get_coord (heptagon *h) |
EX heptagon * | hr::nilv::get_heptagon_at (mvec m) |
EX void | hr::nilv::set_flags () |
EX hyperpoint | hr::nilv::on_geodesic (hyperpoint s0, hyperpoint s1, ld x) |
EX color_t | hr::nilv::colorize (cell *c, char whichCanvas) |
EX void | hr::nilv::prepare_niltorus3 () |
EX void | hr::nilv::show_niltorus3 () |
EX bool | hr::in_s2xe () |
EX bool | hr::in_h2xe () |
EX bool | hr::in_e2xe () |
EX eGeometryClass | hr::hybrid::under_class () |
EX void | hr::hybrid::configure (eGeometry g) |
EX void | hr::hybrid::reconfigure () |
template<class T > | |
auto | hr::hybrid::in_actual (const T &t) -> decltype(t()) |
hrmap_hybrid * | hr::hybrid::hmap () |
EX cell * | hr::hybrid::get_at (cell *base, int level) |
EX pair< cell *, int > | hr::hybrid::get_where (cell *c) |
EX void | hr::hybrid::find_cell_connection (cell *c, int d) |
EX hrmap * | hr::hybrid::get_umap () |
template<class T > | |
auto | hr::hybrid::in_underlying_geometry (const T &f) -> decltype(f()) |
EX hyperpoint | hr::hybrid::get_corner (cell *c, int i, int next, ld z) |
EX int | hr::hybrid::wall_offset (cell *c) |
EX void | hr::hybrid::will_link (cell *c) |
EX void | hr::hybrid::link () |
EX int | hr::hybrid::celldistance (cell *c1, cell *c2) |
EX hyperpoint | hr::product::inverse_exp (hyperpoint h) |
EX hyperpoint | hr::product::direct_exp (hyperpoint h) |
EX bool | hr::product::validate_spin () |
EX void | hr::product::show_config () |
EX hyperpoint | hr::slr::from_phigans (hyperpoint h) |
EX hyperpoint | hr::slr::to_phigans (hyperpoint h) |
hyperpoint | hr::slr::christoffel (const hyperpoint Position, const hyperpoint Velocity, const hyperpoint Transported) |
EX transmatrix | hr::slr::translate (hyperpoint h) |
hyperpoint | hr::slr::polar (ld r, ld theta, ld phi) |
hyperpoint | hr::slr::xyz_point (ld x, ld y, ld z) |
ld | hr::slr::rootsin (ld square, ld s) |
ld | hr::slr::asin_it (ld z, int it) |
ld | hr::slr::arootsin (ld square, ld v, int it) |
ld | hr::slr::roottan (ld square, ld s) |
hyperpoint | hr::slr::geodesic_polar (ld alpha, ld beta, ld s) |
EX hyperpoint | hr::slr::formula_exp (hyperpoint h) |
void | hr::slr::find_alpha (ld phi, ld r, ld theta, ld &alpha, ld &s, ld &beta) |
EX hyperpoint | hr::slr::get_inverse_exp (hyperpoint h, ld index IS(0)) |
EX transmatrix | hr::rots::uxpush (ld x) |
EX transmatrix | hr::rots::uypush (ld y) |
EX transmatrix | hr::rots::uzpush (ld z) |
EX transmatrix | hr::rots::qtm (hyperpoint h) |
EX void | hr::rots::draw_underlying (bool cornermode) |
EX hyperpoint | hr::nisot::christoffel (const hyperpoint at, const hyperpoint velocity, const hyperpoint transported) |
EX bool | hr::nisot::in_table_range (hyperpoint h) |
EX void | hr::nisot::geodesic_step (hyperpoint &at, hyperpoint &velocity) |
EX hyperpoint | hr::nisot::numerical_exp (hyperpoint v, int steps) |
EX transmatrix | hr::nisot::parallel_transport_bare (transmatrix Pos, hyperpoint h) |
EX void | hr::nisot::fixmatrix (transmatrix &T) |
EX transmatrix | hr::nisot::parallel_transport (const transmatrix Position, const hyperpoint direction) |
EX transmatrix | hr::nisot::spin_towards (const transmatrix Position, const hyperpoint goal) |
EX hrmap * | hr::nisot::new_map () |
nonisotropic spaces (Solv and Nil)
hyperpoint hr::slr::christoffel | ( | const hyperpoint | Position, |
const hyperpoint | Velocity, | ||
const hyperpoint | Transported | ||
) |
in the 'phigans' model
ld hr::slr::asin_it | ( | ld | z, |
int | it | ||
) |
it==0 is standard asin, it==1 is the next solution (PI-asin)
EX transmatrix hr::rots::qtm | ( | hyperpoint | h | ) |
reinterpret the given point of rotspace as a rotation matrix in the underlying geometry
EX string hr::sn::common |
EX string hr::sn::shader_symsol |
EX string hr::sn::shader_nsym |
EX string hr::nilv::nilshader |
nilstructure hr::nilv::ns6 |
nilstructure hr::nilv::ns8 |