Zeno Rogue
5da1b8f88e
removed obsolete CLI options -solgeo and -solnogeo
2022-12-17 11:35:46 +01:00
Zeno Rogue
4da63f57dc
renamed parallel_transport to shift_object, made it use shift_method, and made it correct for Lie movement
2022-12-17 11:35:28 +01:00
Zeno Rogue
e9c04e1e77
Sol/NIH geometries now have separate gc constants
2022-12-13 19:46:57 +01:00
Zeno Rogue
3e733ae6e9
Big change: spatial_embedding option
2022-12-09 02:33:15 +01:00
Zeno Rogue
bf001926c2
refactored the vertical movement functions
2022-12-09 02:33:15 +01:00
Zeno Rogue
06523e063e
used cyclefix and raddif in more places; (c)spin90, (c)spin180 and spin180 functions; rephrased M_PI in terms of TAU and x._deg when applicable
2022-11-13 16:22:55 +01:00
Zeno Rogue
9c603c13d4
slr:: slr::range_z parameter
2022-10-15 22:57:37 +02:00
Zeno Rogue
6ac17b31f1
hybrid:: new options for switching
2022-10-11 20:00:51 +02:00
Zeno Rogue
ce5c1bc369
ray:: fixed missing samples
2022-09-14 23:38:29 +02:00
Zeno Rogue
ae7574483e
slr:: formula_exp now returns 0 for vel==0 instead of nan
2022-09-14 18:30:12 +02:00
Zeno Rogue
db3d710dd4
slr:: in_actual is now exported and also actually works
2022-09-14 18:29:39 +02:00
Arthur O'Dwyer
3c3f2b2b21
Silence overzealous -Wunused-result warnings on GCC
2022-07-05 13:28:00 -04:00
Zeno Rogue
75f58766a2
made background screen darkening consistent and optional
2022-07-05 11:51:06 +02:00
Zeno Rogue
38099bd7cb
hybrid:: new value of 'next' for get_corner
2022-06-23 09:35:16 +02:00
Zeno Rogue
4892541287
added comments for sl:: parameters, set them as param_, renamed steps to shader_iterations
2022-05-28 18:43:43 +02:00
Zeno Rogue
793148729b
An option to play on a disk (and use bounded space rules). Also renamed 'bounded' flag to 'closed' or similar, and improved Halloween
2022-05-21 13:08:42 +02:00
Zeno Rogue
d07ae075bc
ray:: fixed raycaster in 2dim geometries crashing
2021-11-07 10:19:21 +01:00
Zeno Rogue
12dcd348b0
sol:: stop crashing if coordinates are NAN
2021-11-07 09:59:22 +01:00
Zeno Rogue
be1df0a68d
fixed gen_sample_list (more walkaround than fix)
2021-10-10 00:40:22 +02:00
Zeno Rogue
41308e8e98
fixed product in dual archimedean
2021-10-10 00:40:22 +02:00
Zeno Rogue
663e334e38
intra:: first version
2021-09-16 21:30:26 +02:00
Zeno Rogue
97ec940744
added CAP_GL guards
2021-09-04 21:54:42 +02:00
Zeno Rogue
8d913f525d
altmap height now uses an outside parameter
2021-07-31 15:14:31 +02:00
Zeno Rogue
8b3ea9031a
nil:: fixed a possible crash due to missing compute_hept()
2021-07-21 10:49:48 +02:00
Arthur O'Dwyer
0ee6ce8c83
Eliminate -Woverloaded-virtual warnings from Clang. NFCI.
2021-07-12 17:51:39 -04:00
Zeno Rogue
c4e85c16d3
full cellshape computed in hybrid geometries
2021-07-12 20:54:16 +02:00
Zeno Rogue
2215e07fca
created cellshapes for other 3D geometries
2021-07-12 12:23:34 +02:00
Zeno Rogue
0aa1d45287
moved ray_iadj from hybrid to hrmap method
2021-07-09 22:32:00 +02:00
Zeno Rogue
9a319e2d2a
refactored shvid_full and wall_offset as virtual functions
2021-07-09 22:32:00 +02:00
Zeno Rogue
bc5ecf35e0
ray:: works with complex subcube-based honeycombs
2021-07-07 23:34:15 +02:00
Zeno Rogue
415fe72329
fixed gen_sample_list
2021-07-07 18:22:15 +02:00
Zeno Rogue
74486309a6
created a function init_heptagon which does tailored_alloc and clears the data
2021-07-04 10:36:16 +02:00
Zeno Rogue
29dee36525
fixed product shvid
2021-06-17 09:44:48 +02:00
Zeno Rogue
42fc2c44a7
rewritten shvid using OOP
2021-06-17 09:44:47 +02:00
Zeno Rogue
8d18946450
written createMov in an OOP way
2021-06-12 23:25:59 +02:00
Zeno Rogue
0f767e16b6
XLAT refactor continued
2021-05-23 16:00:50 +02:00
Zeno Rogue
42f64f5bcf
REVERT gen_sample_list for non-hybrid
2021-05-17 14:23:08 +02:00
Zeno Rogue
7dfa614e6a
removed incorrect implementation of 2.5D in gen_sample_list()
2021-05-12 20:20:40 +02:00
Zeno Rogue
c6beebec79
fixed raycaster on (convex) 2.5D tes
2021-05-12 20:18:34 +02:00
Zeno Rogue
3146fdd02f
hybrid:: draw_underlying_space no longer covers the screen in e2xe, and also fixed the orientation in product
2021-05-01 14:14:28 +02:00
Zeno Rogue
97ccc07be6
ray:: reset_raycaster now resets rots::saved_matrices_ray
2021-04-07 18:15:58 +02:00
Zeno Rogue
e887d9e0b8
rotspace for S2 is now always elliptic
2021-04-07 18:15:58 +02:00
Zeno Rogue
5a73510c4f
added some guards for MAXMDIM >= 4 and CAP_SOLV
2021-03-30 11:27:48 +02:00
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
Zeno Rogue
0472bf764f
moved all projection-related parameters to a special struct; another copy of that struct created for rug
2020-04-17 00:53:58 +02:00
Zeno Rogue
68ee90fcba
export get_acceleration
2020-04-12 20:34:39 +02:00
Zeno Rogue
ce441eb4bc
more accurate lazy for SolNih
2020-04-12 20:34:16 +02:00
Zeno Rogue
825a8aba82
nisot:: parallel_transport now also uses RK4
2020-04-11 15:28:22 +02:00
Zeno Rogue
e4a8b73819
nisot:: nicer precision setting
2020-04-11 15:08:24 +02:00
Zeno Rogue
c5d7479d00
nisot:: geodesic_step is now based on RK4 instead of midpoint
2020-04-11 15:01:01 +02:00
Zeno Rogue
b79eb4de1d
fixed cellcount
2020-04-06 09:26:59 +02:00