Commit Graph

169 Commits

Author SHA1 Message Date
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
Michael Bayne 0f9cc66388 Matrix3 and Vector3 for your three dimensional pleasures. 2012-04-24 10:23:39 -07:00
Michael Bayne cb8de43027 Manage our branches explicitly in clamp.
This provides saner behavior when clamping to "nonsense" ranges like [5, 3].
2012-04-03 15:30:18 -07:00
Michael Bayne 45b11b6f7c Use sbt-pom-util to get SBT build info from POM. 2011-12-20 19:12:27 -08:00
Michael Bayne c9c336309b Tidied javadocs, generated double implementation. 2011-12-20 19:09:19 -08:00
Michael Bayne 15224b8185 Merge pull request #7 from tconkling/master
Rectangles.pointRectDistance and associated unit test
2011-12-20 19:05:51 -08:00
Tim Conkling d2bebff736 Functions for computing the distance between a Point and a Rectangle 2011-12-16 12:35:25 -08:00
Michael Bayne 060ff1b877 Make the upper bound exclusive in normalizeAngle(Positive). 2011-11-22 16:43:52 -08:00
Michael Bayne 274dd1858d Fix typo. Thanks Tim! 2011-11-19 16:45:25 -08:00
Michael Bayne cc5e599235 Match the argument ordering of the float version. 2011-11-16 13:56:33 -08:00
Michael Bayne 26cf80f38f Added an integer MathUtil with clamp(low, value, high). 2011-11-16 13:55:34 -08:00
Michael Bayne 6f7b519102 My fix for said SBT bug has made it upstream. 2011-10-17 11:15:43 -07:00
Michael Bayne 9387ff18d5 Updated to ooo-build 2.9; added javadoc and deploy targets. 2011-10-15 15:05:11 -07:00
Michael Bayne 403bafce13 Ray recommends using <= when comparing to epsilon.
This allows epsilon of 0 to work.
2011-10-11 13:17:05 -07:00