Commit graph

726 commits

Author SHA1 Message Date
fdaaf58d20 Add geom::quaternion::i,j,k 2022-01-12 19:22:10 +03:00
7babed1c57 Fix geom::acos_over_sqrt_1_minus_x2 to allow arguments slightly larger than 1 to prevent NaNs 2022-01-12 19:18:24 +03:00
efc22a5bd7 Add stable implementation of acos(x)/sqrt(1-x*x) 2022-01-10 17:45:43 +03:00
23551f681d Add geom::log(quaternion) 2022-01-09 19:21:35 +03:00
ae4ee3488a Replace cg::body_traits::dimension with constexpr dimension template variable 2022-01-08 15:44:57 +03:00
eff7f397b4 Add default implementation of cg::vertices 2022-01-08 15:44:28 +03:00
4c48790497 Add quaternion/scalar operator & rename quaternion norm -> length 2022-01-07 23:51:34 +03:00
1f0e4e545e Add quaternion derivative to angular momentum transform matrix 2022-01-07 23:49:14 +03:00
385efe5ff9 Fix cg::edges 2022-01-07 23:48:43 +03:00
29e62192ce Add begin(simplex) & end(simplex) 2022-01-07 23:48:30 +03:00
cae538d7a5 Add geom::matrix::diagonal 2021-12-30 17:21:10 +03:00
64b3e876ad Add rotate(quat,vector,quat) 2021-12-27 15:14:23 +03:00
36854905fc Add quaternion += and -= 2021-12-27 11:49:12 +03:00
0a2cfda21f Use conjugate instead of inverse in quaternion rotation 2021-12-26 10:46:37 +03:00
f9e6a6e37e Add homogeneous matrix to affine/linear matrix conversion 2021-12-25 14:19:34 +03:00
9a50990c5c Add geom::submatrix 2021-12-25 14:19:22 +03:00
2d05fe9ea9 Add smooth_updater::value 2021-12-24 21:01:16 +03:00
12b6b3169c Implement ray-cylinder intersection 2021-12-23 10:57:11 +03:00
e0312b66b1 Fix ray-sphere intersection: return an interval 2021-12-23 10:56:58 +03:00
8eae072ec1 Add geom::cylinder primitive 2021-12-23 10:56:11 +03:00
ec08a4a281 Add util::updater and smooth_updater 2021-12-22 20:35:21 +03:00
8d0440926f Shallow water steady state solver (wip) 2021-12-01 21:23:25 +03:00
93f4147941 Add n-dimensional dual numbers implementation 2021-12-01 21:23:13 +03:00
ec86b0c0aa Add geom::signed_distance 2021-12-01 21:22:00 +03:00
a397a21628 Add array::assign 2021-12-01 21:20:21 +03:00
35de0993d2 Support getting current vsync status in app 2021-10-31 13:18:32 +03:00
249ca33aab Support indexing util::array with arbitrary array-like types 2021-10-30 22:04:50 +03:00
8571bc9c6d Behavior tree retry node: support retrying a fixed number of times 2021-10-30 13:14:02 +03:00
25c93a7699 Behavior tree wait node fix 2021-10-27 18:42:04 +03:00
5bbd67a0ba Refactor behavior trees: use flat_list & ids for instances, use a binary tree to sort suspended instances 2021-10-24 19:07:54 +03:00
23828de853 Behavior tree: add repeat_while primitive 2021-10-24 12:36:56 +03:00
32a402573d Behavior tree: fix on_event node event handling 2021-10-23 11:12:56 +03:00
9641703375 Behavior trees: implement events in updater & include node arguments in event handler 2021-10-23 10:29:30 +03:00
73bf540967 Fix dt in behavior_tree::updater 2021-10-17 11:44:35 +03:00
6e4db713d3 More behavior tree generic nodes 2021-10-17 00:49:11 +03:00
b8d03d41a4 Add basic behavior_tree implementation 2021-10-16 13:26:37 +03:00
d3b2790f97 Task management ui style fix 2021-10-15 22:34:51 +03:00
71a6d1bbe2 Task management lib (wip) 2021-10-15 22:32:44 +03:00
3b70089b1f Fix button mouseover handling 2021-10-15 22:31:56 +03:00
b4f116cada Implement scroller ui container 2021-10-15 21:38:23 +03:00
b298859f1e Support stencils in ui::painter 2021-10-15 21:37:48 +03:00
015307cbec Support ui::element::post_draw invoked after children draw 2021-10-15 21:37:13 +03:00
d1dc84bdde Require 8-bit stencil buffer in app 2021-10-15 21:36:32 +03:00
513105d3ee Move make_arrow_button to element_factory interface 2021-10-14 21:49:54 +03:00
3ec4d1ed90 Move ui::painter_impl internals to anonymous namespace 2021-10-14 21:48:03 +03:00
3a5e29835f Implement bevels in default_element_factory frame 2021-10-13 23:16:25 +03:00
89db5ec3ea Add bevel style properties 2021-10-13 23:16:03 +03:00
7499785c72 Support non-propagating styles in ui elements 2021-10-13 22:52:45 +03:00
5ddf8795d5 Add grid layout child adding helpers 2021-10-13 22:51:44 +03:00
a0e81aaf32 Make util::span constructible from any container with data() and size() methods 2021-08-22 13:11:10 +03:00