Zeno Rogue
1b96658a05
fake curvature
2020-05-15 11:46:26 +02:00
Arthur O'Dwyer
0d42168139
Make hookset<T> a pointer type, just like purehookset.
...
No more declaring `hookset<T> *hooks_foo`; now it's just
`hookset<T> hooks_foo` at global scope. This clears the way to
make `hookset<T>` into a class type if we want.
2020-04-12 10:50:18 -04:00
Arthur O'Dwyer
934e3d9a42
Consistently name every hookset with prefix hooks_
. NFC.
...
I'm sure this causes massive merge-conflicts in the non-public code,
but I think it'd be a good idea, if only to avoid confusion between
e.g. `clearMemory` and the-variable-formerly-known-as `clearmemory`.
2020-04-12 10:49:32 -04:00
Zeno Rogue
b79eb4de1d
fixed cellcount
2020-04-06 09:26:59 +02:00
Zeno Rogue
b5a70c1bc6
Merge pull request #92 from Quuxplusone/pedantic
...
Add `-pedantic` to the Makefile, and fix all resulting warnings
2020-03-27 12:04:40 +01:00
Zeno Rogue
95a032eeb6
fixed a serious bug (it caused crashes in Solv racing, but it could cause other issues too)
2020-03-25 13:41:45 +01:00
Arthur O'Dwyer
7a706478dc
Add a helper function voidp
to silence GCC warnings about %p
.
...
We must fully qualify calls to `hr::voidp` because the expression
`voidp(x)` is ambiguous or worse. "/usr/include/zconf.h" defines
`voidp` in the global namespace as a typedef for `void*`.
We don't want an unsafe functional-style cast to `void*`;
we want to call our nice safe helper function. So we qualify the name.
2020-03-23 14:39:28 -04:00
Zeno Rogue
e70915de9d
fixed distance computation in 3D fieldquotient
2020-03-21 10:14:54 +01:00
Zeno Rogue
4e52804d45
moved spin_to and spin_from implementations outside of hr_map
2020-03-21 09:27:12 +01:00
Zeno Rogue
d6578cd074
you can no longer try to change the adjacency rule in infinite-order tilings
2020-03-11 10:09:23 +01:00
Zeno Rogue
f05fa60400
added MAXMDIM guards
2020-01-29 18:18:51 +01:00
Zeno Rogue
370cdafaf8
Updir and updir_alt functions. Also no more double edges in structure trees
2020-01-28 17:58:55 +01:00
Zeno Rogue
0e86f60806
reg3:: correct alt-maps in rule
2020-01-28 17:58:55 +01:00
Zeno Rogue
570272fd7a
separated bounded_distance and clueless_distance into functions
2020-01-28 17:58:55 +01:00
Zeno Rogue
4287ddf883
default_levs() as a function
2020-01-28 17:58:55 +01:00
Zeno Rogue
00262e8f6a
reg3:: hrmap_reg3_rule (alt not working correctly yet)
2020-01-28 17:58:55 +01:00
Zeno Rogue
7038df605c
field:: quick distance computations in 3D
2020-01-16 17:13:57 +01:00
Zeno Rogue
59a9605b13
arb::relative_matrix
2020-01-16 17:13:37 +01:00
Zeno Rogue
94fd788316
pattern 'P' now uses permanent_long_distances
2019-12-23 20:52:25 +01:00
Zeno Rogue
b3fe4f102b
arb fixup: added missing arb::in to standard_tiling
2019-12-23 20:49:12 +01:00
Zeno Rogue
7f09bb6259
replaced macro VALENCE with function valence()
2019-12-14 12:31:20 +01:00
Zeno Rogue
769982040d
renamed solnihv:: to sn:: and solnih to sn::in()
2019-12-14 12:28:45 +01:00
Zeno Rogue
8cfc5a578f
renamed penrose.cpp to kite.cpp and 'penrose' to 'kite::in()'
2019-12-14 12:12:24 +01:00
Zeno Rogue
1d6576ef92
fixup one more euc::in()
2019-12-14 12:05:12 +01:00
Zeno Rogue
d5c8aebf16
renamed binary:: to bt:: and binarytiling to bt::in()
2019-12-14 12:05:01 +01:00
Zeno Rogue
f772f9b7fd
replaced 'archimedean' with 'arcm::in()'
2019-12-14 11:57:23 +01:00
Zeno Rogue
d529449999
arbitrary tilings
2019-12-14 11:57:23 +01:00
Zeno Rogue
0a9ec78c18
remplace euclid6, euclid4, 'euclid && \!archimedean && \!penrose' with standard_tiling(), euc::in(dimension, s7)
2019-12-14 11:57:23 +01:00
Zeno Rogue
26fb19e7a8
subdivided game.cpp; split movepcto into separate functions
2019-12-08 20:07:02 +01:00
Zeno Rogue
e8a39e6663
replaced euclid3:: with euc::
2019-12-08 11:01:28 +01:00
Zeno Rogue
ddb5d07ff6
cleanup in Euclidean
2019-12-08 10:59:09 +01:00
Zeno Rogue
f243b61d72
fixed a crash when changing to product
2019-11-30 19:28:28 +01:00
Zeno Rogue
f46967efb9
removed assignment of gp::loc to tie as Clang does not like it
2019-11-30 18:55:02 +01:00
Zeno Rogue
46892a35c4
hybrid:: celldistance
2019-11-30 18:06:48 +01:00
Zeno Rogue
25bc0f56de
kth-turn product space (via CLI)
2019-11-30 18:06:48 +01:00
Zeno Rogue
78ecc9e960
fixed some crashes in E2xE
2019-11-30 18:06:48 +01:00
Zeno Rogue
5585831b27
fixed Archimedean and Penrose
2019-11-30 18:06:48 +01:00
Zeno Rogue
d63b14da5c
PIU now works in the underlying map -- underlying geometry only is too fragile
2019-11-30 18:06:47 +01:00
Zeno Rogue
97adbc28c0
Euclidean distance restored
2019-11-30 18:06:47 +01:00
Zeno Rogue
1cba452f07
rewritten the Euclidean geometry
2019-11-30 18:06:47 +01:00
Zeno Rogue
aed8df0d04
hrmap_standard now can be 3D maps
2019-11-30 18:05:23 +01:00
Zeno Rogue
a1fbfb2946
gp:: adjm to fix the confusion in quotient spaces
2019-11-30 18:05:23 +01:00
Zeno Rogue
0cb93afad7
createMov: bitruncation works on non-orientable with S7%2 == 0
2019-11-30 18:05:23 +01:00
Zeno Rogue
7e8ede4bd6
relative_matrix and adj changed
2019-11-30 18:05:23 +01:00
Zeno Rogue
89225f4632
missing override attributes
2019-11-15 14:24:17 +01:00
Zeno Rogue
f70d7a4f27
allcells no longer generates too long list in S2xE
2019-11-15 02:54:53 +01:00
Zeno Rogue
d10a6d10b5
use_exhaustive_distance used in Yendor under same rules
2019-11-15 02:51:25 +01:00
Zeno Rogue
f36fee9faa
racing:: better bounded tracks
2019-11-15 02:36:14 +01:00
Zeno Rogue
6655a73e5e
qHUGE_BOUNDED to detect bounded geometries not to be computed fully
2019-11-15 02:19:26 +01:00
Zeno Rogue
577ab0e1d4
asonov:: substraction op used for efficient celldistance
2019-11-15 02:16:54 +01:00
Zeno Rogue
3bdbea30e3
fixed irregular map
2019-11-14 21:18:50 +01:00
Zeno Rogue
012d833f50
removed the tohex parameter
2019-11-14 19:33:55 +01:00
Zeno Rogue
8a2e9b7a73
fixed iddspin
2019-11-14 19:23:27 +01:00
Zeno Rogue
aeaaf7586a
refactored map functions: ddspin, iddspin, spacedist, spin_angle, virtualRebase[simple], adj
2019-11-14 16:51:50 +01:00
Zeno Rogue
4e534261f0
hrmap_binary no longer inherits from hrmap_hyperbolic (Liskov substitution fail)
2019-11-14 13:08:20 +01:00
Zeno Rogue
109dd9823c
simplified ddspin/iddspin/cellgfxdist, replaced cellrelmatrix with adj/iadj
2019-11-14 00:27:59 +01:00
Zeno Rogue
b0e481cc0a
removed debug
2019-11-13 20:47:55 +01:00
Zeno Rogue
374d52bb58
default allcells builds the list on all quotient spaces, and generates some list if there is no dcal
2019-11-09 11:20:18 +01:00
Zeno Rogue
add037d4e8
asonov:: changed direct checking of gArnoldCat to asonov::in()
2019-11-08 15:34:51 +01:00
Zeno Rogue
d199411248
new tiling: Arnold's cat
2019-11-08 15:01:03 +01:00
Zeno Rogue
d4b2e0f88b
niltorus improvements
2019-11-02 22:19:32 +01:00
Zeno Rogue
377fd3f8bd
torus3 improvements
2019-11-02 22:17:57 +01:00
Zeno Rogue
43f629e9c4
inforder:: wall generation
2019-10-10 13:49:35 +02:00
Zeno Rogue
b5f6e6f3f5
inforder basics
2019-10-10 13:08:06 +02:00
Zeno Rogue
f0ca277b10
geometry_supports_cdata() always returned false in hybrid
2019-10-06 13:05:39 +02:00
Zeno Rogue
cbd8c77636
fixed distance computation in Nil
2019-10-05 18:55:11 +02:00
Zeno Rogue
d69cb4e946
SolN manifold
2019-10-03 20:10:48 +02:00
Zeno Rogue
46d127401e
nih improvements
2019-10-02 19:22:43 +02:00
Zeno Rogue
8833251c8b
added some missing CAP_SOLV guards
2019-09-13 19:50:12 +02:00
Zeno Rogue
d1bf6fef5e
replaced product::product_sphere()
2019-09-12 22:50:16 +02:00
Zeno Rogue
e8c7285cc2
product:: lands in S2xE
2019-09-12 22:50:16 +02:00
Zeno Rogue
2bad9afc54
export hooks_newmap
2019-09-12 22:50:16 +02:00
Zeno Rogue
82f24b4b6c
exporting necessary stuff all over (in progress)
2019-09-12 22:50:16 +02:00
Zeno Rogue
339f6820fe
removed referring to specific map subtypes
2019-09-12 22:50:16 +02:00
Zeno Rogue
9647cbd47e
added #include hyper.h to all cpp files
2019-09-12 22:50:16 +02:00
Zeno Rogue
46dfd50a40
fixed a crash in Archimedean sl2 due to Cdata
2019-09-12 22:50:15 +02:00
Zeno Rogue
c33c79a902
generalized PSL2 to spherical rotation spaces too
2019-09-12 22:50:15 +02:00
Zeno Rogue
2bedd5f2ce
fix for Archimedean hybrid
2019-09-12 22:50:15 +02:00
Zeno Rogue
1e6970ca28
hybrid:: refactored the common parts of prod and sl2, also used them when applicable
2019-09-12 22:50:15 +02:00
Zeno Rogue
136b931609
PSL(2,R)
2019-09-12 22:50:15 +02:00
Zeno Rogue
a03eb0d913
fixed new geometry handling for Archimedean
2019-09-12 22:50:15 +02:00
Zeno Rogue
988adb8259
product:: horocycles now have base altitude
2019-09-12 22:50:14 +02:00
Zeno Rogue
a25bf14cff
added missing clearmemory in nonisotropic geometries; this also fixed a crash in Archimedean
2019-09-12 22:50:14 +02:00
Zeno Rogue
081bb55202
in_underlying_map, not PIU in distance functions
2019-09-12 22:50:13 +02:00
Zeno Rogue
f40072511b
product:: big stuff
2019-09-12 22:50:13 +02:00
Zeno Rogue
6958cbcbd9
product:: preliminary version (no turning)
2019-09-12 22:50:13 +02:00
Zeno Rogue
843a53d07c
fixed a bug with Archimedean hyperbolic tilings
2019-09-12 22:50:13 +02:00
Zeno Rogue
437c4e4cdd
flag 'experimental' for new geometries
2019-09-12 22:50:13 +02:00
Zeno Rogue
8b1c7bffe4
initial reformatting of comments for Doxygen
2019-09-12 22:50:13 +02:00
Zeno Rogue
609d1b91d3
further cleanup
2019-09-12 22:50:13 +02:00
Zeno Rogue
245ee5878f
removed function dirfromto as it was equal to neighborId
2019-09-12 22:50:12 +02:00
Zeno Rogue
c2d56fb9bc
autohdr.h applied in more files
2019-09-12 22:50:12 +02:00
Zeno Rogue
f4eda1d76e
removed function fixdir
2019-09-12 22:50:12 +02:00
Zeno Rogue
661743a19b
removed the obsolete *MovR functions
2019-09-12 22:50:12 +02:00
Zeno Rogue
ef89c7ed9d
removed functions fix6 and fix7
2019-09-12 22:50:12 +02:00
Zeno Rogue
c131e21198
namespace hyperpoint_vec removed
2019-09-12 22:50:12 +02:00
Zeno Rogue
602e6f27db
generating various lands in Sol
2019-09-12 22:50:12 +02:00
Zeno Rogue
4f27b12ca2
nilv:: preliminary implementation
2019-09-12 22:50:11 +02:00
Zeno Rogue
875af54063
approx_distance in Sol
2019-09-12 22:50:11 +02:00
Zeno Rogue
40e5f7f930
celldistance now returns DISTANCE_UNKNOWN instead of 64 if it does not know
2019-09-12 22:50:11 +02:00
Zeno Rogue
bca567cc10
updir used in heptdistance
2019-09-12 22:50:11 +02:00
Zeno Rogue
9f664568ab
penrose3 fixup
2019-09-12 22:50:11 +02:00
Zeno Rogue
bc1cc7e2ca
one more celldistance switch
2019-09-12 22:50:11 +02:00
Zeno Rogue
94f4cd24af
fixed build_shortest_path in arcm/Penrose euclidean
2019-09-12 22:50:11 +02:00
Zeno Rogue
908bd13660
getHeptagonCdata_legacy to keep Racing working
2019-09-12 22:50:11 +02:00
Zeno Rogue
158030c5de
improved exhaustive distance computation for geometries such as Archimedean/Penrose E2
2019-09-12 22:50:11 +02:00
Zeno Rogue
c97ab10700
pushed unimplemented Product
2019-09-12 22:50:09 +02:00
Zeno Rogue
fff0cd1d3e
land improvements in Sol/Penrose/B4
2019-09-12 22:50:09 +02:00
Zeno Rogue
cf496e8940
kite-and-dart tiling
2019-09-12 22:50:09 +02:00
Zeno Rogue
45ba083185
celldist in sol uses celldistance
2019-09-12 22:50:09 +02:00
Zeno Rogue
946570da31
moved zpush from 3dmodels to hyperpoint
2019-09-12 22:50:09 +02:00
Zeno Rogue
2d30f3830c
standard binary tiling, also improved the looks of variant binary tiling, and optimized shvid for pure
2019-09-12 22:50:09 +02:00
Zeno Rogue
d1fb9f3564
simplified and generalized cdata
2019-09-12 22:50:09 +02:00
Zeno Rogue
a5dc6d40e6
fixed wrong degree() in binary tiling root
2019-09-12 22:50:09 +02:00
Zeno Rogue
7d086da036
removed some junk
2019-09-12 22:50:04 +02:00
Zeno Rogue
df3e21b310
debug cleanup
2019-09-12 22:50:00 +02:00
Zeno Rogue
1c4d86e0e9
3D graphics in 2D (first commit)
2019-09-12 22:43:01 +02:00
Zeno Rogue
c8e950cd40
added some missing CAP_ and MAXMDIM guards
2019-09-12 22:43:01 +02:00
Zeno Rogue
c0145c0d9c
3d:: Euclidean tori
2019-09-12 22:42:59 +02:00
Zeno Rogue
44495852ad
hr_exception, currently used for build_shortest_path
2019-09-12 22:42:58 +02:00
Zeno Rogue
225282a3eb
3d::binary:: make the land barriers more like planes by pushing them by a number depending on btwidth
2019-09-12 22:38:45 +02:00
Zeno Rogue
ebbaa3fcc3
fixed some memory bugs
2019-09-12 22:38:45 +02:00
Zeno Rogue
497f7f6c0f
3d:: reg3:: distances and alt-distances
2019-09-12 22:38:45 +02:00
Zeno Rogue
78d88b5909
improved in the OO fashion: draw, relative_matrix, create_step, and several minor functions are now virtual in hrmap
2019-09-12 22:38:44 +02:00
Zeno Rogue
d8428f2ec3
crystal::3d:: transformation
2019-09-12 22:38:44 +02:00
Zeno Rogue
105de56857
3d:: HoroTris geometry
2019-09-12 22:38:44 +02:00
Zeno Rogue
52ce5ac9aa
3d:: all the regular honeycombs
2019-09-12 22:38:43 +02:00
?
81dd0c71da
added some missing guards for CAP_BT and MAXMDIM
2019-09-12 22:38:42 +02:00
?
54f278963c
renamed MAXDIM to MAXMDIM (conflict with crystal)
2019-09-12 22:38:42 +02:00
?
c14515c5ac
fixed build_shortest_path in 4-valent Euclidean tilings
2019-09-12 22:38:42 +02:00
?
858a5eddb1
in createMov applied mirror just in case
2019-09-12 22:38:42 +02:00
?
00d9bacddd
3D:: disabled build_shortest_path in euclid for now
2019-09-12 22:38:42 +02:00
?
9319c3b0fa
3d:: celldistances
2019-09-12 22:38:42 +02:00
?
a6094f7b0c
3d:: binary:: celldistance [untested]
2019-09-12 22:38:42 +02:00
?
33d4854c14
3D:: 120-cell
2019-09-12 22:38:40 +02:00
?
4b356d9945
moved quotient spaces to quotient.cpp
2019-09-12 22:38:40 +02:00
?
33d94beb4f
moved spherical geometry to sphere.cpp
2019-09-12 22:38:40 +02:00
?
c7cb93f2ed
moved all the Euclidean maps to euclid.cpp
2019-09-12 22:38:40 +02:00
?
7110be2032
3D:: cube tiling
2019-09-12 22:38:40 +02:00
?
d08e58f404
3d:: 2D/3D is now selectable at runtime
2019-09-12 22:38:40 +02:00
?
96e4ff6c9d
binary tiling in 3D works
2019-09-12 22:38:39 +02:00
?
c5a771c888
CAP_FIELD part 1
2019-09-12 22:38:39 +02:00
?
b25730d5c9
geometry flags part 1
2019-09-12 22:38:39 +02:00
Zeno Rogue
a676424573
Irradiated Yendor Challenge (but commented off for now)
2019-09-12 22:38:39 +02:00
Zeno Rogue
fd9fca6129
redesigned the Experiment with Geometry menu
2019-02-08 16:55:00 +01:00
Zeno Rogue
8c5b62e309
octagon geometry
2019-02-06 18:48:52 +01:00
Zeno Rogue
b0b783b581
tailored_delete used for deleting cells and heptagons, so that there is no delete/delete[] mismatch
2019-02-06 18:48:52 +01:00
Zeno Rogue
df0578a1fe
cdata is now initialized to 0, or ALL if reptilecheat is on
2019-02-06 18:48:52 +01:00
Zeno Rogue
c022863e8b
fix unused lambda capture
2018-12-15 14:50:11 +01:00
Zeno Rogue
0d558cb0e1
build_shortest_path function
2018-12-14 19:27:12 +01:00