Commit Graph

25 Commits

Author SHA1 Message Date
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
749b5179a3 quaternion: add convenience quaternion-vector multiply 2018-05-08 15:51:39 +10:00
999ec1c35c quaternion: add matrix multiply convenience method 2018-04-18 21:48:55 +10:00
64ea4fb6d4 quaternion: add docstrings 2018-04-16 16:00:32 +10:00
2d7e3e5d7d build: prefer iosfwd over iostream 2018-03-22 16:11:13 +11:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11:00
d3f434b523 coord: make template parameters more flexible
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.

We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.

The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
3a4b711467 quaternion: add assignment-multiply operator 2016-10-18 16:45:38 +11:00
e96ef7af32 quaternion: move out of coord infrastructure 2016-10-17 22:30:16 +11:00
db076ad6f4 quaternion: update look, from_to, rotate 2016-10-12 23:03:33 +11:00
94e60d8cd2 quaternion: add conjugation function 2016-09-15 21:41:54 +10:00
606a9c4eb8 coord/ops: use free functions for normalisations 2016-08-11 14:58:46 +10:00
517d7ce4a2 coord/ops: use distinct trait to enable scalar ops 2016-08-11 14:58:04 +10:00
974998cc48 quaternion: update to use coord framework 2016-08-10 17:42:52 +10:00
c2310d5d50 build: explicitly allow anonymous structs 2016-05-12 18:06:12 +10:00
809e7b0421 iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
5c72953653 coord: remove inadvertant warning disabling 2015-09-21 15:40:36 +10:00
6095c755cf quaternion: add convenience float typedef 2015-07-21 01:39:38 +10:00
fdc801628b quaternion: update with more operators 2015-07-13 16:30:54 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
5956d0421e parameterise point, vector, region, matrix on type 2014-12-15 20:10:56 +11:00
23b0a7b146 remove annotations header
The annotations were never particularly robust, and weren't used in many
locations (or consistently). And we should be migrating to c++14
annotation syntax anyway. By focusing on writing them all locally we
will be a little more standards compliant, and the attributes should be
more visible.
2014-10-17 19:24:53 +11:00
e54b43fd72 Add tiny quaternion stub 2012-07-31 14:40:21 +10:00