2011-01-03  Karsten Schmidt  <k@postspectacular.com>

	* examples/core/math/WeightedRandom/WeightedRandom.pde,
	src.audio/toxi/audio/AudioSource.java,
	src.audio/toxi/audio/JOALUtil.java,
	src.audio/toxi/audio/SoundListener.java,
	src.color/toxi/color/AlphaAccessor.java,
	src.color/toxi/color/CMYKAccessor.java,
	src.color/toxi/color/ColorList.java,
	src.color/toxi/color/ColorRange.java,
	src.color/toxi/color/ColorTheme.java,
	src.color/toxi/color/DistanceProxy.java,
	src.color/toxi/color/HSVAccessor.java,
	src.color/toxi/color/HSVDistanceProxy.java,
	src.color/toxi/color/Hue.java,
	src.color/toxi/color/RGBAccessor.java,
	src.color/toxi/color/RGBDistanceProxy.java,
	src.color/toxi/color/theory/ColorTheoryStrategy.java,
	src.color/toxi/color/theory/ComplementaryStrategy.java,
	src.color/toxi/color/theory/CompoundTheoryStrategy.java,
	src.color/toxi/color/theory/LeftSplitComplementaryStrategy.java,
	src.color/toxi/color/theory/SingleComplementStrategy.java,
	src.color/toxi/color/theory/SplitComplementaryStrategy.java,
	src.core/toxi/geom/Plane.java, src.core/toxi/geom/Vec2D.java,
	src.core/toxi/geom/Vec3D.java,
	src.core/toxi/geom/mesh/OBJWriter.java,
	src.core/toxi/geom/mesh/STLWriter.java,
	src.core/toxi/math/LinearInterpolation.java,
	src.core/toxi/math/MathUtils.java,
	src.core/toxi/math/noise/SimplexNoise.java,
	src.core/toxi/util/datatypes/TypedProperties.java,
	src.core/toxi/util/datatypes/UndirectedGraph.java,
	src.core/toxi/util/datatypes/WeightedRandomSet.java,
	src.image/toxi/image/util/Filter8bit.java,
	src.physics/toxi/physics/VerletConstrainedSpring.java,
	src.physics/toxi/physics/VerletMinDistanceSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics2d/VerletSpring2D.java:
	adding WeightedRandom demo and more comment updates
	[4cfadbbea3b0] [tip] <toxiclibs>

	* examples/core/misc/CustomEvents/CustomEvents.pde,
	src.audio/toxi/audio/AudioBuffer.java,
	src.audio/toxi/audio/AudioSource.java,
	src.audio/toxi/audio/DecompressInputStream.java,
	src.audio/toxi/audio/FIRFilter.java,
	src.audio/toxi/audio/IIRFilter.java,
	src.audio/toxi/audio/JOALUtil.java,
	src.audio/toxi/audio/MultiTimbralManager.java,
	src.audio/toxi/audio/SoundListener.java,
	src.audio/toxi/audio/SynthUtil.java,
	src.audio/toxi/music/DelayedSamplePlayer.java,
	src.audio/toxi/music/QuantizedTimeHandler.java,
	src.audio/toxi/music/QuantizedTimeProvider.java,
	src.audio/toxi/music/scale/AbstractScale.java,
	src.audio/toxi/music/scale/GenericScale.java,
	src.audio/toxi/music/scale/MajorScale.java,
	src.color/toxi/color/AccessCriteria.java,
	src.color/toxi/color/AlphaAccessor.java,
	src.color/toxi/color/CMYKAccessor.java,
	src.color/toxi/color/CMYKDistanceProxy.java,
	src.color/toxi/color/ColorGradient.java,
	src.color/toxi/color/ColorList.java,
	src.color/toxi/color/ColorRange.java,
	src.color/toxi/color/ColorTheme.java,
	src.color/toxi/color/DistanceProxy.java,
	src.color/toxi/color/HSVAccessor.java,
	src.color/toxi/color/HSVDistanceProxy.java,
	src.color/toxi/color/HistEntry.java,
	src.color/toxi/color/Histogram.java, src.color/toxi/color/Hue.java,
	src.color/toxi/color/LuminanceAccessor.java,
	src.color/toxi/color/NamedColor.java,
	src.color/toxi/color/ProximityComparator.java,
	src.color/toxi/color/RGBAccessor.java,
	src.color/toxi/color/RGBDistanceProxy.java,
	src.color/toxi/color/ReadonlyTColor.java,
	src.color/toxi/color/TColor.java,
	src.color/toxi/color/TColorAdapter.java,
	src.color/toxi/color/ToneMap.java,
	src.color/toxi/color/theory/AnalogousStrategy.java,
	src.color/toxi/color/theory/ColorTheoryRegistry.java,
	src.color/toxi/color/theory/ColorTheoryStrategy.java,
	src.color/toxi/color/theory/ComplementaryStrategy.java,
	src.color/toxi/color/theory/CompoundTheoryStrategy.java,
	src.color/toxi/color/theory/LeftSplitComplementaryStrategy.java,
	src.color/toxi/color/theory/MonochromeTheoryStrategy.java,
	src.color/toxi/color/theory/RightSplitComplementaryStrategy.java,
	src.color/toxi/color/theory/SingleComplementStrategy.java,
	src.color/toxi/color/theory/SplitComplementaryStrategy.java,
	src.color/toxi/color/theory/TetradTheoryStrategy.java,
	src.color/toxi/color/theory/TriadTheoryStrategy.java,
	src.core/toxi/geom/AABB.java,
	src.core/toxi/geom/AxisAlignedCylinder.java,
	src.core/toxi/geom/BernsteinPolynomial.java,
	src.core/toxi/geom/Circle.java,
	src.core/toxi/geom/CircleIntersector.java,
	src.core/toxi/geom/Cone.java, src.core/toxi/geom/Ellipse.java,
	src.core/toxi/geom/Intersector2D.java,
	src.core/toxi/geom/Intersector3D.java,
	src.core/toxi/geom/IsectData2D.java,
	src.core/toxi/geom/IsectData3D.java, src.core/toxi/geom/Line2D.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/PointQuadtree.java,
	src.core/toxi/geom/Polygon2D.java,
	src.core/toxi/geom/PolygonClipper2D.java,
	src.core/toxi/geom/Quaternion.java, src.core/toxi/geom/Ray2D.java,
	src.core/toxi/geom/Ray3D.java,
	src.core/toxi/geom/Ray3DIntersector.java,
	src.core/toxi/geom/ReadonlyVec2D.java,
	src.core/toxi/geom/ReadonlyVec3D.java, src.core/toxi/geom/Rect.java,
	src.core/toxi/geom/Reflector3D.java,
	src.core/toxi/geom/Shape2D.java, src.core/toxi/geom/Shape3D.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/SutherlandHodgemanClipper.java,
	src.core/toxi/geom/Triangle.java,
	src.core/toxi/geom/Triangle2D.java,
	src.core/toxi/geom/Triangle3D.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/BezierPatch.java,
	src.core/toxi/geom/mesh/BoxSelector.java,
	src.core/toxi/geom/mesh/DefaultSTLColorModel.java,
	src.core/toxi/geom/mesh/DefaultSelector.java,
	src.core/toxi/geom/mesh/Face.java,
	src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/MaterialiseSTLColorModel.java,
	src.core/toxi/geom/mesh/Mesh3D.java,
	src.core/toxi/geom/mesh/OBJWriter.java,
	src.core/toxi/geom/mesh/PlaneSelector.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/SphereFunction.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/Terrain.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/Vertex.java,
	src.core/toxi/geom/mesh/VertexSelector.java,
	src.core/toxi/geom/mesh/WEFace.java,
	src.core/toxi/geom/mesh/WEMeshFilterStrategy.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java,
	src.core/toxi/geom/mesh/WEVertex.java,
	src.core/toxi/geom/mesh/WingedEdge.java,
	src.core/toxi/geom/mesh/subdiv/DisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DualDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DualSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/EdgeLengthComparator.java,
	src.core/toxi/geom/mesh/subdiv/FaceCountComparator.java,
	src.core/toxi/geom/mesh/subdiv/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/NormalDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/subdiv/TriSubdivision.java,
	src.core/toxi/geom/mesh2d/DelaunayVertex.java,
	src.core/toxi/geom/mesh2d/Voronoi.java,
	src.core/toxi/math/BezierInterpolation.java,
	src.core/toxi/math/CircularInterpolation.java,
	src.core/toxi/math/CosineInterpolation.java,
	src.core/toxi/math/DecimatedInterpolation.java,
	src.core/toxi/math/ExponentialInterpolation.java,
	src.core/toxi/math/InterpolateStrategy.java,
	src.core/toxi/math/Interpolation2D.java,
	src.core/toxi/math/LinearInterpolation.java,
	src.core/toxi/math/MathUtils.java, src.core/toxi/math/ScaleMap.java,
	src.core/toxi/math/SigmoidInterpolation.java,
	src.core/toxi/math/SinCosLUT.java,
	src.core/toxi/math/ThresholdInterpolation.java,
	src.core/toxi/math/ZoomLensInterpolation.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/FMTriangleWave.java,
	src.core/toxi/math/waves/SineWave.java,
	src.core/toxi/math/waves/WaveState.java,
	src.core/toxi/util/DateUtils.java,
	src.core/toxi/util/FileSequenceDescriptor.java,
	src.core/toxi/util/FileUtils.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/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,
	src.core/toxi/util/datatypes/SingletonRegistry.java,
	src.core/toxi/util/datatypes/TypedProperties.java,
	src.core/toxi/util/datatypes/WeightedRandomEntry.java,
	src.core/toxi/util/datatypes/WeightedRandomSet.java,
	src.core/toxi/util/events/EventDispatcher.java,
	src.data/toxi/data/csv/CSVAdapter.java,
	src.data/toxi/data/csv/CSVFieldMapper.java,
	src.data/toxi/data/csv/CSVListener.java,
	src.data/toxi/data/csv/CSVParser.java,
	src.data/toxi/data/feeds/AtomAuthor.java,
	src.data/toxi/data/feeds/AtomContent.java,
	src.data/toxi/data/feeds/AtomEntry.java,
	src.data/toxi/data/feeds/AtomFeed.java,
	src.data/toxi/data/feeds/AtomLink.java,
	src.data/toxi/data/feeds/RSSChannel.java,
	src.data/toxi/data/feeds/RSSEnclosure.java,
	src.data/toxi/data/feeds/RSSFeed.java,
	src.data/toxi/data/feeds/RSSItem.java,
	src.data/toxi/data/feeds/util/Iso8601DateAdapter.java,
	src.data/toxi/data/feeds/util/Rfc822DateAdapter.java,
	src.image/toxi/image/util/Filter8bit.java,
	src.image/toxi/image/util/TiledFrameExporter.java,
	src.p5/toxi/processing/ToxiclibsSupport.java,
	src.physics/toxi/physics/ParticlePath.java,
	src.physics/toxi/physics/ParticleString.java,
	src.physics/toxi/physics/PullBackString.java,
	src.physics/toxi/physics/VerletConstrainedSpring.java,
	src.physics/toxi/physics/VerletMinDistanceSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics/behaviors/AttractionBehavior.java,
	src.physics/toxi/physics/behaviors/ConstantForceBehavior.java,
	src.physics/toxi/physics/behaviors/GravityBehavior.java,
	src.physics/toxi/physics/behaviors/ParticleBehavior.java,
	src.physics/toxi/physics/constraints/AxisConstraint.java,
	src.physics/toxi/physics/constraints/BoxConstraint.java,
	src.physics/toxi/physics/constraints/CylinderConstraint.java,
	src.physics/toxi/physics/constraints/MaxConstraint.java,
	src.physics/toxi/physics/constraints/MinConstraint.java,
	src.physics/toxi/physics/constraints/ParticleConstraint.java,
	src.physics/toxi/physics/constraints/PlaneConstraint.java,
	src.physics/toxi/physics/constraints/SoftBoxConstraint.java,
	src.physics/toxi/physics/constraints/SphereConstraint.java,
	src.physics/toxi/physics2d/ParticlePath2D.java,
	src.physics/toxi/physics2d/ParticleString2D.java,
	src.physics/toxi/physics2d/PullBackString2D.java,
	src.physics/toxi/physics2d/VerletConstrainedSpring2D.java,
	src.physics/toxi/physics2d/VerletMinDistanceSpring2D.java,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java,
	src.physics/toxi/physics2d/behaviors/AttractionBehavior.java,
	src.physics/toxi/physics2d/behaviors/ConstantForceBehavior.java,
	src.physics/toxi/physics2d/behaviors/GravityBehavior.java,
	src.physics/toxi/physics2d/behaviors/ParticleBehavior2D.java,
	src.physics/toxi/physics2d/constraints/AngularConstraint.java,
	src.physics/toxi/physics2d/constraints/AxisConstraint.java,
	src.physics/toxi/physics2d/constraints/CircularConstraint.java,
	src.physics/toxi/physics2d/constraints/MaxConstraint.java,
	src.physics/toxi/physics2d/constraints/MinConstraint.java,
	src.physics/toxi/physics2d/constraints/ParticleConstraint2D.java,
	src.physics/toxi/physics2d/constraints/RectConstraint.java,
	src.sim/toxi/sim/automata/CAMatrix.java,
	src.sim/toxi/sim/automata/CARule.java,
	src.sim/toxi/sim/automata/CARule2D.java,
	src.sim/toxi/sim/automata/CAWolfram1D.java,
	src.sim/toxi/sim/automata/EvolvableMatrix.java,
	src.sim/toxi/sim/automata/MatrixEvolver.java,
	src.sim/toxi/sim/dla/BottomUpOrder.java,
	src.sim/toxi/sim/dla/DLA.java,
	src.sim/toxi/sim/dla/DLAConfiguration.java,
	src.sim/toxi/sim/dla/DLAEventAdapter.java,
	src.sim/toxi/sim/dla/DLAEventListener.java,
	src.sim/toxi/sim/dla/DLAGuideLines.java,
	src.sim/toxi/sim/dla/DLAParticle.java,
	src.sim/toxi/sim/dla/DLASegment.java,
	src.sim/toxi/sim/dla/PipelineOrder.java,
	src.sim/toxi/sim/dla/RadialDistanceOrder.java,
	src.sim/toxi/sim/erosion/ErosionFunction.java,
	src.sim/toxi/sim/erosion/TalusAngleErosion.java,
	src.sim/toxi/sim/erosion/ThermalErosion.java,
	src.sim/toxi/sim/fluids/FluidSolver.java,
	src.sim/toxi/sim/grayscott/GrayScott.java,
	src.test/toxi/test/JAXBGeomTest.java,
	src.test/toxi/test/geom/AABBIsecTest.java,
	src.test/toxi/test/geom/PlaneTest.java,
	src.test/toxi/test/geom/TriangleTest.java,
	src.test/toxi/test/geom/WEMeshTest.java,
	src.volume/toxi/volume/ArrayIsoSurface.java,
	src.volume/toxi/volume/BoxBrush.java,
	src.volume/toxi/volume/HashIsoSurface.java,
	src.volume/toxi/volume/IsoSurface.java,
	src.volume/toxi/volume/MarchingCubesIndex.java,
	src.volume/toxi/volume/MeshLatticeBuilder.java,
	src.volume/toxi/volume/MeshVoxelizer.java,
	src.volume/toxi/volume/RoundBrush.java,
	src.volume/toxi/volume/VolumetricBrush.java,
	src.volume/toxi/volume/VolumetricHashMap.java,
	src.volume/toxi/volume/VolumetricSpace.java,
	src.volume/toxi/volume/VolumetricSpaceArray.java:
	adding/updating comments in all source files, renaming Triangle into
	Triangle3D, adding CustomEvents example
	[7b3562f4cdf0] <toxiclibs>

2011-01-02  Karsten Schmidt  <k@postspectacular.com>

	* src.color/toxi/color/Histogram.java, src.core/toxi/geom/Plane.java,
	src.core/toxi/geom/Ray2D.java, src.core/toxi/geom/Ray3D.java,
	src.core/toxi/geom/mesh/Mesh3D.java,
	src.core/toxi/geom/mesh/VertexSelector.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java,
	src.core/toxi/geom/mesh/subdiv/DisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DualDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DualSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/EdgeLengthComparator.java,
	src.core/toxi/geom/mesh/subdiv/FaceCountComparator.java,
	src.core/toxi/geom/mesh/subdiv/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/NormalDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/subdiv/TriSubdivision.java,
	src.core/toxi/util/datatypes/WeightedRandomSet.java:
	adding/correcting javadocs
	[497f7b30c627] <toxiclibs>

2010-12-31  Karsten Schmidt  <k@postspectacular.com>

	* examples/audio-external/HelloULaw/HelloULaw.pde, examples/audio-
	external/HelloULaw/data/phone_ulaw.wav,
	examples/audio/HelloULaw/HelloULaw.pde,
	examples/audio/HelloULaw/data/phone_ulaw.wav,
	examples/color/ImageColors/ImageColors.pde,
	examples/color/MultiColorGradient/MultiColorGradient.pde,
	examples/color/Ranges/Ranges.pde,
	examples/core/geometry/Circle3Points/Circle3Points.pde,
	examples/core/geometry/DashedDottedBox/DashedDottedBox.pde,
	examples/core/geometry/Line2DIntersect/Line2DIntersect.pde,
	examples/core/geometry/PolarUnravel/PolarUnravel.pde,
	examples/core/geometry/Sierpinski/Sierpinski.pde, examples/core/geom
	etry/TriangleCircumCircle/TriangleCircumCircle.pde,
	examples/core/interpolation/BezierTween/BezierTween.pde,
	examples/core/interpolation/LogScaleMap/LogScaleMap.pde,
	examples/core/interpolation/ScaleMapDataViz/ScaleMapDataViz.pde,
	examples/core/interpolation/ZoomLens/ZoomLens.pde,
	examples/core/mapping/LogScaleMap/LogScaleMap.pde,
	examples/core/mapping/ScaleMapDataViz/ScaleMapDataViz.pde,
	examples/core/mapping/TwitterGeo/TwitterGeo.pde,
	examples/core/mapping/TwitterGeo/code/readme.txt,
	examples/core/mesh/BezierPatchSimple/BezierPatchSimple.pde,
	examples/core/mesh/MeshDoodle/MeshDoodle.pde,
	examples/core/mesh/MeshFaceExtrude/MeshFaceExtrude.pde,
	examples/core/mesh/MobiusStripe/MobiusStripe.pde,
	examples/core/mesh/OBJSTLStreamExport/OBJSTLStreamExport.pde,
	examples/core/mesh/STLImportTest/STLImportTest.pde, examples/core/me
	sh/SphericalHarmonicsMeshBuilder/SphericalHarmonicsMeshBuilder.pde, e
	xamples/core/mesh/SuperEllipsoidMeshBuilder/SuperEllipsoidMeshBuilde
	r.pde, examples/core/mesh/TerrainSteering/Car.pde,
	examples/core/mesh/TerrainSteering/TerrainSteering.pde,
	examples/core/splines/SplineFeatures/SplineFeatures.pde,
	examples/data/FlickrAtom/FlickrAtom.pde,
	examples/p5/GeometryInStyle/GeometryInStyle.pde,
	examples/physics/Attraction2D/Attraction2D.pde,
	examples/physics/BoxConstraintDemo/BoxConstraintDemo.pde,
	examples/physics/DraggableParticles/DraggableParticles.pde,
	examples/physics/InflateMesh/InflateMesh.pde,
	examples/physics/JoinedCatenary/JoinedCatenary.pde,
	examples/physics/JoinedCatenary/Mesh.pde,
	examples/physics/JoinedCatenary/Voxel.pde,
	examples/volume/AnimatedNoise/AnimatedNoise.pde,
	examples/volume/ImplicitFunction/ImplicitFunction.pde,
	examples/volume/ImplicitFunction/Volume.pde,
	examples/volume/MRISurface/MRISurface.pde,
	examples/volume/NoiseSurface/NoiseSurface.pde,
	examples/volume/VoxelizeMesh/VoxelizeMesh.pde,
	src.core/toxi/geom/Triangle2D.java,
	src.core/toxi/geom/mesh/Terrain.java,
	src.p5/toxi/processing/ToxiclibsSupport.java,
	src.volume/toxi/volume/MeshVoxelizer.java:
	updating & testing ALL existing demos/examples with syntax changes &
	comments, adding new demos, minor updates ToxiclibsSupport and
	MeshVoxelizer classes, added Triangle2D.fromBarycentric(), adding
	more Terrain.toMesh() versions to be more compatible with other
	primitives
	[79344cb5ea8f] <toxiclibs>

2010-12-29  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/Terrain.java:
	fixing Terrain.toMesh(groundLevel) to not override original vertices
	also used for collision detection
	[5efdd667e7b9] <toxiclibs>

2010-11-25  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/TriangleMesh.java:
	adding TriangleMesh.updateVertex()
	[18e02342d519] <toxiclibs>

2010-11-20  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Rect.java:
	updating/simplifying Rect.intersectsRect() method
	[a16cede206a6] <toxiclibs>

2010-11-14  Karsten Schmidt  <k@postspectacular.com>

	* examples/core/AdditiveWaves/AdditiveWaves.pde,
	examples/core/ArcPolarCoordinates/ArcPolarCoordinates.pde,
	examples/core/BezierTween/BezierTween.pde,
	examples/core/BiasedRangeHistogram/BiasedRangeHistogram.pde,
	examples/core/CircleTangentPoint/CircleTangentPoint.pde,
	examples/core/DashedDottedBox/DashedDottedBox.pde,
	examples/core/FileSequence/FileSequence.pde,
	examples/core/FileSequence/data/cloud-100.png,
	examples/core/FileSequence/data/cloud-101.png,
	examples/core/FileSequence/data/cloud-102.png,
	examples/core/FileSequence/data/cloud-103.png,
	examples/core/FileSequence/data/cloud-104.png,
	examples/core/FileSequence/data/cloud-105.png,
	examples/core/FileSequence/data/cloud-106.png,
	examples/core/FileSequence/data/cloud-107.png,
	examples/core/FileSequence/data/cloud-108.png,
	examples/core/FileSequence/data/cloud-109.png,
	examples/core/FileSequence/data/cloud-110.png,
	examples/core/FileSequence/data/cloud-111.png,
	examples/core/FileSequence/data/cloud-112.png,
	examples/core/FileSequence/data/cloud-113.png,
	examples/core/FileSequence/data/cloud-114.png,
	examples/core/FileSequence/data/cloud-115.png,
	examples/core/FileSequence/data/cloud-116.png,
	examples/core/FileSequence/data/cloud-117.png,
	examples/core/FileSequence/data/cloud-118.png,
	examples/core/FileSequence/data/cloud-119.png,
	examples/core/FileSequence/data/cloud-120.png,
	examples/core/FileSequence/data/cloud-121.png,
	examples/core/FileSequence/data/cloud-122.png,
	examples/core/FileSequence/data/cloud-123.png,
	examples/core/FileSequence/data/cloud-124.png,
	examples/core/FileSequence/data/cloud-125.png,
	examples/core/FileSequence/data/cloud-126.png,
	examples/core/FileSequence/data/cloud-127.png,
	examples/core/FileSequence/data/cloud-128.png,
	examples/core/FileSequence/data/cloud-129.png,
	examples/core/InterpolateGrid/InterpolateGrid.pde,
	examples/core/InterpolateTest/InterpolateTest.pde,
	examples/core/LennyExplorer/Boundaries.pde,
	examples/core/LennyExplorer/LennyExplorer.pde,
	examples/core/LennyExplorer/Path.pde,
	examples/core/Line2DIntersect/Line2DIntersect.pde,
	examples/core/LogScaleMap/LogScaleMap.pde,
	examples/core/MeshAlignToAxis/MeshAlignToAxis.pde,
	examples/core/MeshDoodle/MeshDoodle.pde,
	examples/core/MeshFaceExtrude/MeshFaceExtrude.pde,
	examples/core/OBJSTLStreamExport/OBJSTLStreamExport.pde,
	examples/core/OctreeDemo/OctreeDemo.pde,
	examples/core/OctreeDemo/VisibleOctree.pde,
	examples/core/PolarLines/PolarLines.pde,
	examples/core/PolarUnravel/PolarUnravel.pde,
	examples/core/PolygonClipping/PolygonClipping.pde,
	examples/core/RayReflectSphere/RayReflectSphere.pde,
	examples/core/STLImportTest/STLImportTest.pde,
	examples/core/STLImportTest/mesh-flipped.stl,
	examples/core/STLImportTest/mesh.stl,
	examples/core/ScaleMapDataViz/ScaleMapDataViz.pde,
	examples/core/ShiffmanFlocking/Boid.pde,
	examples/core/ShiffmanFlocking/Flock.pde,
	examples/core/ShiffmanFlocking/ShiffmanFlocking.pde,
	examples/core/ShiffmanFlocking3D/Boid.pde,
	examples/core/ShiffmanFlocking3D/Flock.pde,
	examples/core/ShiffmanFlocking3D/ShiffmanFlocking3D.pde,
	examples/core/SimplexNoiseTest/SimplexNoiseTest.pde,
	examples/core/SmoothDoodle/SmoothDoodle.pde, examples/core/Spherical
	HarmonicsMeshBuilder/SphericalHarmonicsMeshBuilder.pde,
	examples/core/SplineBlobTest/Spine.pde,
	examples/core/SplineBlobTest/SpineSplineBlob.pde,
	examples/core/SplineBlobTest/SplineBlob.pde,
	examples/core/SplineBlobTest/SplineBlobTest.pde,
	examples/core/SplineFeatures/SplineFeatures.pde,
	examples/core/SplineTightness/SplineTightness.pde, examples/core/Sup
	erEllipsoidMeshBuilder/SuperEllipsoidMeshBuilder.pde,
	examples/core/TerrainSteering/Car.pde,
	examples/core/TerrainSteering/TerrainSteering.pde,
	examples/core/TriangleCircumCircle/TriangleCircumCircle.pde,
	examples/core/WheelInsets/WheelInsets.pde,
	examples/core/ZoomLens/ZoomLens.pde,
	examples/core/geometry/ArcPolarCoordinates/ArcPolarCoordinates.pde,
	examples/core/geometry/Circle3Points/Circle3Points.pde,
	examples/core/geometry/CircleTangentPoint/CircleTangentPoint.pde,
	examples/core/geometry/DashedDottedBox/DashedDottedBox.pde,
	examples/core/geometry/LennyExplorer/Boundaries.pde,
	examples/core/geometry/LennyExplorer/LennyExplorer.pde,
	examples/core/geometry/LennyExplorer/Path.pde,
	examples/core/geometry/Line2DIntersect/Line2DIntersect.pde,
	examples/core/geometry/OctreeDemo/OctreeDemo.pde,
	examples/core/geometry/OctreeDemo/VisibleOctree.pde,
	examples/core/geometry/PolarLines/PolarLines.pde,
	examples/core/geometry/PolarUnravel/PolarUnravel.pde,
	examples/core/geometry/PolygonClipping/PolygonClipping.pde,
	examples/core/geometry/RayReflectSphere/RayReflectSphere.pde, exampl
	es/core/geometry/TriangleCircumCircle/TriangleCircumCircle.pde,
	examples/core/geometry/WheelInsets/WheelInsets.pde,
	examples/core/interpolation/BezierTween/BezierTween.pde,
	examples/core/interpolation/InterpolateGrid/InterpolateGrid.pde,
	examples/core/interpolation/InterpolateTest/InterpolateTest.pde,
	examples/core/interpolation/LogScaleMap/LogScaleMap.pde,
	examples/core/interpolation/ScaleMapDataViz/ScaleMapDataViz.pde,
	examples/core/interpolation/ZoomLens/ZoomLens.pde,
	examples/core/math/AdditiveWaves/AdditiveWaves.pde,
	examples/core/math/BiasedRangeHistogram/BiasedRangeHistogram.pde,
	examples/core/math/SimplexNoiseTest/SimplexNoiseTest.pde,
	examples/core/mesh/MeshAlignToAxis/MeshAlignToAxis.pde,
	examples/core/mesh/MeshCutPlanes/MeshCutPlanes.pde,
	examples/core/mesh/MeshDoodle/MeshDoodle.pde,
	examples/core/mesh/MeshFaceExtrude/MeshFaceExtrude.pde,
	examples/core/mesh/OBJSTLStreamExport/OBJSTLStreamExport.pde,
	examples/core/mesh/STLImportTest/STLImportTest.pde,
	examples/core/mesh/STLImportTest/mesh-flipped.stl,
	examples/core/mesh/STLImportTest/mesh.stl, examples/core/mesh/Spheri
	calHarmonicsMeshBuilder/SphericalHarmonicsMeshBuilder.pde, examples/
	core/mesh/SuperEllipsoidMeshBuilder/SuperEllipsoidMeshBuilder.pde,
	examples/core/mesh/TerrainSteering/Car.pde,
	examples/core/mesh/TerrainSteering/TerrainSteering.pde,
	examples/core/misc/FileSequence/FileSequence.pde,
	examples/core/misc/FileSequence/data/cloud-100.png,
	examples/core/misc/FileSequence/data/cloud-101.png,
	examples/core/misc/FileSequence/data/cloud-102.png,
	examples/core/misc/FileSequence/data/cloud-103.png,
	examples/core/misc/FileSequence/data/cloud-104.png,
	examples/core/misc/FileSequence/data/cloud-105.png,
	examples/core/misc/FileSequence/data/cloud-106.png,
	examples/core/misc/FileSequence/data/cloud-107.png,
	examples/core/misc/FileSequence/data/cloud-108.png,
	examples/core/misc/FileSequence/data/cloud-109.png,
	examples/core/misc/FileSequence/data/cloud-110.png,
	examples/core/misc/FileSequence/data/cloud-111.png,
	examples/core/misc/FileSequence/data/cloud-112.png,
	examples/core/misc/FileSequence/data/cloud-113.png,
	examples/core/misc/FileSequence/data/cloud-114.png,
	examples/core/misc/FileSequence/data/cloud-115.png,
	examples/core/misc/FileSequence/data/cloud-116.png,
	examples/core/misc/FileSequence/data/cloud-117.png,
	examples/core/misc/FileSequence/data/cloud-118.png,
	examples/core/misc/FileSequence/data/cloud-119.png,
	examples/core/misc/FileSequence/data/cloud-120.png,
	examples/core/misc/FileSequence/data/cloud-121.png,
	examples/core/misc/FileSequence/data/cloud-122.png,
	examples/core/misc/FileSequence/data/cloud-123.png,
	examples/core/misc/FileSequence/data/cloud-124.png,
	examples/core/misc/FileSequence/data/cloud-125.png,
	examples/core/misc/FileSequence/data/cloud-126.png,
	examples/core/misc/FileSequence/data/cloud-127.png,
	examples/core/misc/FileSequence/data/cloud-128.png,
	examples/core/misc/FileSequence/data/cloud-129.png,
	examples/core/misc/ShiffmanFlocking/Boid.pde,
	examples/core/misc/ShiffmanFlocking/Flock.pde,
	examples/core/misc/ShiffmanFlocking/ShiffmanFlocking.pde,
	examples/core/misc/ShiffmanFlocking3D/Boid.pde,
	examples/core/misc/ShiffmanFlocking3D/Flock.pde,
	examples/core/misc/ShiffmanFlocking3D/ShiffmanFlocking3D.pde,
	examples/core/splines/SmoothDoodle/SmoothDoodle.pde,
	examples/core/splines/SplineBlobTest/Spine.pde,
	examples/core/splines/SplineBlobTest/SpineSplineBlob.pde,
	examples/core/splines/SplineBlobTest/SplineBlob.pde,
	examples/core/splines/SplineBlobTest/SplineBlobTest.pde,
	examples/core/splines/SplineFeatures/SplineFeatures.pde,
	examples/core/splines/SplineTightness/SplineTightness.pde,
	src.core/toxi/geom/Circle.java, src.core/toxi/geom/Ray2D.java,
	src.core/toxi/geom/Ray3D.java,
	src.core/toxi/geom/Ray3DIntersector.java,
	src.p5/toxi/processing/ToxiclibsSupport.java,
	src.test/toxi/test/Circle3.java:
	updating circle & ray classes, adding test sketches, restructuring
	examples folder
	[4a6521be5907] <toxiclibs>

2010-11-11  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/math/SinCosLUT.java,
	src.core/toxi/math/noise/PerlinNoise.java:
	refactoring SinCosLUT into a non-static class in order to support
	instances with varying precisions, updating PerlinNoise to reflect
	changes
	[c77451ac3fb2] <toxiclibs>

	* src.core/toxi/util/datatypes/ArrayUtil.java:
	adding ArrayUtil.normalizeFloatArray()
	[0bfea80d1106] <toxiclibs>

2010-11-09  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/MeshFilterStrategy.java:
	merging with 99aca9be6303
	[6c9ba6fa0b10] <toxiclibs>

2010-11-08  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Circle.java:
	adding factory methods incl. javadocs to Circle class: from2Points()
	& from3Points()
	[1475b4ff933e] <toxiclibs>

2010-10-27  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Polygon2D.java:
	adding Polygon2D.smooth(), a laplacian-style smoothing for polygon
	vertices
	[66f9a92b406e] <toxiclibs>

	* src.core/toxi/geom/Vec2D.java:
	bugfix Vec2D.jitter(), now returning Vec2D (instead of
	ReadonlyVec2D)
	[9e495b59f233] <toxiclibs>

	* src.core/toxi/util/DateUtils.java:
	refactored timeStamp() methods in DateUtils, adding timezone support
	and presets for GMT
	[a66ddbdf5b49] <toxiclibs>

2010-11-04  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Plane.java,
	src.core/toxi/geom/mesh/BoxSelector.java,
	src.core/toxi/geom/mesh/PlaneSelector.java,
	src.core/toxi/geom/mesh/VertexSelector.java:
	refactoring VertexSelector selection operations to take other
	selectors as argument and check for mesh identity (needs to be
	assigned to same mesh), adding BoxSelector, renaming Plane
	classifier enums, adding javadocs
	[28b5f75fe4e1] <toxiclibs>

	* src.core/toxi/geom/mesh/DefaultSelector.java,
	src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/PlaneSelector.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/VertexSelector.java,
	src.core/toxi/geom/mesh/WEMeshFilterStrategy.java:
	refactoring VertexSelector classes to implement fluid interfaces for
	method chaining, added selector based version of LaplacianSmooth
	filter to only apply to selected vertices
	[32126ab48882] <toxiclibs>

	* src.core/toxi/geom/mesh/subdiv/DisplacementSubdivision.java:
	adding invertAmp() and scaleAmp() methods to DisplacementSubdivision
	parent class and adding fluid api pattern for these and existing
	setAmp()
	[ce712805824d] <toxiclibs>

	* src.core/toxi/geom/mesh/DefaultSelector.java,
	src.core/toxi/geom/mesh/PlaneSelector.java,
	src.core/toxi/geom/mesh/VertexSelector.java:
	refactoring VertexSelector into abstract class with new HashSet
	based selection collection and boolean set operations to merge
	multiple selections, refactoring PlaneSelector to work with any
	Plane instance and not be limited to major axis aligned planes and
	added classification and tolerance param, added DefaultSelector
	implementation which selects entire mesh
	[bed9512162ef] <toxiclibs>

	* src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/MeshFilterStrategy.java,
	src.core/toxi/geom/mesh/WEMeshFilterStrategy.java:
	renaming MeshFilterStrategy into WEMeshFilterStrategy and adding 2nd
	filter() method signature for applying to a vertex selection only
	[ca16d3e091ea] <toxiclibs>

	* src.core/toxi/geom/mesh/WETriangleMesh.java:
	adding removeVertices() to WETriangleMesh
	[2de3a61e2b75] <toxiclibs>

	* src.core/toxi/geom/mesh/Face.java:
	adding toTriangle() conversion to mesh Face class
	[eb9901188908] <toxiclibs>

	* 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/Sphere.java,
	src.core/toxi/geom/mesh/BezierPatch.java,
	src.core/toxi/geom/mesh/SurfaceMeshBuilder.java:
	updating toMesh() methods in all supported types to also take
	optionally pre-existing mesh container to which to add to,
	refactoring Plane.classifyPoint() to work with tolerance and
	returning classification as an enum constant rather than int
	[e2200fd8fefe] <toxiclibs>

2010-10-19  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/util/datatypes/WeightedRandomSet.java,
	src.test/toxi/test/WeightedRandomTest.java:
	bug fix WeightedRandomSet to allow equal-weighted options (needed to
	remove internal use of TreeSet and replaced with insertion-sort in
	add() method), updated unit test
	[d99ae4dbbc47] <toxiclibs>

2010-10-15  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/PlaneSelector.java,
	src.core/toxi/geom/mesh/VertexSelector.java,
	src.test/toxi/test/WeightedRandomTest.java:
	updating changelogs, version numbers, updating Line2D & Triangle
	tests, adding first VertexSelector implementation (plane selector),
	adding testcase for weighted-random distribution
	[47c02d76c5cb] <toxiclibs>

2010-10-14  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/Terrain.java:
	updating/improving Terrain.toMesh() to construct bottom plane out of
	triangles the size of gridcells, rather than 2 large ones covering
	entire size. This was causing problems with mesh
	smoothing/subdivisions. fixed now.
	[26a594880b63] <toxiclibs>

2010-10-11  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/util/datatypes/WeightedRandomEntry.java,
	src.core/toxi/util/datatypes/WeightedRandomSet.java:
	adding weighted-random distribution set (WeightedRandomSet) to
	toxi.util.datatypes
	[9246de0d9e1e] <toxiclibs>

	* src.core/toxi/geom/Vec3D.java:
	adding shuffle() to Vec3D
	[ea16d7aef4dd] <toxiclibs>

	* src.core/toxi/geom/Triangle2D.java:
	adding adjustTriangleSizeBy(), copy(), flipVertexOrder(),
	getBounds() & intersectsTriangle()
	[3c5fcf642bfd] <toxiclibs>

	* src.core/toxi/geom/Triangle.java:
	adding flipVertexOrder() and adding support for barycentric
	coordinate conversion
	[b753e7798fbc] <toxiclibs>

	* src.core/toxi/geom/Sphere.java:
	added radius only constructor to Sphere class
	[d56a2e09db72] <toxiclibs>

	* src.core/toxi/geom/Polygon2D.java:
	added varargs constructor to Polygon2D, deprecated
	reverseOrientation, added flipVertexOrder()
	[13f9f23b49bb] <toxiclibs>

	* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java:
	added offsetAndGrowBy() to Line2D/3D
	[873aee17a1fe] <toxiclibs>

2010-09-19  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/DualDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/DualSubdivision.java,
	src.core/toxi/geom/mesh/EdgeLengthComparator.java,
	src.core/toxi/geom/mesh/FaceCountComparator.java,
	src.core/toxi/geom/mesh/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/TriSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DualDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/DualSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/EdgeLengthComparator.java,
	src.core/toxi/geom/mesh/subdiv/FaceCountComparator.java,
	src.core/toxi/geom/mesh/subdiv/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/NormalDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/subdiv/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/subdiv/TriSubdivision.java:
	moving all subdivision classes into new package
	toxi.geom.mesh.subdiv, adding new abstract class
	DisplacementSubdivision with amplitude accessors
	[33ec568e109e] <wemesh>

	* src.core/toxi/geom/mesh/WEVertex.java:
	adding removeEdge() to WEVertex
	[189fadcbc22b] <wemesh>

	* src.core/toxi/geom/mesh/WETriangleMesh.java:
	adding uniqueEdgeID counter, adding getEdges(), adding
	subdivideFaceEdges(), removing removeUnusedVertices() by fixing bugs
	when removing faces/edges, fixed bug in removeFace() which would
	still use method in TriangleMesh parent class only
	[4f5dca803afc] <wemesh>

	* src.core/toxi/geom/mesh/TriangleMesh.java:
	adding uniqueVertexID counter and updating perforateFace() to return
	new inner triangle
	[d0456b4f3873] <wemesh>

	* src.core/toxi/geom/mesh/FilterStrategy.java,
	src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/MeshFilterStrategy.java:
	renamed FilterStrategy into MeshFilterStrategy, updated
	LaplacianSmooth
	[7841082ed018] <wemesh>

	* src.core/toxi/geom/mesh/SphereFunction.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:
	adding SphereFunction and minor refactoring to SurfaceMeshBuilder
	(reusing vectors, adding support for closed/open meshes)
	[26a77121d36d] <wemesh>

	* src.core/toxi/geom/AABB.java:
	added size-only constructor
	[e4619278bb19] <wemesh>

2010-09-10  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/BezierPatch.java:
	adding initial BezierPatch from SPOD project with toMesh() support,
	needs refactoring
	[0e0eb868470c] <wemesh>

	* src.core/toxi/math/MathUtils.java:
	updating fastSin()
	[982723209a8a] <wemesh>

2010-09-08  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/util/datatypes/GenericSet.java,
	src.core/toxi/util/datatypes/IntegerSet.java:
	adding handling of empty set creation for GenericSet and IntegerSet
	[c3fb2c3c3c7b] <wemesh>

2010-09-01  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/WETriangleMesh.java:
	removed obsolete interface import from WETriangleMesh
	[98d04ef636c5] <wemesh>

	* src.core/toxi/geom/mesh/TriangleMesh.java:
	adding perforateFace() to TriangleMesh
	[05998e7a2f45] <wemesh>

	* src.core/toxi/geom/Sphere.java:
	adding toMesh() method to Sphere class
	[9ee48983d1cf] <wemesh>

	* src.core/toxi/geom/mesh/SphereFunction.java:
	adding SphereFunction functor to be used by the SurfaceMeshBuilder
	class
	[dbbee434658e] <wemesh>

	* src.core/toxi/geom/mesh/SurfaceMeshBuilder.java:
	adding call to mesh.faceOutwards() at the end of
	SurfaceMeshBuilder.createMesh() for safety
	[0299bf3285c7] <wemesh>

	* src.core/toxi/geom/mesh/Mesh3D.java:
	adding faceOutwards() to Mesh3D
	[cd590dd6a48a] <wemesh>

2010-08-31  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/AABB.java:
	refactored AABB.intersectsTriangle() and replaced 6 testAxis()
	methods with a single one
	[f80abf6c64cb] <wemesh>

	* src.core/toxi/geom/AABB.java:
	adding intersectsTriangle() to AABB class
	[a852f67dada6] <wemesh>

	* src.core/toxi/geom/Triangle.java:
	adding getBoundingBox() to Triangle class
	[6340052ec6fb] <wemesh>

	* src.core/toxi/geom/Plane.java:
	adding getProjectedPoint() to Plane class
	[e3182128053f] <wemesh>

2010-08-14  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:
	adding static factory method: fromSamples() to create ranges from a
	list of values supplied
	[86daab0b4b84] <wemesh>

	* src.core/toxi/geom/mesh/STLWriter.java:
	wrapping DataOutputStream in BufferedOutputStream for MUCH better
	performance (saving 1m polygons in approx. 1sec), adding optional
	constructor to specify buffer size
	[063592120b39] <wemesh>

2010-08-11  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java:
	moving getVertexForID() into TriangleMesh, adding javadocs
	[f712f1d8201d] <wemesh>

	* src.core/toxi/geom/mesh/Mesh3D.java,
	src.core/toxi/geom/mesh/TriangleMesh.java:
	adding getFaces() & getVertices() to Mesh3D
	[e8f25f5f23f2] <wemesh>

	* src.core/toxi/geom/mesh/Mesh3D.java,
	src.core/toxi/geom/mesh/STLReader.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java:
	refactoring STLReader to directly parse into either TriangleMesh or
	WETriangleMesh implementations, adding addMesh() to Mesh3D
	[1240d5a1b61a] <wemesh>

	* src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/Mesh3D.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java:
	more refactoring and bug fixing overridden transform op's in WEMesh
	[7dd4978b1c5f] <wemesh>

	* src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java:
	removed vertices & faces list from WETriangleMesh, reusing the ones
	from parent class
	[beb64742f519] <wemesh>

	* src.core/toxi/geom/AABB.java, src.core/toxi/geom/Cone.java,
	src.core/toxi/geom/Plane.java, src.core/toxi/geom/mesh/Face.java,
	src.core/toxi/geom/mesh/Mesh3D.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/Vertex.java,
	src.core/toxi/geom/mesh/WEFace.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java,
	src.core/toxi/geom/mesh/WEVertex.java:
	refactoring mesh classes by extracting Mesh3D interface, turning
	WETriangleMesh into subclass of TriangleMesh, creating standalone
	Vertex & Face classes and making WEVertex and WEFace subclasses
	[f837532bfc01] <wemesh>

	* src.core/toxi/geom/mesh/DualDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/DualSubdivision.java,
	src.core/toxi/geom/mesh/FaceCountComparator.java,
	src.core/toxi/geom/mesh/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/TriSubdivision.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java:
	refactoring SubdivisionStrategy into an abstract class, extracted
	edge ordering into standalone Comparator implementations
	(EdgeLengthComparator & FaceCountComparator), added
	DualDisplacementSubdivision
	[00f9ea5bf727] <wemesh>

2010-08-10  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/AABB.java, src.core/toxi/geom/Cone.java,
	src.core/toxi/geom/Line3D.java, src.core/toxi/geom/Plane.java,
	src.core/toxi/geom/mesh/DualSubdivision.java,
	src.core/toxi/geom/mesh/EdgeLengthComparator.java,
	src.core/toxi/geom/mesh/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/TriSubdivision.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java,
	src.test/toxi/test/LatticeTest.java,
	src.test/toxi/test/SubdivTest.java:
	refactoring SubdivisionStrategies to return a list of split points
	for each edge, simplifying WEMesh.splitFace() by adding new version
	of addFace() taking a reference normal vector which then defines
	vertex ordering for that face, adding same to normal TriangleMesh,
	updating toMesh() functions for types in geom package, adding Dual &
	TriSubdivision, adding EdgeLengthComparator
	[efc834503da8] <wemesh>

2010-08-09  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/mesh/FilterStrategy.java,
	src.core/toxi/geom/mesh/LaplacianSmooth.java,
	src.core/toxi/geom/mesh/MidpointDisplacementSubdivision.java,
	src.core/toxi/geom/mesh/MidpointSubdivision.java,
	src.core/toxi/geom/mesh/SubdivisionStrategy.java,
	src.core/toxi/geom/mesh/TriangleMesh.java,
	src.core/toxi/geom/mesh/WEFace.java,
	src.core/toxi/geom/mesh/WETriangleMesh.java,
	src.core/toxi/geom/mesh/WEVertex.java,
	src.core/toxi/geom/mesh/WingedEdge.java:
	adding initial winged-edge mesh architecture to toxi.geom.mesh
	package (WE classes, subdivision and filter strategies)
	[6b2698dc69cf] <wemesh>

2010-07-30  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/AABB.java,
	src.test/toxi/test/geom/AABBIsecTest.java:
	adding AABB.includePoint() and test case
	[2dba35f332e9] <toxiclibs>

	* src.core/toxi/geom/ReadonlyVec2D.java,
	src.core/toxi/geom/ReadonlyVec3D.java,
	src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
	adding isMajorAxis() to ReadonlyVec2D/3D, adding toArray4() to Vec3D
	[12eaa924d96e] <toxiclibs>

2010-07-27  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Line3D.java:
	added closestLineTo() method to compute intersection line between 2
	given line segments, intersection result is encapsulated as a
	Line3D.LineIntersection instance, which can be queried further
	[0b1781eca96a] <toxiclibs>

	* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java:
	adding getLengthSquared() and hasEndPoint() to Line2D/3D
	[24aee632bbe0] <toxiclibs>

2010-07-25  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java:
	adding roundToAxis() to Vec2D/Vec3D
	[a2f445c8148d] <toxiclibs>

2010-07-23  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/util/FileUtils.java:
	minor updates to stream creators
	[2699938d41c1] <toxiclibs>

	* src.core/toxi/geom/mesh/TriangleMesh.java:
	adding getFaceNormalsAsArray() and adding default stride constant,
	changing default stride to 4 for getXXXAsArray() methods
	[07e49312b5e1] <toxiclibs>

	* src.core/toxi/geom/mesh/STLReader.java:
	major performance update (8x-10x faster) for loadBinary, now using
	BufferedInputStream and supporting configurable buffer sizes,
	loadBinary(String) now using FileUtils.createInputStream and
	supports gzipped files
	[5d62168976d2] <toxiclibs>

	* src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java,
	src.test/toxi/test/geom/Line2DTest.java,
	src.test/toxi/test/geom/Line3DTest.java:
	adding hashCode() & equals() methods to Line2D/3D, updating/adding
	test cases
	[032525a9eeb5] <toxiclibs>

2010-07-22  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/math/Interpolation2D.java,
	src.test/toxi/test/BilinearTest.java:
	bug fix in Vec2D arg version of Interpolation2D.bilinear(),
	corrected point order and updated test case
	[1c5efe07afb1] <toxiclibs>

2010-07-21  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/math/BezierInterpolation.java:
	updating javadocs
	[2572b96dc069] <toxiclibs>

	* src.core/toxi/math/BezierInterpolation.java,
	src.test/toxi/test/BezierTest.java:
	adding BezierInterpolation and test applet
	[22d2ddfbcf83] <toxiclibs>

2010-07-20  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/geom/Rect.java:
	fixed issue in Rect.intersectsRect() which didn't catch the case
	when the checked rect is fully contained in a larger one it is
	intersected with
	[05436b5e3a0f] <toxiclibs>

2010-07-19  Karsten Schmidt  <k@postspectacular.com>

	* src.core/toxi/util/datatypes/GenericSet.java,
	src.core/toxi/util/datatypes/IntegerSet.java,
	src.test/toxi/test/ArrayUtilTest.java:
	adding varargs constructors to IntegerSet and GenericSet, updating
	test case in ArrayUtilsTest
	[6861db2ec9c4] <toxiclibs>

	* src.core/toxi/util/DateUtils.java,
	src.core/toxi/util/FileUtils.java:
	updating/improving flexibility of file name analysis in
	FileUtils.getFileSequenceDescriptor() method, adding separator
	dashes for time component in DateUtils.timeStamp()
	[4b22cde81b25] <toxiclibs>

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>

