Michael Bayne
41f62de088
getX -> x (in both the literal and algebraic sense).
...
In anticipation of the saying of nay, I offer this: these are value classes,
and in a civilized language, I wouldn't have setters either. "foo.x = x" would
call a setter method over which I had control. However, rather than throwing my
hands up and saying "Gee, I have to have verbose setters, so I guess I better
have verbose getters," I say, "I'll take what I can get."
Methods that verb can be verbs, and we can all agree to understand that methods
that are nouns are getters. foo.width() does not width my foo, it's my foo's
width. foo.invert() inverts up my foo, it is not some attribute of my foo's
nonsensically named invert. I don't want to add my foo's getWidth and
getHeight, I want to add my foo's width and height. So why should I have to
type get over and over again just because I want to protect myself from future
representation change? (Or in this case, to offer immutable views of my value
classes.)
2011-08-12 10:19:37 -07:00
Michael Bayne
a537b6627d
Fixed typo.
2011-08-05 16:47:39 -07:00
Michael Bayne
5e7529d969
Fixed bug in getTy().
2011-08-05 16:45:49 -07:00
Michael Bayne
e7cfc6c350
Fixed translate() methods.
2011-08-05 16:45:32 -07:00
Michael Bayne
e21872e686
GLSL uses column-major matrices, so let's use those as well to avoid confusing
...
mismatch.
2011-08-05 13:56:13 -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