361938f5f1
Fix rotations and add second token value
...
Rotations only took cosine of the angle, but this is not enough to
determine all possible angles. create_rotation now takes sin of the
angle too. Modified tokens to have a second value to accomodate this
change
2025-05-06 23:55:50 -07:00
01f4aaac41
Move token marking identifier into token_t, remove marking rules
...
This has the side effect that each token can only have one mark assigned
to it.
2025-05-06 22:51:52 -07:00
d8235f1266
Add create_rotation helper function
...
Rotation matrix construction not implemented in MTL yet
2025-05-06 22:24:12 -07:00
65c395c551
Add beginning of generator declarations and example usage
2025-05-06 02:53:31 -07:00
83c2ca5ffd
Implement add_mark_rule
2025-04-29 06:21:39 -07:00
81a0ad5628
Add valid_weighted_group
2025-04-29 06:16:12 -07:00
49f8d463ea
Implement add_weighted_group
2025-04-29 06:14:14 -07:00
77d7b73365
Add valid_group_characteristic
2025-04-29 06:13:36 -07:00
62ec3b7be6
Move *_full to fractal.hpp and add valid token check
2025-04-29 06:04:55 -07:00
66fe6ba388
Implement ruleset_t::add_token
2025-04-29 05:55:13 -07:00
487c5c5a69
Change ruleset constants to globals instead of templates
2025-04-29 05:50:11 -07:00
e589e83f24
Comment ruleset functions
2025-04-29 05:31:06 -07:00
c6c9a63c4f
Refactor fractal generator and fractal classes, begin rewrite
...
Separating fractal generation run from ruleset generation. After the
ruleset is processed, there is no reason for the group characteristics,
etc to still be used. Additionally, this will avoid the possibility of
the user attempting to use the fractal before ruleset is created and
processed.
Other changes:
Branch rules now use unioned weighted or unweighted group.
Rewrite ruleset creation usage
2025-04-29 04:59:38 -07:00
513c306555
Implement generator.add_* methods
2025-02-18 05:14:49 -08:00
21188bf514
Change generator::set_axiom to not require setting before preprocessing
2025-02-18 05:13:35 -08:00
0a57c5e3ed
Make some fractal::generator functions noexcept (simple sets, etc)
2025-02-18 04:23:30 -08:00
fa18c00018
Add fractal generator class declaration
2025-02-18 04:17:14 -08:00
0bd0d7fba8
Add rule ID types
2025-02-18 02:40:46 -08:00
fc3fda4e97
Fix inconsistent point/marker naming
2025-02-18 02:32:24 -08:00
7def6da765
Rename fractal variable to token, matching token_type_e naming
2025-02-17 20:03:49 -08:00
b2e2e575a7
Add marker containing position & id, make group use child markers not
...
vec2
2025-02-17 19:26:23 -08:00
496d063389
Add fractal.hpp with POD structure definitions
2025-02-17 03:44:00 -08:00