109d47e971
coord/ops: generalise vectors hypot function
2016-09-23 13:27:44 +10:00
ede9b75bad
vector: fix hypot implementation
2016-09-21 22:24:02 +10:00
4544a594c3
vector: add hypot function
...
calculates the root of the sum of the squares. much like std::hypot, but
of arbitrary dimension.
2016-09-21 17:13:25 +10:00
b809925396
vector: rename UNIT to ONES
...
unit isn't a normalised vector, so it's misleading to call it a 'unit'
vector
2016-08-15 20:56:10 +10:00
ead926bed2
vector: remove difference methods
2016-08-11 16:33:42 +10:00
1f3b44a20e
vector: move vector::is_zero to coord::almost_zero
2016-08-11 16:33:32 +10:00
606a9c4eb8
coord/ops: use free functions for normalisations
2016-08-11 14:58:46 +10:00
cf3d58074f
vector: add convenience typedef vectoru
2016-08-10 18:26:13 +10:00
809e7b0421
iostream: use consistent ostream format
2016-03-11 13:01:57 +11:00
7753e37dc3
vector: add constant sized convenience typedefs
2015-10-06 15:19:29 +11:00
4ea5896d21
coord: use template typedefs
2015-07-24 01:34:44 +10:00
f4738fc010
vector: add vector3{u,i} typedefs
2015-07-22 02:54:52 +10:00
74d7f9c717
vector: add {to,from}_euler
2015-07-21 02:56:37 +10:00
5b8df525a2
vector: add homogenous converter
...
added for symmetry with point classes
2015-07-21 01:41:48 +10:00
19544076dd
vector: add vector{2,3,4} convenience typedefs
2015-07-13 16:30:54 +10:00
71d8a30769
vector: operate on value types, not references
2015-04-15 14:06:49 +10:00
6f1278767f
vector: add is_normalised
2015-04-15 13:52:37 +10:00
f87481c5e0
vector: add constant unit vector
2015-04-15 13:52:22 +10:00
2658b41ea1
relicence under Apache-2.0
2015-04-13 18:05:28 +10:00
bd88832df3
coord: move cast/redim operations to coord
2015-04-09 17:58:47 +10:00
5428c93b9a
coord: pass client class to coord base
...
allows common typesafe implementation of cast and redim
2015-04-09 17:47:35 +10:00
c94535dfae
vector: note the order of components for polar
2015-04-08 19:00:46 +10:00
a67edcde1a
vector: add cast operator
2015-04-08 13:51:09 +10:00
5627c573eb
coord: use size_t/intmax_t for u and i suffixes
...
size_t matches array indices we are likely to be used in conjuction with
these types.
2015-04-07 16:53:46 +10:00
a300f99b87
vector: add polar_to_cartesian
2015-04-02 15:01:17 +11:00
3da59aea2f
vector: instantiate polar_to_cartesian
2015-04-01 17:05:24 +11:00
e461654de8
coord: split coord header into components
2015-03-06 01:46:01 +11:00
99ba406b4d
coord: move base coord class into main namespace
2015-03-06 01:16:14 +11:00
439bb19679
coord: move operators out of subclasses
2015-03-06 01:09:58 +11:00
e5d99b3370
coord: use stricter member variable names
...
use tags for the core coordinate structures to specify what names should
be used for the data variables (in the data union)
2015-03-03 04:11:30 +11:00
d342ef72f5
vector: add free dot function
2015-02-19 13:29:16 +11:00
4bb5b7adb2
vector: add scalar variant of redim
2015-02-12 17:41:07 +11:00
60787655b3
json: split json impl files into tree and flat
2015-02-03 00:15:07 +11:00
cfc0f8ecd0
json: move tree parsing code to json::tree
2015-02-02 21:26:56 +11:00
cee9951f82
vector: add difference(2) methods
2015-01-28 15:00:20 +11:00
6abfd252d9
coord: move free maths func from point to vector
2015-01-28 14:59:33 +11:00
319a8ce616
coord: use inherited class for data definitions
...
keep as many operations centralised in the base coord class as possible.
2015-01-19 19:13:52 +11:00
fa52752629
vector: add vector2i and vector2u typedefs
2015-01-16 14:44:26 +11:00
7ef4cbcc1a
vector: add redim operation
2015-01-15 14:01:51 +11:00
64c11bdcb0
point/vector: use coord constructors
2015-01-13 18:41:51 +11:00
2704002dbd
vector: fix vector4f to actually use 4 components
2015-01-05 18:08:34 +11:00
d81149b6e1
vector: remove explicit qualifier for init_list
2014-12-17 14:43:03 +11:00
3b1226ee9c
vector: add 4d and 4f convenience typedefs
2014-12-16 15:30:25 +11: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
a6cc1e1e9d
vector: add instantiations for 4 element vectors
2014-08-19 20:46:37 +10:00
f6894fabc8
whitespace
2014-08-18 22:16:50 +10:00
bd5b9722ea
Make vector constructor explicit
...
It had been seen to construct out of single doubles, which is
problematic...
2013-08-06 21:23:56 +10:00
de0d05df97
Add decleration for vector::redim as a reminder
2013-08-06 14:32:08 +10:00
b4228aca1e
Add polar to cartesian operation for vectors
2013-07-30 23:52:31 +10:00