Commit Graph

211 Commits

Author SHA1 Message Date
Zeno Rogue 953e17722d throw hr_exceptions not strings 2021-03-24 20:25:44 +01:00
Arthur O'Dwyer 1761b02b90 Rationalize some std::exception stuff. 2021-03-21 17:57:09 -04:00
Zeno Rogue 421ff4a94a stretchable spherical spaces are now marked qSTRETCHABLE 2021-03-21 12:51:50 +01:00
Zeno Rogue 15adcdf191 missing () 2021-03-12 23:00:18 +01:00
Zeno Rogue 5f86ed6b4b fixed more fallthroughs, added exception hr_wrong_geometry 2021-03-12 22:59:24 +01:00
Zeno Rogue 6655ca1bc8 CLI option -nilh 2021-02-01 11:21:38 +01:00
Zeno Rogue 0de8ce9a10 initial implementation of VR 2020-11-22 17:58:40 +01:00
Zeno Rogue 35a502ae9a the rotation fix did not work in SL2 2020-11-14 15:04:52 +01:00
Zeno Rogue 1ad581b9a8 hybrid:: in PURE, one type is sufficient -- important in GLES 2020-11-14 14:18:08 +01:00
Arthur O'Dwyer d163a01b8a Remove USE_UNORDERED_MAP because it has bit-rotted.
Trying to compile with `-DUSE_UNORDERED_MAP` produces lots of compiler errors
like these, because of missing `std::hash` specializations.
Also, `#define unordered_map map` is just evil!

```
./nonisotropic.cpp:875:36: note: in instantiation of template class 'std::__1::unordered_map<hr::nilv::mvec, hr::heptagon *,
      std::__1::hash<hr::nilv::mvec>, std::__1::equal_to<hr::nilv::mvec>, std::__1::allocator<std::__1::pair<const hr::nilv::mvec, hr::heptagon
      *> > >' requested here
    unordered_map<mvec, heptagon*> at;
                                   ^

./nonisotropic.cpp:239:58: note: in instantiation of template class 'std::__1::unordered_map<std::__1::pair<hr::heptagon *, hr::heptagon *>,
      hr::heptagon *, std::__1::hash<std::__1::pair<hr::heptagon *, hr::heptagon *> >, std::__1::equal_to<std::__1::pair<hr::heptagon *,
      hr::heptagon *> >, std::__1::allocator<std::__1::pair<const std::__1::pair<hr::heptagon *, hr::heptagon *>, hr::heptagon *> > >'
      requested here
    unordered_map<pair<heptagon*, heptagon*>, heptagon*> at;
                                                         ^

./nonisotropic.cpp:457:49: error: no matching member function for call to 'iadj'
      while(h1->distance < h2->distance) back = iadj(h2, down) * back, h2 = h2->cmove(down);
                                                ^~~~
cell.cpp:42:15: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
  transmatrix iadj(heptagon *h, int d) {
              ^
cell.cpp:41:22: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
  struct transmatrix iadj(cell *c, int i) { cell *c1 = c->cmove(i); return adj(c1, c->c.spin(i)); }
                     ^
```
2020-10-19 13:15:29 -04:00
Zeno Rogue d64c5e338c extra guards 2020-10-15 16:33:52 +02:00
Zeno Rogue 34dc8fcc6e various fixes related to product spaces, especially product+inverse 2020-10-06 21:11:27 +02:00
Zeno Rogue fdcba734c9 fixed direct_exp in S2xE 2020-09-21 12:03:32 +02:00
Zeno Rogue e26f8f5a5b optimized inverses 2020-09-16 23:49:17 +02:00
Zeno Rogue 6c99b70f16 fixed not reseting mstretch correctly 2020-08-23 00:11:19 +02:00
Zeno Rogue b5924ccc5c mstretch now works in rot spaces including SL2 2020-08-23 00:10:59 +02:00
Zeno Rogue 0822625cf8 fixed a NAN in rots::formula_exp 2020-08-10 20:20:55 +02:00
Zeno Rogue 0926b98c83 fixed raycaster in twisted geometries; weirdly twisted spherical geometry 2020-08-08 16:08:51 +02:00
Zeno Rogue a7ac7b0894 added a comment to qtm that it is the inverse 2020-08-05 01:18:25 +02:00
Zeno Rogue 3505f17460 redone modecode 2020-08-02 12:55:37 +02:00
Zeno Rogue c25e120c13 fixed a freeze in Berger sphere primitive 2020-07-28 22:06:14 +02:00
Zeno Rogue 18c96d4e62 fixed a bug in rotspace raycasting 2020-07-28 22:06:14 +02:00
Zeno Rogue c99650cae4 rotspace:: in configure_period menu, updated description, and menu is left correctly 2020-07-28 22:06:14 +02:00
Zeno Rogue 475d16451a rotspace:: shift: implemented using cellwalkers, works correctly in bounded spaces now 2020-07-28 22:06:14 +02:00
Zeno Rogue 33647a56c2 fixed distance computation in periodic product spaces (racing in H2xE no longer freezes) 2020-07-28 22:06:14 +02:00
Zeno Rogue 67595a4ed3 redone hrmap::draw() function to keep DRY 2020-07-28 22:06:14 +02:00
Zeno Rogue 42446f1925 fixed non-shader-based slr::get_inverse_exp 2020-07-28 22:06:14 +02:00
Zeno Rogue 82f32607e6 MAJOR CHANGE: replaced (transmatrix,band_shift) pair with shiftmatrix 2020-07-28 22:06:14 +02:00
Zeno Rogue adc17dce1b fixed slshader when xy==0 2020-07-25 03:14:11 +02:00
Zeno Rogue 4d9775080d fixed crash in geometry selection 2020-07-25 03:13:54 +02:00
Zeno Rogue 94cac21716 primitive-based rendering of the Berger sphere (very poor) 2020-07-24 23:39:30 +02:00
Zeno Rogue 7d7fe85199 slr:: fixes in ~SL quotients: auto disc_quotient, underlying spaces drawn correctly, comment in period selector 2020-07-24 16:20:27 +02:00
Zeno Rogue 4c6500514e nicer slshader 2020-07-24 11:35:32 +02:00
Zeno Rogue 351eda2b5d generalized PSL to ~SL (discrepancies still appear) 2020-07-24 02:30:50 +02:00
Zeno Rogue 7e85f07458 primitive rendering now implemented for stretched H2xE; removed the old implementation of SL(2,R) 2020-07-22 00:19:13 +02:00
Zeno Rogue 2a0b0101fd raycasting in 2D 2020-06-03 15:11:20 +02:00
Zeno Rogue 76dfee3e42 no_code set for hybrid and fake 2020-05-16 11:26:03 +02:00
Zeno Rogue bf83959b4a allow setting the resource dir; autoconf should move *.dat file to resource dir 2020-05-16 01:30:33 +02:00
Zeno Rogue 8b89374421 generalized SL2 raycaster 2020-05-15 18:32:14 +02:00
Zeno Rogue 3f20ba9d29 getCdata and getBits: prod -> hybri 2020-05-15 18:31:32 +02:00
Zeno Rogue 58a4583bb7 fixed Goldberg hybrid spaces 2020-05-15 17:40:42 +02:00
Zeno Rogue aea3ac848b hybrid:: in draw underlying, use a longer range in H2 2020-05-15 11:48:04 +02:00
Zeno Rogue 29c7faa264 stretch < -1 (seems not to be working correctly) 2020-05-09 18:33:37 +02:00
Zeno Rogue c35705cc5c fixed hybrid bitruncated ray: works after clear map 2020-05-09 18:32:16 +02:00
Zeno Rogue fd9ea8793e stretch:: renamed rots_twist to stretch, also implemented for slr 2020-05-09 10:41:15 +02:00
Zeno Rogue ecb88d8501 qtm:: fixed 2020-05-09 02:35:15 +02:00
Zeno Rogue 83c0ade9d6 revert hyperbolic qtm 2020-05-09 00:57:59 +02:00
Zeno Rogue 54804bc08b stretched spherical geometry 2020-05-08 21:18:47 +02:00
Zeno Rogue 02de6fa330 ray:: bitruncated product 2020-05-08 21:14:31 +02:00
Zeno Rogue a6a0995e85 SOLV_ALL 2020-04-29 15:15:18 +02:00