Commit Graph

182 Commits

Author SHA1 Message Date
Michael Bayne 05756aae38 We need Scala for test classes. 2013-02-12 14:25:37 -08:00
Michael Bayne fef73ea027 Save an extra call to mirrorAngle when d == md. 2013-02-12 14:25:20 -08:00
Michael Bayne f26a72c26f Change new mirrorAngle to mirrorAngleOrigin, improved javadocs.
The old mirrorAngle mirrors around the "y-axis" (PI/2 or -PI/2 as appropriate)
which is necessary for other code (particularly angularDifference) to work
correctly. The new mirrorAngleOrigin mirrors around the "x-axis" (zero).
2013-02-12 14:24:04 -08:00
Christoph Dietze 0ffabf1419 mirrorAngle(HALF_PI) should be -HALFPI rather than HALF_PI 2013-02-12 22:10:04 +01:00
Michael Bayne 6bdeeece12 Bump to Scala 2.10.0 and SBT 0.12.2. 2013-01-29 15:51:59 -08:00
Michael Bayne 39bef738b8 Merge pull request #18 from aduros/affine-patch
Take shortcuts in translate() and scale().
2012-12-10 15:36:31 -08:00
Bruno Garcia b91c17d3b9 Take shortcuts in translate() and scale(). 2012-12-04 18:40:44 -08:00
Michael Bayne 8cece6137b (From aduros) AbstractRectangle.contains should contain bounds.
Points on the top and left edges are considered contained, so should points on
right and bottom. This also makes contains() consistent with outcode().
2012-11-28 16:29:44 -08:00
Michael Bayne 90e0c58c84 Added MathUtil.floorDiv, and tests. 2012-11-28 13:25:44 -08:00
Michael Bayne 9c4d9bce45 Reference 1.3.2 release. 2012-11-27 15:45:34 -08:00
Michael Bayne 43fc92d6e8 [maven-release-plugin] prepare for next development iteration 2012-11-27 15:44:15 -08:00
Michael Bayne ee6ea29ead [maven-release-plugin] prepare release pythagoras-1.3.2 2012-11-27 15:44:07 -08:00
Michael Bayne 0f27f8f0d2 Shearing support from Mike T. 2012-10-24 15:20:54 -07:00
Michael Bayne f1a23112a9 Added Dimensions.ZERO. 2012-10-10 13:29:06 -07:00
Michael Bayne 0fb5898c2f [maven-release-plugin] prepare for next development iteration 2012-07-12 12:29:16 -07:00
Michael Bayne 09b137cfe5 [maven-release-plugin] prepare release pythagoras-1.3.1 2012-07-12 12:29:07 -07:00
Michael Bayne 485abe95e6 Numerous bits:
- nixed all transforms except identity and affine; the intermediate transforms
were more trouble than they were worth
- fixed bugs in AffineTransform.translate/scaleX/scaleY/rotate; aiya!
- replaced Transform.clone with Transform.copy; deprecated clone
- rewrote transform test in Scala and using Java AffineTransform as a
reference.
2012-07-12 12:25:06 -07:00
Michael Bayne 6d95f45603 [maven-release-plugin] prepare for next development iteration 2012-07-11 15:41:45 -07:00
Michael Bayne 9126c90700 [maven-release-plugin] prepare release pythagoras-1.3 2012-07-11 15:41:38 -07:00
Michael Bayne 50ca70a44c Prepare for 1.3 release. 2012-07-11 15:40:21 -07:00
Michael Bayne 5acb7b1551 Use a less cracksmoking name. 2012-06-16 13:23:08 -07:00
Michael Bayne 920b55d1f9 Added a method for extracting the transform matrix. 2012-06-16 13:18:07 -07:00
Michael Bayne 278a947de1 Added a bunch of stuff at Stefan's request.
- Matrix3: add, addLocal, setToZero
- Matrix4: extractRotationScale, setToRotationScale, setToZero
- Vector3: abs, absLocal
- Vector4: negate, negateLocal, abs, absLocal, mult(v), multLocal(v)
2012-05-18 13:42:45 -07:00
Michael Bayne 00df755904 Added methods to get and set elements, rows, columns.
Also clarified the element naming scheme, which is mCOLROW.
2012-05-18 13:10:57 -07:00
Michael Bayne 6a45db8e35 Added Vector4.mult(Matrix4) and Matrix4.transform(Vector4). 2012-05-18 09:06:37 -07:00
David Hoover a24891d535 There's 1.2 now 2012-05-11 22:38:42 -07:00
Michael Bayne 65c870a0fe Some javadoc fixes. 2012-05-11 11:16:51 -07:00
Michael Bayne fb74b7d2a8 [maven-release-plugin] prepare for next development iteration 2012-05-11 11:09:10 -07:00
Michael Bayne 766cd56317 [maven-release-plugin] prepare release pythagoras-1.2 2012-05-11 11:09:04 -07:00
Michael Bayne 1541c1529f Added method to obtain a vector from two points.
Whatdya know, I already need it.
2012-05-11 11:03:40 -07:00
Michael Bayne f2e7e7da88 Added XY, made IPoint.subtract return Point.
XY provides a common super-interface for IPoint and IVector for APIs that don't
care if you have a point or vector, and just want it's x/y coordinates.

Returning a vector when subtracting two points was clever and all, but turns
out to be annoying. More often, you're just adjusting a point and don't want to
switch to vector-baesd math. If we want an easy way to obtain a vector that is
the difference of two points we can add Vectors.subtract() or a new
constructor.
2012-05-11 10:56:39 -07:00
Michael Bayne d132e917ed Some lingering f to d conversions. 2012-05-11 08:41:13 -07:00
Michael Bayne 993b37ed19 Reinstate implementation detail notes plus {@inheritDoc}. 2012-05-11 08:40:30 -07:00
Michael Bayne c99825d35f Logic simplification in iceil/ifloor. 2012-05-11 08:33:53 -07:00
David Hoover e8c11aba87 Nix unused locals in matrix operations.
Compilers are presumably smart enough to throw away the bulk of that
automagically, but some were storing the return value of a method call
of some object that implemented an interface whic his a lot harder for
it to realize won't have side effects.
2012-05-10 22:08:35 -07:00
David Hoover 6d920c1211 Don't describe a particular implementation's details in the interface declaration. 2012-05-10 22:03:05 -07:00
David Hoover be0d761aa2 Mark @Overrides. 2012-05-10 22:03:05 -07:00
David Hoover 0a03eb6849 Whitespace & doc cleanup.
Tabs -> spaces, one space between sentences, capitalization fix, etc.
2012-05-10 22:02:37 -07:00
Michael Bayne 8bcd5c25c8 Be more flexible about the type of our target transform. 2012-05-03 08:56:35 -07:00
Michael Bayne 0daba7bc49 Added Vector.subtractLocal(x, y). 2012-05-01 09:54:31 -07:00
Michael Bayne 8524f5c911 Updated double versions. 2012-04-30 15:15:01 -07:00
Michael Bayne b7c2d6f420 Added Vector.subtract that takes individual components.
Closes #11.
2012-04-30 15:14:44 -07:00
Michael Bayne 7048d8231b Added Vector.cross() & co.
Closes #10.
2012-04-30 15:07:44 -07:00
Michael Bayne 1eeb1ee73a Fixed some isNaNs. 2012-04-30 11:33:30 -07:00
Michael Bayne a8c8c748bd Fixed some epsilons. 2012-04-30 11:31:55 -07:00
Michael Bayne 4c9a82979d Updated double versions of things. 2012-04-30 11:29:45 -07:00
Michael Bayne c8e4cbeca0 Added Transform.transformPoint(Vector), enabled Ray2 transforms.
I've tried to make a useful distinction between Point and Vector, but sometimes
you just want to use a Vector as a Point. I'm not going to add Point3 and try
to push this distinction into the third dimension, so I'll accommodate using
Vector as Point in 2D, and we'll just use Vector3 as a 3D point when needed.
2012-04-30 11:26:18 -07:00
Michael Bayne f8cce64528 Added Ray2 and Ray3. 2012-04-30 11:19:51 -07:00
Michael Bayne 17b19fe21b Added numerous 3D geometry classes; unabstracted Vector3, Matrix3. 2012-04-29 19:51:38 -07:00
Michael Bayne da49fe5362 Whitespace trimski! 2012-04-24 13:08:01 -07:00