Commit Graph

59 Commits

Author SHA1 Message Date
Michael Bayne 1cb8b8bff5 Better error reporting on test failure. 2011-08-05 13:55:57 -07:00
Michael Bayne 1936e20380 Fixed FloatMath.toString(), added tests. 2011-07-29 11:00:20 -07:00
Michael Bayne 102fb340b7 Improved float value formatting. 2011-07-19 09:33:17 -07:00
Michael Bayne d3b91156b0 Removed IEEERemainder for GWT compatibility. 2011-07-12 07:27:02 -07:00
Michael Bayne e90f70a0f6 Implemented affine inverse transforms without creating an intermediate inverted
transform.
2011-07-11 14:41:34 -07:00
Michael Bayne ede16ab724 Added ZERO. 2011-07-07 16:08:24 -07:00
Michael Bayne 3206fde292 Moved AffineTransform multiplication methods into Transforms so that
performance sensitive callers can make use of them.
2011-07-07 13:43:43 -07:00
Michael Bayne 1d7ef7cdf7 Added methods to concatenate a translation, rotation or scale directly onto an
existing transform.
2011-07-06 14:13:21 -07:00
Michael Bayne 6eda0bb25e Might as well just lerp directly here. 2011-07-06 13:19:19 -07:00
Michael Bayne aa0fe0f87c Great big transform revamp.
We now have a Transform interface and a bevy of implementations of varying
generality: identity, rigid body, uniform scaling, non-uniform scaling, and
affine.

Along the way, Vector was added, APIs were tidied up, bits were twiddled, but
no platonic shapes were harmed.
2011-07-06 13:08:12 -07:00
Michael Bayne b6f87af8a0 Added Vector and friends, and Transform interface. 2011-07-05 09:29:36 -07:00
Michael Bayne 339ea761d1 Use FloatMath for our float math. 2011-07-05 09:06:32 -07:00
Michael Bayne b1c9545f04 Fixed typo. 2011-07-05 09:02:16 -07:00
Michael Bayne cbacc4ddac Utility methods and constants for single-precision floating point math. 2011-07-05 09:01:30 -07:00
Michael Bayne eb56f394ae Javadoc and clone() improvements. 2011-07-01 16:59:32 -07:00
Michael Bayne 71debc6a17 Moved static factory methods to top of class. 2011-07-01 16:34:05 -07:00
Michael Bayne fd11be72ee Documented AffineTransform. 2011-07-01 16:33:13 -07:00
Michael Bayne 9d431ee9fd Use tx, ty for translation rather than mx, my. 2011-07-01 16:11:24 -07:00
Michael Bayne 246fc97e3f Reduction in garbage generation.
Allow inverse to be computed and stored into target transform. Avoid needless
transform creation in concatenate/preConcatente. Still need to rewrite all the
methods that call getFooInstance.
2011-07-01 16:07:59 -07:00
Michael Bayne ab28f8390e Removed code duplication. Fixed bug in setTransform(t). 2011-07-01 15:59:52 -07:00
Michael Bayne ff27ebcb6a NonInvertibleTransformException improvements.
We only need one copy of this class, and it dang well better not be a checked
exception.
2011-07-01 15:53:52 -07:00
Michael Bayne d82f957f5c Added getMin/getMax/getCenter to f/d rectangular shape. 2011-07-01 15:16:52 -07:00
Michael Bayne 321b3bc565 Nixed unused import. 2011-06-28 13:07:17 -07:00
Michael Bayne 4fdfbee77e More efficient and actually works. Yay! 2011-06-27 17:34:55 -07:00
Michael Bayne d549f0b136 No need to recheck the winding rule when cloning. 2011-06-27 17:34:41 -07:00
Michael Bayne 684c92c59e A bunch of finagling to work around GWT limitations. 2011-06-27 16:17:38 -07:00
Michael Bayne 7a3da3b08c Added a GWT module declaration file. 2011-06-27 14:43:46 -07:00
Michael Bayne c521fcd74e Merge pull request #2 from deadmoose/master
Some more cleanup
2011-06-13 14:23:35 -07:00
Michael Bayne 55ed3ec510 Added a package-info for the int-specialized package. 2011-06-13 13:18:56 -07:00
Michael Bayne a4044c7cec Versions of those of the utility classes that are int-appropriate, specialized
on int.
2011-06-13 13:14:23 -07:00
Michael Bayne 933d9e5e5d Fixed some stray doubles that should have been floats. 2011-06-13 13:11:16 -07:00
Michael Bayne 6d8d0daf1d Accept an IDimension, rather than a concrete Dimension. 2011-06-13 12:44:54 -07:00
Michael Bayne f3b646a63f Javadoc fixes and improvements. 2011-06-13 12:30:06 -07:00
David Hoover 923dbc1284 Speeling 2011-06-10 17:11:40 -07:00
David Hoover 246b4df74a More javadoc 2011-06-10 17:00:02 -07:00
Michael Bayne 520167978e Another copy of the classes, specialized to work on double. Double the
maintenance! (But not worth the PITA of programmatically generating the code,
IMO.)
2011-06-10 15:56:13 -07:00
Michael Bayne a21b822bd3 Trimming of more trailing whitespace. 2011-06-10 15:28:54 -07:00
Michael Bayne 4bad892de1 Fixed whitespace booch. 2011-06-10 15:27:53 -07:00
Michael Bayne 09b36265d8 Merge branch 'deadmoose' 2011-06-10 15:25:44 -07:00
Michael Bayne f782ea69d2 Added the 800lb gorilla: Area, and its myriad helper classes. 2011-06-10 15:22:14 -07:00
Michael Bayne 8a3b1a04aa Fixed naming bug. 2011-06-10 15:21:36 -07:00
David Hoover 8cc6f63a11 Make all those take "width" and "height".
Before, it was a mix of that and "w" and "h", which lends itself
to problems such as the bug that gets fixed here where Ellipse.setFrame()
was broken because "this.width = width" was a no-op given the method's
argument was "w"
2011-06-10 14:38:17 -07:00
David Hoover ba99985401 Prune trailing whitespace 2011-06-10 14:38:17 -07:00
Michael Bayne a442f451c3 Fixed a bunch of bogus [] placements. 2011-06-10 14:32:26 -07:00
Michael Bayne ac1d82fff1 Added missing javadocs. 2011-06-10 14:26:48 -07:00
Michael Bayne cf7ea58945 Added RoundRectangle and friends. 2011-06-10 14:24:25 -07:00
Michael Bayne 24584389dc Fixed headers. 2011-06-10 14:23:03 -07:00
Michael Bayne e61f929c76 Ellipses (by which I don't mean multiple ...s). 2011-06-10 14:03:21 -07:00
Michael Bayne 40979e11f4 Added Arc and friends. 2011-06-10 13:46:40 -07:00
Michael Bayne 5786a8899a Added general flattening path iterator. 2011-06-10 13:46:28 -07:00