2010-07-12 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/SingletonRegistry.java:
minor edit to SingletonRegistry: made REGISTRY final and applied
Eclipse formatter
[c613f23cfe4a] <toxiclibs>
* src.core/toxi/geom/mesh2d/DelaunayTriangle.java,
src.core/toxi/geom/mesh2d/DelaunayTriangulation.java,
src.core/toxi/geom/mesh2d/DelaunayVertex.java,
src.core/toxi/geom/mesh2d/Voronoi.java,
src.core/toxi/util/datatypes/ArraySet.java,
src.core/toxi/util/datatypes/UndirectedGraph.java:
adding toxi.geom.mesh2d package with ported DelaunayTriangulation &
Voronoi classes by Paul Chew, incl. generic ArraySet and
UndirectedGraph classes in toxi.util.datatypes package
[46850791b75b] <toxiclibs>
* src.core/toxi/util/DateUtils.java:
adding DateUtils class, for now only providing a timeStamp function
[b26ca7f5062d] <toxiclibs>
* src.core/toxi/util/FileUtils.java:
adding createDirectories/InputStream/OutputStream/Reader/Writer,
loadBytes, loadText, saveText (ported from PApplet)
[17785aea3121] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java:
minor edit: replaced methods taking a Vec3D to use ReadonlyVec3D for
better compatibility
[42953aff6d54] <toxiclibs>
* src.core/toxi/geom/Polygon2D.java:
minor edit: replaced StringBuffer with the faster StringBuilder
inside toString() method
[b37941d876be] <toxiclibs>
* src.core/toxi/geom/Rect.java:
adding getters for left, right, top, bottom coordinates
[5c7fa34ec37d] <toxiclibs>
* src.core/toxi/geom/Ellipse.java:
adding toPolygon2D() method
[d4a906c656c7] <toxiclibs>
2010-07-06 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Polygon2D.java,
src.core/toxi/geom/PolygonClipper2D.java,
src.core/toxi/geom/Rect.java,
src.core/toxi/geom/SutherlandHodgemanClipper.java,
src.core/toxi/geom/Triangle2D.java:
adding PolygonClipper2D and SutherlandHodgemanClipper
implementation, adding toPolygon2D() methods to Rect & Triangle2D
[d139599876f9] <toxiclibs>
2010-07-05 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/ReadonlyVec2D.java,
src.core/toxi/geom/Triangle2D.java, src.core/toxi/geom/Vec2D.java:
adding getCircumCircle() to Triangle2D, adding bisect() to
ReadonlyVec2D & Vec2D
[1379cd29ab17] <toxiclibs>
2010-06-29 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/ArrayUtil.java:
minor javadoc updates
[df9ecd29ce29] <toxiclibs>
2010-06-28 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/mesh/OBJWriter.java,
src.core/toxi/geom/mesh/STLWriter.java,
src.core/toxi/geom/mesh/TriangleMesh.java:
adding support for OutputStream to OBJWriter, STLWriter and
TriangleMesh classes
[a4e718aa541b] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/math/MathUtils.java:
updating javadocs
[096776291d65] <toxiclibs>
2010-06-25 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/math/MathUtils.java:
adding default Random generator to MathUtils (in place of
Math.random() calls), updating Vec2D/3D classes to reflect this
change
[edd16b4d17b7] <toxiclibs>
2010-06-16 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/ArrayUtil.java:
adding target peak value to getAsNormalizedFloatArray()
[c778f53925be] <toxiclibs>
2010-06-15 Karsten Schmidt <k@postspectacular.com>
* examples/core/InterpolateTest/InterpolateTest.pde,
src.core/toxi/math/DecimatedInterpolation.java,
src.core/toxi/math/ThresholdInterpolation.java:
adding ThresholdInterpolation and DecimatedInterpolation strategies,
updating InterpolateTest demo
[c1d10b997316] <toxiclibs>
2010-06-11 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/PointQuadtree.java:
javadoc tweaks
[a4678223c271] <toxiclibs>
* src.core/toxi/util/datatypes/ArrayUtil.java:
adding getAsNormalizedFloatArray() method to ArrayUtil
[df1c99334548] <toxiclibs>
2010-06-06 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/PointQuadtree.java:
adding PointQuadtree class for Vec2D
[841657c7ab31] <toxiclibs>
* src.core/toxi/geom/PointOctree.java:
PointOctree.setMinNodeSize() now specifies the actual (not half)
size required
[e40f1a83b962] <toxiclibs>
* src.core/toxi/geom/Rect.java:
made Rect.containsPoint() non-final again
[425b370e3618] <toxiclibs>
* src.core/toxi/geom/PointOctree.java:
bug fix: PointOctree.setMinNodeSize() now working as expected. The
setting wasn't being copied down to child nodes so far, which would
continue to work with the default node size=4
[6c20b806a1e9] <toxiclibs>
2010-06-03 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Line2D.java:
made Line2D.LineIntersection.getPos() return a Vec2D instead of
ReadonlyVec2D
[e660a973f246] <toxiclibs>
2010-05-31 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Intersector.java,
src.core/toxi/geom/IsectData.java,
src.core/toxi/geom/PointList.java, src.core/toxi/geom/Quad.java,
src.core/toxi/geom/Reflector.java,
src.test/toxi/test/audio/MemTest.java:
Merge with vec3drefactor branch
[e4521ace548e] <toxiclibs>
* src.core/toxi/util/FileSequenceDescriptor.java:
adding getBasePath() and getStartIndex() to FSD
[a0715069a7ae] <vec3drefactor>
2010-05-26 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java, src.core/toxi/geom/Plane.java,
src.core/toxi/geom/ReadonlyVec2D.java,
src.core/toxi/geom/ReadonlyVec3D.java,
src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
fixed javadoc issues
[e3937a1d0e75] <vec3drefactor>
2010-05-24 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java:
refactored Vec2D/3D.Axis enum to be able to produce a valid axis
vector, updated/bugfixed axis handling in AxisAlignedCylinder and
XYZ subclasses
[8e8f383c0a89] <vec3drefactor>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
changed interpolateToSelf() methods to take a ReadonlyVec2D/3D as
param, removed deprecated Vec2D.pointInPolygon() method (use
Polygon2D class instead)
[a37521c1bf59] <vec3drefactor>
* src.core/toxi/geom/PointList.java:
removing obsolete PointList class
[a6040d1fcb60] <vec3drefactor>
* src.core/toxi/geom/Matrix4x4.java:
adding applyToSelf() method to directly apply matrix to given vector
(instead of producing a transformed copy)
[228206f088bb] <vec3drefactor>
* src.core/toxi/geom/AABB.java,
src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/Intersectable.java,
src.core/toxi/geom/Intersector3D.java,
src.core/toxi/geom/IsectData3D.java, src.core/toxi/geom/Line3D.java,
src.core/toxi/geom/Plane.java, src.core/toxi/geom/PointOctree.java,
src.core/toxi/geom/Reflectable.java,
src.core/toxi/geom/Reflector3D.java,
src.core/toxi/geom/Shape3D.java, src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/SphereIntersectorReflector.java,
src.core/toxi/geom/Triangle.java,
src.core/toxi/geom/TriangleIntersector.java,
src.core/toxi/geom/mesh/TriangleMesh.java:
adding Shape3D interface for unified containment tests for points in
AABB, AxisAlignedCylinder, Plane, PointOctree, Sphere, Triangle,
further minor updates caused by ReadonlyVec3D, renamed Intersectable
and Reflectable into Intersector3D/Reflector3D, renamed IsectData
into IsectData3D
[94c43215f54a] <vec3drefactor>
* src.core/toxi/geom/Circle.java,
src.core/toxi/geom/CircleIntersector.java,
src.core/toxi/geom/Ellipse.java,
src.core/toxi/geom/Intersector2D.java,
src.core/toxi/geom/IsectData2D.java, src.core/toxi/geom/Line2D.java,
src.core/toxi/geom/Polygon2D.java, src.core/toxi/geom/Rect.java,
src.core/toxi/geom/Shape2D.java, src.core/toxi/geom/Triangle2D.java:
adding Shape2D interface to provide unified containment tests for
points, getArea() and getCircumference() methods for Circle,
Ellipse, Polygon2D, Rect and Triangle2D classes. Adding &
implementing Intersector2D interface and IsectData2D class for ray
intersections, adding CircleIntersector class
[3c7cc0cef81a] <vec3drefactor>
* src.core/toxi/geom/ReadonlyVec2D.java,
src.core/toxi/geom/ReadonlyVec3D.java,
src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
further refactoring and cleaning up caused by ReadonlyVec2D/3D
interface extraction. removed deprecated methods in Vec2D/3D and
moved some intersection/containment tests into their respective
geometric shape/form classes
[601239d48dbd] <vec3drefactor>
2010-05-21 Karsten Schmidt <k@postspectacular.com>
* .classpath, src.core/toxi/geom/AABB.java,
src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/Circle.java, src.core/toxi/geom/Ellipse.java,
src.core/toxi/geom/Intersectable.java,
src.core/toxi/geom/Intersector.java,
src.core/toxi/geom/IsectData.java,
src.core/toxi/geom/IsectData2D.java,
src.core/toxi/geom/IsectData3D.java, src.core/toxi/geom/Quad.java,
src.core/toxi/geom/ReadonlyVec2D.java,
src.core/toxi/geom/ReadonlyVec3D.java,
src.core/toxi/geom/Reflectable.java,
src.core/toxi/geom/Reflector.java,
src.core/toxi/geom/SphereIntersectorReflector.java,
src.core/toxi/geom/TriangleIntersector.java,
src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java,
src.core/toxi/geom/mesh/Terrain.java,
src.core/toxi/geom/mesh/TriangleMesh.java:
more immutability related refactoring, deprecation of old methods,
removed old Quad class, refactoring cylinder classes,
AxisAlignedCylinder now an abstract class instead of interface,
renamed Intersector/Reflector into Intersectable/Reflectable,
IsecData into IsecData3D, added IsecData2D
[1c32f8d3ffe2] <vec3drefactor>
2010-05-20 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Polygon2D.java,
src.core/toxi/geom/Ray2D.java, src.core/toxi/geom/Ray3D.java,
src.core/toxi/geom/ReadonlyVec2D.java,
src.core/toxi/geom/ReadonlyVec3D.java, src.core/toxi/geom/Rect.java,
src.core/toxi/geom/Spline2D.java,
src.core/toxi/geom/Triangle2D.java, src.core/toxi/geom/Vec2D.java,
src.core/toxi/geom/Vec3D.java,
src.physics/toxi/physics/VerletParticle.java,
src.physics/toxi/physics2d/VerletParticle2D.java,
src.test/toxi/test/JAXBGeomTest.java,
src.test/toxi/test/geom/PolygonTest.java,
src.test/toxi/test/geom/Triangle2DTest.java:
extracted ReadonlyVec2D interface and updated all resulting changes
through all packages, also further updates to usage of 2D/3D
immutable types within other classes, needs further performance
testing and can possibly avoid separate versions for immutables
[5d59113bd38e] <vec3drefactor>
* src.color/toxi/color/TColor.java, src.core/toxi/geom/AABB.java,
src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/Cone.java, src.core/toxi/geom/IsectData.java,
src.core/toxi/geom/Line3D.java, src.core/toxi/geom/Matrix4x4.java,
src.core/toxi/geom/Plane.java, src.core/toxi/geom/PointCloud.java,
src.core/toxi/geom/PointOctree.java,
src.core/toxi/geom/Polygon2D.java, src.core/toxi/geom/Quad.java,
src.core/toxi/geom/Quaternion.java, src.core/toxi/geom/Ray3D.java,
src.core/toxi/geom/Reflector.java, src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/SphereIntersectorReflector.java,
src.core/toxi/geom/Spline3D.java, src.core/toxi/geom/Triangle.java,
src.core/toxi/geom/Vec3D.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java,
src.core/toxi/geom/mesh/TriangleMesh.java,
src.test/toxi/test/DLATest.java,
src.test/toxi/test/TerrainTest.java,
src.test/toxi/test/audio/JOALTest.java,
src.test/toxi/test/audio/MemTest.java,
src.test/toxi/test/geom/GeomTestSuite.java,
src.test/toxi/test/geom/MatrixTest.java,
src.test/toxi/test/geom/QuaternionTest.java,
src.test/toxi/test/geom/TriangleTest.java,
src.volume/toxi/volume/IsoSurface.java:
extracted ReadonlyVec3D interface and updated all resulting changes
through all packages
[f2fd58158ce5] <vec3drefactor>
* src.core/toxi/util/FileSequenceDescriptor.java,
src.core/toxi/util/FileUtils.java,
src.test/toxi/test/FileUtilsTest.java, test/img-010.tga,
test/img-011.tga, test/img-012.tga:
adding FileUtils and FileSequenceDescriptor classes in toxi.util
package (coreutils), incl. unit test and test assets
[c5954360d85a] <toxiclibs>
2010-05-19 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java:
adding getNormalForPoint()
[7edf755662f2] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
adding getComponent()/setComponent() methods for accessing vectors
in array style
[93423d1819bf] <toxiclibs>
2010-05-16 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Matrix4x4.java:
fixed issue #3 in Matrix4x4.scaleSelf() - thanks to Tobias Jewson
[6c21e027cec0] <toxiclibs>
2010-05-10 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/events/EventDispatcher.java:
adding EventDispatcher and toxi.util.events package
[6eed63e36387] <toxiclibs>
* src.core/toxi/geom/Line2D.java:
adding getTheta() to Line2D
[a786d8a1e163] <toxiclibs>
* src.core/toxi/util/datatypes/TypedProperties.java:
adding toHashMap() toTypedProperties
[3dbb216b0cfc] <toxiclibs>
* src.core/toxi/util/datatypes/DoubleRange.java,
src.core/toxi/util/datatypes/FloatRange.java,
src.core/toxi/util/datatypes/IntegerRange.java:
adding toArray() methods to range types
[3ce6ea6d3a9b] <toxiclibs>
2010-04-27 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/mesh/TriangleMesh.java:
adding UV coordinates to TriangleMesh.Face, refactoring addFace()
and adding new version of addFace() with UV support
[35d289f02791] <toxiclibs>
2010-04-16 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/TriangleIntersector.java,
src.core/toxi/geom/mesh/Terrain.java,
src.sim/toxi/sim/dla/DLAConfiguration.java,
src.sim/toxi/sim/dla/DLAGuideLines.java:
fixing javadocs
[33600a543630] <toxiclibs>
* src.core/toxi/geom/SphereIntersectorReflector.java:
adding getter/setter for internal sphere instance
[a962f350e238] <toxiclibs>
* src.core/toxi/geom/AABB.java:
adding new constructor for AABB's with uniform extent
[cf2cf62bc6fd] <toxiclibs>
2010-04-15 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Rect.java:
adding scale() method to Rect class
[d43c7a52d082] <toxiclibs>
2010-04-14 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/mesh/Terrain.java:
adding intersectAtPoint() method, refactoring getHeightAtPoint() to
use bilinear interpolation, renaming methods, adding javadocs
[102b61318392] <toxiclibs>
* src.core/toxi/math/Interpolation2D.java:
adding Interpolation2D class with bilinear interpolation function
[b8a40c0eea2f] <toxiclibs>
* src.core/toxi/geom/TriangleIntersector.java:
disabling seemingly obsolete tri orientation check, adding TODO note
[a3f70fd65656] <toxiclibs>
* src.core/toxi/geom/mesh/Terrain.java:
adding Terrain class for easily generating height fields. This class
also provides toMesh() implementations, incl. one which produces
closed sides and bottom panels and so can be used to export CNC-
ready STL files
[c393fd51e746] <toxiclibs>
* src.core/toxi/geom/mesh/TriangleMesh.java:
TriangleMesh now implements Intersector interface to check for Ray
intersections (backed by new TriangleIntersector)
[89fe7b85c2e6] <toxiclibs>
* src.core/toxi/geom/Intersector.java,
src.core/toxi/geom/IsectData.java,
src.core/toxi/geom/SphereIntersectorReflector.java,
src.core/toxi/geom/TriangleIntersector.java:
refactoring Intersector interface and introducing IsectData class to
store intersection details. updated SphereIntersectorReflector and
added TriangleIntersector class
[05703b552298] <toxiclibs>
* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java:
adding set() method to Line2D/3D
[b5206828d07a] <toxiclibs>
2010-04-12 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/ExponentialInterpolation.java:
adding ExponentialInterpolation
[ad0cf81c1e83] <toxiclibs>
* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java,
src.core/toxi/geom/PointCloud.java:
updating list generics in LineXD.splitIntoSegments() and
PointCloud.addAll() to allow Vec3D sub-types
[daac921b8c1f] <toxiclibs>
2010-04-09 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/DoubleRange.java,
src.core/toxi/util/datatypes/FloatRange.java,
src.core/toxi/util/datatypes/GenericSet.java,
src.core/toxi/util/datatypes/IntegerRange.java,
src.core/toxi/util/datatypes/IntegerSet.java:
adding seed() methods to all range types, added fluid interfaces,
fixed bug in IntegerRange.pickRandom() to make use of its internal
Random instance
[ccbae120cb60] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
adding new versions of jitter() to use a supplied Random generator
instead of default one
[5a6fb590d81c] <toxiclibs>
2010-04-06 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java, src.core/toxi/geom/Cone.java,
src.core/toxi/geom/Plane.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java:
updating toMesh() methods to initialize the mesh vertex/face buffers
to correct sizes (rather than the default, which will most likely be
far too big), also adding support for disabling/ignoring the caps of
a cone mesh
[22b69ad19a5c] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java:
minor update: reusing existing temp array for multiplySelf()
[4e8c0f89c784] <toxiclibs>
2010-04-01 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/BiasedFloatRange.java,
src.core/toxi/util/datatypes/BiasedIntegerRange.java,
src.core/toxi/util/datatypes/IntegerRange.java:
adding copy() methods
[ce95de2f9fd7] <toxiclibs>
* src.core/toxi/geom/PointCloud.java:
adding center(Vec3D) method and javadocs
[62e5100b12a2] <toxiclibs>
2010-03-22 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/DoubleRange.java,
src.core/toxi/util/datatypes/FloatRange.java,
src.core/toxi/util/datatypes/IntegerRange.java:
refactoring adjustCurrentBy() in range types to re-use setCurrent()
and so making it easier to override in subclasses
[78381af5c8d8] <toxiclibs>
* src.core/toxi/geom/Quaternion.java,
src.core/toxi/geom/mesh/TriangleMesh.java:
refactored TriangleMesh.pointTowards() by extracting quat
construction into new, more reusable static
Quaternion.getAlignmentQuat() method. Fixed row-major format in
Quaternion.toMatrix4x4(), deprecated Quaternion.getMatrix() (because
of duplicate functionality & toMatrix4x4() is faster)
[a34e2d815250] <toxiclibs>
2010-03-19 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Matrix4x4.java:
optimizing identity() in Matrix4x4 by unrolling for() loop and avoid
extraneous array accesses
[02d3bb58d152] <toxiclibs>
* src.core/toxi/geom/mesh/TriangleMesh.java:
adding rotate, scale & translate methods to TriangleMesh (all
(re)using an internal matrix to avoid temporary matrix instance
creation)
[4de704c81b2e] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java:
adding scale & translate methods taking Vec3D as argument
[6c3c452139dc] <toxiclibs>
* src.core/toxi/geom/mesh/TriangleMesh.java:
turning more methods into fluent interfaces in TriangleMesh
[1288d19f1e58] <toxiclibs>
2010-03-14 Karsten Schmidt <k@postspectacular.com>
* examples/core/MeshAlignToAxis/MeshAlignToAxis.pde,
examples/core/MeshDoodle/MeshDoodle.pde,
examples/core/STLImportTest/STLImportTest.pde, examples/core/SuperEl
lipsoidMeshBuilder/SuperEllipsoidMeshBuilder.pde,
examples/physics/BoxFluidDemo/BoxFluidDemo.pde,
examples/volume/BoxFluidDemo/BoxFluidDemo.pde,
examples/volume/MRISurface/MRISurface.pde,
examples/volume/NoiseSurface/NoiseSurface.pde,
src.core/toxi/geom/AABB.java,
src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/Cone.java, src.core/toxi/geom/Plane.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java,
src.core/toxi/geom/mesh/DefaultSTLColorModel.java,
src.core/toxi/geom/mesh/MaterialiseSTLColorModel.java,
src.core/toxi/geom/mesh/OBJWriter.java,
src.core/toxi/geom/mesh/STLColorModel.java,
src.core/toxi/geom/mesh/STLReader.java,
src.core/toxi/geom/mesh/STLWriter.java,
src.core/toxi/geom/mesh/SphericalHarmonics.java,
src.core/toxi/geom/mesh/SuperEllipsoid.java,
src.core/toxi/geom/mesh/SurfaceFunction.java,
src.core/toxi/geom/mesh/SurfaceMeshBuilder.java,
src.core/toxi/geom/mesh/TriangleMesh.java,
src.core/toxi/geom/util/DefaultSTLColorModel.java,
src.core/toxi/geom/util/MaterialiseSTLColorModel.java,
src.core/toxi/geom/util/OBJWriter.java,
src.core/toxi/geom/util/STLColorModel.java,
src.core/toxi/geom/util/STLReader.java,
src.core/toxi/geom/util/STLWriter.java,
src.core/toxi/geom/util/SphericalHarmonics.java,
src.core/toxi/geom/util/SuperEllipsoid.java,
src.core/toxi/geom/util/SurfaceFunction.java,
src.core/toxi/geom/util/SurfaceMeshBuilder.java,
src.core/toxi/geom/util/TriangleMesh.java,
src.core/toxi/math/MathUtils.java,
src.test/toxi/test/geom/TriangleMeshTest.java,
src.volume/toxi/volume/IsoSurface.java:
renamed package toxi.geom.util into toxi.geom.mesh, added
getDefaultRGB() to STLColorModel, refactored
TriangleMesh.saveAsSTL() and fixed vertex order in saveAsOBJ(),
added DEFAULT_RGB constant to STLWriter, added enableFacetColor flag
to MaterialiseSTLColorModel, updated new package references in
related classes & examples @twitter
[c16a57bd455f] <toxiclibs>
* src.core/toxi/util/datatypes/BiasedFloatRange.java,
src.core/toxi/util/datatypes/BiasedIntegerRange.java:
refactored BiasedIntRange/BiasedFloatRange: added getters/setters
for bias & standard deviation, improved/fixed pickRandom() to not
distort frequency at min/max boundaries. Method is now looping until
a value is in range
[100943b2ee0a] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java, src.core/toxi/geom/Spline3D.java,
src.core/toxi/geom/Vec3D.java:
fixed javadocs
[fc5a98bbc800] <toxiclibs>
* src.core/toxi/geom/Plane.java:
adding toMesh() method
[517c6ca4421d] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java:
fixed transpose() to act "in-place" as intended, added copy() method
[0ec83b4a4342] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
adding ZERO constant & refactoring isZeroVector() to use
equalsWithTolerance() to check against ZERO vector
[0641807bdf7b] <toxiclibs>
* src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java:
adding toMesh() methods to AxisAlignedCylinder API and updating
X/Y/ZAxisCylinder implementation to use new Cone class
[394f4fe4cacf] <toxiclibs>
* src.core/toxi/geom/Cone.java, src.core/toxi/geom/FreeCylinder.java:
renaming & refactoring FreeCylinder into more generic Cone class
with individual north/south radii and toMesh() feature
[46b4ea8c04d0] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java:
updated saveAsSTL() to optionally support flipped Y axis export,
added flipYAxis() method
[4829bc06413d] <toxiclibs>
* src.core/toxi/geom/util/STLWriter.java:
added writeScaledVector() to only apply scale to vertices, not face
normals
[29e3bdbd67cb] <toxiclibs>
* src.core/toxi/math/MathUtils.java:
added sin/cos for double, reverted EPS to previous value, minor
refactoring of int random() methods using nextInt()
[186435971e10] <toxiclibs>
2010-03-12 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
minor update to pointTowards(), calling transform() directly now
[01d2ea564371] <toxiclibs>
2010-03-11 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
minor update to pointTowards(): removed obsolete normalization of
axis vector
[19b9013fce4c] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java:
added pointTowards() to align TriangleMeshes to face a given
direction
[fa1b9b418fbb] <toxiclibs>
2010-03-10 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/STLReader.java:
fixed #1 by flipping vertex order in STLReader.loadBinary()
[e8134913fa10] <toxiclibs>
* src.core/toxi/geom/util/SphericalHarmonics.java,
src.core/toxi/geom/util/SuperEllipsoid.java,
src.core/toxi/geom/util/SurfaceFunction.java,
src.core/toxi/geom/util/SurfaceMeshBuilder.java:
adding SurfaceMeshBuilder, SurfaceFunction interface and
SuperEllipsoid & SphericalHarmonics implementations
[b7106fa31170] <toxiclibs>
* src.core/toxi/math/MathUtils.java:
adding sign() methods to MathUtils
[d52a286173b2] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java:
updating javadocs
[a76b62c7ac96] <toxiclibs>
* src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
refactoring & bugfixing getDecimatedVertices() in Spline2D/3D to be
more reliable/precise
[54298382095d] <toxiclibs>
2010-03-06 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/OBJWriter.java:
minor change to endSave(): catching IOException only
[8dd9c5a0b217] <toxiclibs>
* src.core/toxi/geom/AABB.java:
adding toMesh() method with default mesh naming
[6e35c46d92bc] <toxiclibs>
* src.core/toxi/geom/FreeCylinder.java:
fixing bug when creating top cap in toMesh() method
[a090ef5d8874] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java:
adding matrix tranform() operation, refactored/improved
computeVertexNormals(), added computeFaceNormals(), added
flipVertexOrder(), added javadocs
[630b05de51e7] <toxiclibs>
2010-03-03 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
adding addMesh() method to combine meshes
[c93c99138956] <toxiclibs>
2010-03-02 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
swapping vertex order/face orientation when exporting as STL. this
seems to be more consitently correct now, importing tested in
MeshLab & Blender
[e21e272961ea] <toxiclibs>
2010-03-01 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java, src.core/toxi/geom/FreeCylinder.java:
adding FreeCylinder class with TriangleMesh conversion and adding
toMesh() method to AABB
[95ec7659d147] <toxiclibs>
2010-02-23 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/PointCloud.java:
adding PointCloud class
[fc3cab8851e6] <toxiclibs>
* src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
adding new add() method for specifying coordinates only (vector is
built internally), adding getter/setter for pointList
[bb0efe37561a] <toxiclibs>
2010-02-21 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/util/datatypes/BiasedFloatRange.java,
src.core/toxi/util/datatypes/BiasedIntegerRange.java,
src.core/toxi/util/datatypes/DoubleRange.java,
src.core/toxi/util/datatypes/FloatRange.java,
src.core/toxi/util/datatypes/IntegerRange.java:
add getMedian() to all range types and adding JAXB annotations for
specifying default value via XML. Also adding default constructor
which defaults for 0.0-1.0 range for float/double and 0-100 range
for int
[f9d4d96b8057] <toxiclibs>
2010-02-16 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
adding default constructor
[e48b6b85c4a3] <toxiclibs>
* src.core/toxi/math/ScaleMap.java:
adding getters for input/output range and range median values
(input/output/mapped)
[055378a32e5d] <toxiclibs>
* src.core/toxi/geom/Rect.java:
adding fromCenterExtent() factory method
[a5d639ec3ab0] <toxiclibs>
* src.core/toxi/geom/Ray2D.java, src.core/toxi/geom/Ray3D.java:
adding toLineWithPointAtDistance() conversion methods to Ray2D/3D
[9c4049ad4706] <toxiclibs>
2010-02-13 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/PointOctree.java:
minor updates (more efficient) to getPoints()
[b4b14080cfe0] <toxiclibs>
2010-02-12 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Line3D.java:
eclipse re-formatter run
[232060fb2ae6] <toxiclibs>
* src.core/toxi/geom/PointOctree.java:
minor refactoring/renaming of fields, eclipse re-formatter run
[a17fb1ff8248] <toxiclibs>
2010-02-09 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Triangle.java,
src.test/toxi/test/geom/TriangleTest.java:
bug fix for issue #15, Triangle.containsPoint() now also includes
the actual triangle vertices, which were previously excluded due to
rounding errors, added new unit test to verify
[9a81a910a824] <toxiclibs>
* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java:
adding getDirection(), getLength(), getMidPoint() to Line2D/3D
[b20947a9edef] <toxiclibs>
2010-02-08 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
removing splitIntoSegments from Vec2D/3D (moved to Line2D/3D),
adding static min()/max() methods to Vec2D (to be symmetrical with
Vec3D)
[304d28374a5e] <toxiclibs>
* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java:
adding Line3D class, adding toRay2D()/toRay3D() methods, moving
static Vec2D/3D.splitIntoSegments() into Line2D/3D
[1cd666df6c67] <toxiclibs>
2010-02-07 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/MathUtils.java:
adding double-typed versions of clip(), min() & max()
[2b0b13647524] <toxiclibs>
2010-02-05 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Line2D.java:
making intersection result immutable, adding javadocs
[adb606d73916] <toxiclibs>
2010-01-26 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Triangle.java,
src.core/toxi/geom/Triangle2D.java,
src.test/toxi/test/geom/Triangle2DTest.java,
src.test/toxi/test/geom/TriangleTest.java:
adding Triangle2D class, adding createEquilateralFrom() factory
method to Triangle2D/3D, adding related tests
[6df0293cfca5] <toxiclibs>
* src.core/toxi/geom/Line2D.java,
src.test/toxi/test/geom/Line2DTest.java:
adding Line2D & unit tests
[1317bb13c1aa] <toxiclibs>
* src.core/toxi/math/MathUtils.java:
adding SQRT3 constant
[324ae94d6448] <toxiclibs>
* src.core/toxi/math/conversion/UnitTranslator.java:
adding area conversion methods
[1361952b5b72] <toxiclibs>
2010-01-25 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Polygon2D.java,
src.test/toxi/test/geom/PolygonTest.java:
adding Polygon2D class & test case
[34425bb51f68] <toxiclibs>
2010-01-20 Karsten Schmidt <k@postspectacular.com>
* src.audio/toxi/audio/MultiTimbralManager.java,
src.color/toxi/color/ColorGradient.java,
src.core/toxi/geom/util/TriangleMesh.java:
minor updates to issues found by FindBugs
[fb9dcd78534f] <toxiclibs>
* src.core/toxi/geom/Circle.java, src.core/toxi/geom/Ellipse.java:
adding radius only constructors to Ellipse & Circle, adding
intersectsCircle() and getTangentPoints() to Circle
[a5c9eab096a3] <toxiclibs>
* src.core/toxi/geom/Quaternion.java,
src.test/toxi/test/geom/QuaternionTest.java:
forcing normalization of the axis vector for
Quaternion.createFromAxisAngle() since else results in unpredictable
results, adding new unit tests for Quaternion class
[a14294ecd7d4] <toxiclibs>
* src.core/toxi/geom/Ray2D.java:
fixed Ray2D constructor NullPointerException for new Ray2D(x,y,d)
[258c5aadf5b9] <toxiclibs>
* src.core/toxi/geom/Vec2D.java:
(FindBugs run) fixed Vec2D.equals() to check for object type & null
instances
[1eeb023dcd2b] <toxiclibs>
* src.core/toxi/geom/Circle.java, src.core/toxi/geom/Ellipse.java:
renaming Ellipse.get/setRadius() into plural get/setRadii() to avoid
conflicts with overwriting, adding Circle.get/setRadius() returning
a float instead
[c7bc722aad77] <toxiclibs>
* src.core/toxi/geom/Ellipse.java, src.core/toxi/geom/Ray3D.java,
src.core/toxi/geom/Rect.java:
fixing javadocs
[be83a6142000] <toxiclibs>
* src.core/toxi/geom/Sphere.java:
refactored intersectsRay() to return a float array instead of Vec3D,
updating javadocs
[7ec41ac122cf] <toxiclibs>
* src.core/toxi/geom/Circle.java, src.core/toxi/geom/Ellipse.java,
src.core/toxi/math/MathUtils.java:
refactoring Circle to subclass Ellipse and adding getArea(),
getCircumference() methods, adding SQRT2 constant to MathUtils
[00a7d47df5ad] <toxiclibs>
2010-01-17 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Intersector.java:
applying eclipse formatter
[23ccd5b18a68] <toxiclibs>
* src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/SphereIntersectorReflector.java:
adding Sphere.intersectsRay() to compute all possible intersection
points, applying reformatting to SphereIntersectorReflector
[e53054de0829] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
adding constrain(min,max) to Vec2D/3D
[031349d015e9] <toxiclibs>
* src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
adding getDecimatedVertices() to Spline2D/3D
[e49e43c3110f] <toxiclibs>
* src.core/toxi/geom/Rect.java:
removing static fromMinMax() factory method again since this
shouldn't have been added to begin with (one of the constructors
already does the same)
[a9d7158953eb] <toxiclibs>
* src.core/toxi/math/MathUtils.java:
fixing floor() for negative values (thanks to Lex)
[1d9f521c37c6] <toxiclibs>
2010-01-06 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec3D.java:
removing JAXB annotation
[383ab881675c] <toxiclibs>
* src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java:
adding getMajorAxis() to AxisAlignedCylinder and updating
implementation
[84b5e265ff19] <toxiclibs>
* src.core/toxi/geom/Vec2D.java:
adding Axis enum & accessors to Vec2D too
[9e5c77fe2cd3] <toxiclibs>
* src.core/toxi/geom/Vec3D.java:
adding Axis enum to Vec3D and providing
getComponent()/setComponent() methods for reflective access
[8bab77e88e77] <toxiclibs>
* src.core/toxi/geom/AxisAlignedCylinder.java,
src.core/toxi/geom/Circle.java, src.core/toxi/geom/Ellipse.java,
src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/XAxisCylinder.java,
src.core/toxi/geom/YAxisCylinder.java,
src.core/toxi/geom/ZAxisCylinder.java:
adding FIXME marker to Sphere class, adding 2D Circle & Ellipse
classes, adding AxisAlignedCylinder and XYZ implementations
[8627a917496d] <toxiclibs>
2010-01-05 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Rect.java:
adding Rect.fromMinMax() factory method, minor refactoring in
intersectsRay()
[8869c159fd71] <toxiclibs>
* src.core/toxi/geom/AABB.java:
deprecating minX/maxX etc. getters, refactoring getMin/getMax to
avoid re-computing values
[a41027b73352] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
Vec2D/3D: refactoring closestPointOnLine() to avoid sqrt, adding
reciprocal()/getReciprocal() methods
[0c1d91079977] <toxiclibs>
* src.core/toxi/geom/Ray2D.java, src.core/toxi/geom/Ray3D.java:
refactored Ray2D/3D to set direction vector protected, add setter
and ensure dir vector is always normalized, adding javadocs
[889bf9e198ee] <toxiclibs>
2009-12-31 Karsten Schmidt <k@postspectacular.com>
* ant/build_core.xml, src.core/toxi/geom/AABB.java,
src.core/toxi/geom/Ray2D.java, src.core/toxi/geom/Rect.java:
adding Ray2D class, adding intersectsRay() and intersectsRect()
methods to Rect class, minor changes to AABB
[ff18082d9036] <toxiclibs>
2009-12-11 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Rect.java:
adding copy() and getCentroid to Rect class
[ccab70254dab] <toxiclibs>
2009-11-30 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/MathUtils.java:
minor updates to fastSin/fastCos, switched internally to double
[72d83b2b7f6c] <toxiclibs>
2009-11-23 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/waves/AbstractWave.java,
src.core/toxi/math/waves/ConstantWave.java,
src.core/toxi/math/waves/FMTriangleWave.java:
adding/fixing javadocs for AbstractWave, ConstantWave,
FMTriangleWave
[61ac48bcf900] <toxiclibs>
* src.core/toxi/geom/util/OBJMesh.java,
src.core/toxi/geom/util/OBJWriter.java,
src.core/toxi/geom/util/STLReader.java,
src.core/toxi/geom/util/TriangleMesh.java:
removing obsolete OBJMesh. Adding javadocs & new saveAsOBJ() method
to TriangleMesh, but removing loadFromBinarySTL() and minor
refactoring, adding javadocs and new loadBinary(InputStream) method
to STLReader, updating OBJWriter with version number & javadocs
[6bc25b32287d] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java,
src.core/toxi/geom/Quaternion.java,
src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
javadoc fixes & updates to Matrix4x4 & Quaternion, fixing visibility
issues in Spline2D/3D
[383d1b2b05c2] <toxiclibs>
2009-11-22 Karsten Schmidt <k@postspectacular.com>
* examples/core/AdditiveWaves/AdditiveWaves.pde,
src.core/toxi/math/MathUtils.java,
src.core/toxi/math/waves/AMFMSineWave.java,
src.core/toxi/math/waves/AbstractWave.java,
src.core/toxi/math/waves/ConstantWave.java,
src.core/toxi/math/waves/FMHarmonicSquareWave.java,
src.core/toxi/math/waves/FMSawtoothWave.java,
src.core/toxi/math/waves/FMSineWave.java,
src.core/toxi/math/waves/FMSquareWave.java,
src.core/toxi/math/waves/FMTriangleWave.java,
src.core/toxi/math/waves/WaveState.java:
solution for issue #12, adding push()/pop() to all wave types
implementing a stack for saving WaveStates, fixing reset() to also
reset any attached modulating waves, adding FMTriangleWave type &
also adding AdditiveWaves Processing demo, added INV_PI constant to
MathUtils
[5993ce3c3f3f] <toxiclibs>
2009-11-20 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Quaternion.java:
adding interpolateTo/Self method to be used with InterpolateStrategy
just like Vec3D
[e2db099fd039] <toxiclibs>
2009-10-31 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
adding add() method & javadocs to spline classes
[5fd1edd55f17] <toxiclibs>
* src.core/toxi/geom/AABB.java,
src.core/toxi/geom/BernsteinPolynomial.java,
src.core/toxi/geom/Plane.java, src.core/toxi/geom/Quad.java,
src.core/toxi/geom/Quaternion.java, src.core/toxi/geom/Ray3D.java,
src.core/toxi/geom/Rect.java, src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java,
src.core/toxi/geom/Triangle.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/math/waves/AbstractWave.java,
src.core/toxi/math/waves/ConstantWave.java,
src.core/toxi/math/waves/SineWave.java,
src.test/toxi/test/JAXBGeomTest.java,
src.test/toxi/test/SplineTestApplet.java:
adding & refactoring JAXB annotation handling for most classes in
toxi.geom package and where possible in toxi.math.waves. Also adding
JAXBGeomTest app to marshal/unmarshal all supported types. Related
refactoring of spline classes to work with lists instead of arrays
and can be build dynamically (point by point)
[fa15f402a020] <toxiclibs>
2009-10-30 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java,
src.core/toxi/geom/DimensionalVector.java,
src.core/toxi/geom/Plane.java, src.core/toxi/geom/Quaternion.java,
src.core/toxi/geom/Ray3D.java, src.core/toxi/geom/Rect.java,
src.core/toxi/geom/Sphere.java, src.core/toxi/geom/Triangle.java,
src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/geom/util/TriangleMesh.java,
src.test/toxi/test/geom/TriangleMeshTest.java:
phasing out/removing DimensionalVector interface, adding JAXB
annotations to Vec2D/Vec3D subclasses, updating TriangleMesh & test
[235ec27c61b2] <toxiclibs>
2009-10-18 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/noise/SimplexNoise.java:
fixed bug in SimplexNoise.fastFloor(x) when x=0 - thanks Lex! The
same method in MathUtils hasn't got this issue...
[f407859a7ece] <toxiclibs>
2009-10-16 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Quaternion.java,
src.core/toxi/math/MathUtils.java:
adding set(w,x,y,z) to Quaternion, bug fix to MathUtils.ceilPower2()
[28b83639ea45] <toxiclibs>
2009-10-15 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java,
src.core/toxi/geom/DimensionalVector.java,
src.core/toxi/geom/Quaternion.java, src.core/toxi/geom/Vec2D.java,
src.core/toxi/geom/Vec3D.java,
src.core/toxi/geom/util/TriangleMesh.java,
src.core/toxi/math/MathUtils.java:
deprecated DimensionalVector (was a bad idea), renamed
Quaternion.getValue() into toAxisAngle(), added getNormalizedTo() to
Vec2D/Vec3D, updates to TriangleMesh class (STL saving/loading),
minor tweaks to MathUtils
[c1b13eb948f7] <toxiclibs>
2009-09-06 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Quaternion.java:
adding interpolatToSelf() to Quaternion class, fixing interpolation
NaN bug caused by loss of float precision
[cf996d238fc4] <toxiclibs>
2009-08-10 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Matrix4x4.java,
src.core/toxi/geom/Quaternion.java:
minor additions to Matrix4x4 & Quaternion (for use in
QuaternionCamera)
[2ccb6865e39d] <toxiclibs>
2009-08-02 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Matrix4x4.java,
src.core/toxi/geom/Quaternion.java,
src.test/toxi/test/geom/GeomTestSuite.java,
src.test/toxi/test/geom/MatrixTest.java:
major updates & refactoring to Matrix & Quaternion (incl. major API
changes), updated unit tests
[584931d73fc3] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java,
src.test/toxi/test/geom/TriangleMeshTest.java:
refactored TriangleMesh to use a LinkedHashMap as faster vertex
storage, updated unit test
[8c62cb205977] <toxiclibs>
* src.core/toxi/geom/Vec3D.java:
added hashCode method
[b72a2924d87d] <toxiclibs>
2009-07-27 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/STLReader.java,
src.core/toxi/geom/util/TriangleMesh.java,
src.test/toxi/test/geom/TriangleMeshTest.java, test/test.stl:
added binary STLReader and integrated with TriangleMesh, new related
unit test added
[208132b36fba] <toxiclibs>
* src.core/toxi/geom/Matrix4x4.java:
added toArray() and toFloatArray()
[29808fecefd5] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
bugfix for Vec3D.equalsWithTolerance() and adding for Vec2D as well
[3e2c1466281f] <toxiclibs>
2009-07-22 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
more refactoring & reducing footprint, added getBoundingBox() method
since bounds are not computed automatically anymore
[a197fe4bda14] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java:
reducing new object creations and making things final
[e01ca84c9be3] <toxiclibs>
* src.core/toxi/geom/PointOctree.java:
upgrading to Java5 for-loop syntax, adding empty() method
[b9b7a439ec81] <toxiclibs>
2009-07-19 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Matrix4x4.java,
src.test/toxi/test/geom/MatrixTest.java:
updating matrix4x4 class w/ various optimizations
[cbca5e48cc1b] <toxiclibs>
* src.core/toxi/math/MathUtils.java:
adding experimental fast sin/cos approximations. needs further
testing
[1f0a15cc23ae] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
fixing javadoc warnings
[399ce2192e93] <toxiclibs>
* src.core/toxi/geom/Rect.java:
adding default constructor, copy() & set() method, deprecated
merge() replaced with union() (TODO: intersect)
[00834f1f5443] <toxiclibs>
2009-07-17 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
minor update to TriangleMesh, keeping manual vertex/face counter
instead of size() calls
[eb385ea69cce] <toxiclibs>
2009-07-15 Karsten Schmidt <k@postspectacular.com>
* .classpath, ant/build_data.xml, readme1st/audio/README.txt,
readme1st/color/README.txt, readme1st/core/README.txt,
readme1st/data/README.txt, readme1st/image/README.txt,
readme1st/physics/README.txt, readme1st/volume/README.txt,
src.core/toxi/geom/Vec2D.java,
src.data/toxi/data/feeds/RSSChannel.java,
src.data/toxi/data/feeds/RSSFeed.java,
src.data/toxi/data/feeds/RSSItem.java,
src.test/toxi/test/data/RSSTest.java:
adding toxi.data package, folder structure & build files for remote
data (feed) parsing. also updating (c) info in all README's
[b2ec9c3bb6a3] <toxiclibs>
2009-07-09 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec3D.java:
adding to2DXY(), to2DXZ() and to2DYZ() conversion methods to Vec3D
[35b3f41be159] <toxiclibs>
2009-07-05 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
adding splitIntoSegments for Vec2D (incl. javadoc)
[b15cfd65aef6] <toxiclibs>
* .project, src.core/toxi/geom/Vec3D.java,
src.test/toxi/test/geom/GeomTestSuite.java,
src.test/toxi/test/geom/Vec3DTest.java:
updating spherical coords based on azimuth = positive Y axis, added
static splitIntoSegments() method (plus unit test), added final
modifier where possible, updated javadocs
[763d7bf7bc8c] <toxiclibs>
2009-07-02 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
added Vec3D.toSpherical()/toCartesian() methods and added "required"
attrib to @XmlAttribute annotations
[ccc6495d52a4] <toxiclibs>
2009-06-29 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/TriangleMesh.java:
removed obsolete dependency with XYZComparator
[f4d2963f7695] <toxiclibs>
* src.core/toxi/geom/util/TriangleMesh.java:
adding TriangleMesh class
[43e6a00a36c0] <toxiclibs>
* src.core/toxi/geom/util/OBJMesh.java,
src.core/toxi/geom/util/OBJWriter.java:
refactored OBJWriter.faceWithNormal() into faceWithNormals(), now
requesting 3 vertex normals instead of just one per face
[3516bf586ece] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
adding JAXB @XmlAttribute annotation for importing/exporting
vectors, changed comparison method back to (==) in equals() and
compareTo(),since Float.compare(a,b) created weird results
[60e6f61aa28f] <toxiclibs>
* src.core/toxi/geom/Triangle.java:
minor internal changes and flipped vertex order for normal
computation for consistency with other library parts
[73da2b7f2dab] <toxiclibs>
2009-06-15 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Rect.java:
added merge() method to form compound rectangles and minor bug fix
in containsPoint()
[5c4062b71ba2] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
added type information to Comparable implementations and changed
compareTo() to expect Vec's, not generic objects
[76777a7533bf] <toxiclibs>
2009-06-14 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/OBJMesh.java:
added new class OBJMesh as basic container for exporting meshes to
OBJ, automatically eliminates duplicate vertices and computes face
normals automatically as long as mesh is convex (no support for
vertex normals yet though)
[0566ef21e83b] <toxiclibs>
* src.core/toxi/geom/util/OBJWriter.java:
added support for normals, added methods: normal(),
faceWithNormal(), getCurrNormalOffset(), getCurrVertexOffset(),
updated version to 0.26
[ea8769f07754] <toxiclibs>
* src.core/toxi/geom/Vec2D.java:
minor improvement to normalize() and some javadocs
[602eb3f05d2d] <toxiclibs>
* src.core/toxi/geom/Triangle.java:
added computeCentroid(), set() and toString() methods. Minor
improvement to computeNormal()
[9172f1d2e9bd] <toxiclibs>
2009-06-10 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/util/OBJMesh.java,
src.core/toxi/geom/util/OBJWriter.java:
added new class OBJMesh and added getCurrVertexOffset() method to
OBJWriter
[12857e1d4f9a] <toxiclibs>
* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
fixed copy&paste error (accidental Vec3D cast) in
Vec2D.compareTo()/equals(), similar minor change to
Vec3D.compareTo(), added Vec2D.cross() method and Vec2D -> Vec3D
conversions: to3DXY(), to3DXZ() & to3DYZ()
[64a78d95244b] <toxiclibs>
2009-06-04 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Spline2D.java:
removing unnecessary debug output in computeVertices()
[3f3e23dd0f30] <toxiclibs>
2009-05-27 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
intermittent bugfix for computeVertices() methods in Spline2D/3D.
see http://groups.google.com/group/toxiclibs-
users/browse_thread/thread/9b40ee9cf3dfdb5a for discussion
[3ab8642ce1f0] <toxiclibs>
2009-05-18 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/ScaleMap.java:
fixing javadocs for ScaleMap methods
[509966ea5394] <toxiclibs>
* src.core/toxi/geom/Vec2D.java:
fixing javadocs for Vec2D.toCartesian()/toPolar() methods
[aad886c2e0c9] <toxiclibs>
* src.core/toxi/geom/BernsteinPolynomial.java,
src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java:
adding manual curve tightness control to Spline2D/3D classes and
making BernsteinPolynomial fields public
[1a420316402d] <toxiclibs>
2009-04-26 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/ZoomLensInterpolation.java:
bug fix for intervals with non-zero minimum values
[fb2385a540fe] <toxiclibs>
2009-04-21 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/ScaleMap.java,
src.core/toxi/math/ZoomLensInterpolation.java:
adding minimal javadocs to ScaleMap & ZoomLens
[47f0919ed211] <toxiclibs>
* src.core/toxi/math/ZoomLensInterpolation.java:
bug fix in setLensStrength to also allow bundling lens types
(strength now correctly clipped to -1 ... +1)
[ae9e6410480e] <toxiclibs>
2009-04-19 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/DimensionalVector.java,
src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.core/toxi/math/CircularInterpolation.java,
src.core/toxi/math/MathUtils.java, src.core/toxi/math/ScaleMap.java,
src.core/toxi/math/ZoomLensInterpolation.java,
src.core/toxi/util/datatypes/DoubleRange.java:
adding ScaleMap, ZoomLens, DoubleRange, adding javadocs and minor
tweaks to CircularInterpolation, adding toPolar/toCartesian
conversion to Vec2D
[6c199512e65a] <toxiclibs>
2009-04-04 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Rect.java, src.core/toxi/geom/Vec2D.java:
added float based Rect class to replace int based java.awt.Rectangle
use in Vec2D
[e9beff4e3182] <toxiclibs>
2009-03-26 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/math/conversion/UnitTranslator.java:
fixed visibility and made all methods static, added javadocs
[762578db412b] <toxiclibs>
2009-03-21 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/Vec2D.java:
fixed typo in Vec2D.isInRectangle() - thanks lenny! :)
[dfea04b0bbb7] <toxiclibs>
2009-03-16 Karsten Schmidt <k@postspectacular.com>
* .settings/org.eclipse.jdt.ui.prefs, readme1st/core/CHANGELOG.txt,
src.core/toxi/geom/AABB.java,
src.core/toxi/geom/DimensionalVector.java,
src.core/toxi/geom/Plane.java, src.core/toxi/geom/PointList.java,
src.core/toxi/geom/PointOctree.java,
src.core/toxi/geom/Quaternion.java, src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/SphereIntersectorReflector.java,
src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java,
src.test/toxi/test/GeomTestSuite.java:
enabled sort members option in eclipse editor save actions. plus the
long overdue extraction/redistribution of intersection methods from
Vec3D into their new (better suited) parent types... updated
GeomTestSuite to refactored state
[f4604b07371a] <toxiclibs>
2009-02-27 Karsten Schmidt <k@postspectacular.com>
* src.core/toxi/geom/AABB.java,
src.core/toxi/geom/BernsteinPolynomial.java,
src.core/toxi/geom/DimensionalVector.java,
src.core/toxi/geom/Intersector.java,
src.core/toxi/geom/Matrix4x4.java, src.core/toxi/geom/Plane.java,
src.core/toxi/geom/PointList.java,
src.core/toxi/geom/PointOctree.java, src.core/toxi/geom/Quad.java,
src.core/toxi/geom/Quaternion.java, src.core/toxi/geom/Ray3D.java,
src.core/toxi/geom/Reflector.java, src.core/toxi/geom/Sphere.java,
src.core/toxi/geom/SphereIntersectorReflector.java,
src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java,
src.core/toxi/geom/Triangle.java, src.core/toxi/geom/Vec2D.java,
src.core/toxi/geom/Vec3D.java,
src.core/toxi/geom/util/DefaultSTLColorModel.java,
src.core/toxi/geom/util/MaterialiseSTLColorModel.java,
src.core/toxi/geom/util/OBJWriter.java,
src.core/toxi/geom/util/STLColorModel.java,
src.core/toxi/geom/util/STLWriter.java,
src.core/toxi/math/CircularInterpolation.java,
src.core/toxi/math/CosineInterpolation.java,
src.core/toxi/math/InterpolateStrategy.java,
src.core/toxi/math/LinearInterpolation.java,
src.core/toxi/math/MathUtils.java,
src.core/toxi/math/SigmoidInterpolation.java,
src.core/toxi/math/SinCosLUT.java,
src.core/toxi/math/conversion/UnitTranslator.java,
src.core/toxi/math/noise/PerlinNoise.java,
src.core/toxi/math/noise/SimplexNoise.java,
src.core/toxi/math/waves/AMFMSineWave.java,
src.core/toxi/math/waves/AbstractWave.java,
src.core/toxi/math/waves/ConstantWave.java,
src.core/toxi/math/waves/FMHarmonicSquareWave.java,
src.core/toxi/math/waves/FMSawtoothWave.java,
src.core/toxi/math/waves/FMSineWave.java,
src.core/toxi/math/waves/FMSquareWave.java,
src.core/toxi/math/waves/SineWave.java,
src.core/toxi/util/datatypes/ArrayUtil.java,
src.core/toxi/util/datatypes/BiasedFloatRange.java,
src.core/toxi/util/datatypes/BiasedIntegerRange.java,
src.core/toxi/util/datatypes/FloatRange.java,
src.core/toxi/util/datatypes/GenericSet.java,
src.core/toxi/util/datatypes/IntegerRange.java,
src.core/toxi/util/datatypes/IntegerSet.java,
src.core/toxi/util/datatypes/SingletonRegistry.java,
src.core/toxi/util/datatypes/TypedProperties.java:
renaming src.geom folder into src.core WRT the replacement of
geomutils with toxiclibscore packages, which now also include the
formerly separate prefutils classes. also removing toxi.geom.volume
package from this source folder
[e634cbf8b696] <toxiclibs>