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>

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

	* src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/behaviors/AttractionBehavior.java,
	src.physics/toxi/physics/behaviors/ConstantForceBehavior.java,
	src.physics/toxi/physics/behaviors/ForceBehavior.java,
	src.physics/toxi/physics/behaviors/GravityBehavior.java,
	src.physics/toxi/physics2d/behaviors/AttractionBehavior.java,
	src.physics/toxi/physics2d/behaviors/ConstantForceBehavior.java,
	src.physics/toxi/physics2d/behaviors/ForceBehavior.java,
	src.physics/toxi/physics2d/behaviors/GravityBehavior.java:
	reflecting VerletPhysics2D API updates in 3D version, renaming
	ForceBehavior into ConstantForceBehavior, updating AttrationBehavior
	to add support for jittering, removing drag from GravityBehavior
	(now applied as velocity damper in VerletPhysics directly)
	[44a222249af3] <toxiclibs>

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

	* src.physics/toxi/physics2d/constraints/Particle2DConstraint.java:
	merged with 6ea28d1afcb4
	[79d3c04cfc62] <toxiclibs>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/behaviors/AttractionBehavior.java,
	src.physics/toxi/physics/behaviors/ForceBehavior.java,
	src.physics/toxi/physics/behaviors/GravityBehavior.java,
	src.physics/toxi/physics/behaviors/ParticleBehavior.java,
	src.physics/toxi/physics/constraints/ParticleConstraint.java,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java,
	src.physics/toxi/physics2d/behaviors/AttractionBehavior.java,
	src.physics/toxi/physics2d/behaviors/ForceBehavior.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/Particle2DConstraint.java,
	src.physics/toxi/physics2d/constraints/ParticleConstraint2D.java,
	src.physics/toxi/physics2d/constraints/RectConstraint.java:
	major refactoring of all physics core classes: introducing
	toxi.physics.behaviors package and ParticleBehavior interface to
	provide a more flexible means of dealing with behavior attributes
	assigned to particles on both global & individual scales. Adding
	AttractionBehavior to implement Inverse SQRT attraction dynamics
	between particles, removing gravity as field from VerletPhysics and
	refactored into GravityBehavior (that way we can also implement
	radial gravity (inflation)), also changed/improved the function of
	the "drag" parameter to not be related to gravity force, but
	actually dampen particle velocities over time (more useful)
	[6a90c00ff564] <toxiclibs>

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

	* src.physics/toxi/physics/PullBackString.java,
	src.physics/toxi/physics/VerletMinDistanceSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics2d/ParticleString2D.java,
	src.physics/toxi/physics2d/PullBackString2D.java,
	src.physics/toxi/physics2d/VerletMinDistanceSpring2D.java,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java:
	adding PullBackSpring classes and refactoring all other springs to
	use setters/getters for strength and rest length settings, also
	changed visibility of VerletParticle.updateParticle() to public
	[6a940e677187] <toxiclibs>

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>

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

	* src.physics/toxi/physics/constraints/BoxConstraint.java:
	bug fix BoxConstraint to handle collisions based on actual particle
	velocity and adding restitution handling
	[867cb87c6a5d] <toxiclibs>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics2d/VerletParticle2D.java:
	adding getVelocity() and setPreviousPosition() methods
	[2452f1469901] <toxiclibs>

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

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics2d/VerletParticle2D.java:
	adding getInvWeight() and making this & other getters final
	[70131b3a93c8] <toxiclibs>

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

	* src.physics/toxi/physics/ParticlePath.java,
	src.physics/toxi/physics2d/ParticlePath2D.java:
	updating ParticlePath2D/3D to reflect changes to
	Spline2D/3D.getDecimatedVertices()
	[6c87a05d5f5a] <toxiclibs>

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

	* src.physics/toxi/physics2d/ParticleString2D.java:
	refactored, now using an internal copy of the pos parameter vector
	for linear string constructor so that original doesn't get changed
	[46ebc21a8b58] <toxiclibs>

	* src.physics/toxi/physics/ParticleString.java:
	refactored, now using an internal copy of the pos parameter vector
	for linear string constructor so that original doesn't get changed
	[5e129370ae61] <toxiclibs>

2010-02-16  Karsten Schmidt  <k@postspectacular.com>

	* src.physics/toxi/physics2d/ParticlePath2D.java,
	src.physics/toxi/physics2d/ParticleString2D.java:
	adding 2D versions of ParticlePath & ParticleString classes
	[bb4b51a16e6b] <toxiclibs>

	* src.physics/toxi/physics/ParticleString.java:
	fixing javadocs
	[fe54cb6b1e5d] <toxiclibs>

2010-02-05  Karsten Schmidt  <k@postspectacular.com>

	* examples/physics/BoxConstraintDemo/BoxConstraintDemo.pde,
	examples/physics/BoxFluidDemo/BoxFluidDemo.pde,
	examples/physics/BoxFluidDemo/Mesh.pde,
	examples/physics/BoxFluidDemo/Physics.pde,
	examples/physics/SoftBodySquare/SoftBodySquare.pde,
	examples/physics/ThreadSphere/ThreadSphere.pde,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java:
	renaming friction into drag, making it along with all other physics
	engine parameters protected, adding getters & setters instead of
	direct field access, updating all physics demos to reflect these
	changes
	[a461cb72edef] <toxiclibs>

	* ant/build_physics.xml, src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java:
	setting default timestep to 1.0 to adapt to improved mass/velocity
	logic, updating version number to 0006 in build file
	[e0333f818db1] <toxiclibs>

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

	* src.physics/toxi/physics2d/constraints/CircularConstraint.java:
	updating changes to Circle class in CircularConstraint
	[723493c85813] <toxiclibs>

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

	* src.physics/toxi/physics/constraints/PlaneConstraint.java,
	src.physics/toxi/physics/constraints/SphereConstraint.java,
	src.physics/toxi/physics2d/constraints/RectConstraint.java:
	fixing SphereConstraint to work with spheres not located at world
	origin, minor updates to PlaneConstraint & RectConstraint
	[0aae684d9cf1] <toxiclibs>

	* src.physics/toxi/physics/constraints/MaxConstraint.java,
	src.physics/toxi/physics/constraints/MinConstraint.java,
	src.physics/toxi/physics/constraints/MinXConstraint.java,
	src.physics/toxi/physics/constraints/MinYConstraint.java,
	src.physics/toxi/physics/constraints/MinZConstraint.java,
	src.physics/toxi/physics2d/constraints/MaxConstraint.java,
	src.physics/toxi/physics2d/constraints/MinConstraint.java:
	refactoring MinX/Y/ZConstraint (removed) into MinConstraint only,
	but using Vec2D/3D's new reflective Axis accessors for flexibility,
	adding MaxConstraint too
	[3288724742d9] <toxiclibs>

	* src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java:
	refactoring force application when updating particles to be more
	correct (at least according to teknikus paper), adding static
	addConstraintToAll() & removeConstraintFromAll() methods, removing
	protected & now obsolete applyGravity() method
	[cdb3c5bd47cc] <toxiclibs>

	* src.physics/toxi/physics/VerletConstrainedSpring.java,
	src.physics/toxi/physics/VerletMinDistanceSpring.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics2d/VerletConstrainedSpring2D.java,
	src.physics/toxi/physics2d/VerletMinDistanceSpring2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java:
	updating all spring classes to use new invWeight field of
	VerletParticle (2D & 3D versions)
	[0930e9d64ac4] <toxiclibs>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics2d/VerletParticle2D.java:
	correcting & improving velocity handling, adding addVelocity(),
	clearVelocity(), scaleVelocity(), weight is now protected and has
	getter/setter, added invWeight field to speed up spring computations
	[7c257637070e] <toxiclibs>

	* src.physics/toxi/physics/ParticleString.java:
	adding clear() method & javadocs for all
	[d7235b643de5] <toxiclibs>

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

	* src.physics/toxi/physics/ParticlePath.java:
	createParticles() now also calls computeVertices() on the parent
	spline
	[d52ca1319f80] <toxiclibs>

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

	* src.physics/toxi/physics/constraints/AxisConstraint.java,
	src.physics/toxi/physics/constraints/CylinderConstraint.java,
	src.physics/toxi/physics/constraints/PlaneConstraint.java,
	src.physics/toxi/physics/constraints/SoftBoxConstraint.java,
	src.physics/toxi/physics/constraints/XAxisConstraint.java,
	src.physics/toxi/physics/constraints/YAxisConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisCylinderConstraint.java,
	src.physics/toxi/physics2d/constraints/AxisConstraint.java,
	src.physics/toxi/physics2d/constraints/CircularConstraint.java,
	src.physics/toxi/physics2d/constraints/RectConstraint.java,
	src.physics/toxi/physics2d/constraints/XAxisConstraint.java,
	src.physics/toxi/physics2d/constraints/YAxisConstraint.java:
	refactoring ParticleConstraints to utilize new Axis enums in
	Vec2D/3D. replacing X/Y/ZAxisConstraint with new PlaneConstraint
	class, adding AxisConstraint to only restrict a single axis,
	replacing ZAxisCylinderConstraint with the more generic
	CylinderConstraint, adding SoftBoxConstraint. for 2D also adding
	Circular & RectConstraint
	[d135e5d54150] <toxiclibs>

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

	* src.physics/toxi/physics/ParticlePath.java,
	src.physics/toxi/physics/ParticleString.java,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/constraints/BoxConstraint.java,
	src.physics/toxi/physics/constraints/MinXConstraint.java,
	src.physics/toxi/physics/constraints/MinYConstraint.java,
	src.physics/toxi/physics/constraints/MinZConstraint.java,
	src.physics/toxi/physics/constraints/SoftBoxConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisCylinderConstraint.java:
	adding 3D ParticlePath, ParticleString and various new constraint
	types (box, min, softbox, z-cylinder)
	[38f7a3fa6b66] <toxiclibs>

2009-11-15  Karsten Schmidt  <k@postspectacular.com>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics2d/VerletParticle2D.java:
	added isLocked() checks to VerletParticle classes
	[7312c565cb18] <toxiclibs>

2009-06-14  Karsten Schmidt  <k@postspectacular.com>

	* ant/build_physics.xml,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java:
	bug fix in VerletParticle2D.removeConstraint() which wrongly
	expected a 3D constraint instance, now correctly wants
	Particle2DConstraint
	[50a7c38a4b00] <toxiclibs>

2009-04-04  Karsten Schmidt  <k@postspectacular.com>

	* src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java:
	added getCurrentBounds() methods to VerletPhysics to return bounding
	box/rect of current particle positions (useful for view fitting)
	[ac80564163bd] <toxiclibs>

2009-03-22  Karsten Schmidt  <k@postspectacular.com>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/constraints/ParticleConstraint.java,
	src.physics/toxi/physics/constraints/SphereConstraint.java,
	src.physics/toxi/physics2d/VerletParticle2D.java:
	made applyConstraints() public, slight refactoring in
	SphereConstraint and added Javadocs
	[5bcd30f458a9] <toxiclibs>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics2d/VerletParticle2D.java:
	added missing addConstraint & removeConstraint methods to particle
	classes
	[c2ea1a96dfd1] <toxiclibs>

2009-03-16  Karsten Schmidt  <k@postspectacular.com>

	* readme1st/physics/CHANGELOG.txt,
	src.physics/toxi/physics/VerletConstrainedSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics/constraints/ParticleConstraint.java,
	src.physics/toxi/physics/constraints/SphereConstraint.java,
	src.physics/toxi/physics2d/VerletConstrainedSpring2D.java,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java,
	src.physics/toxi/physics2d/constraints/Particle2DConstraint.java:
	adding SphereConstraint for 3D particles physics and refactored
	particle constraints into a 1:M relationship
	[cbcba1cf38f1] <toxiclibs>

2008-12-07  Karsten Schmidt  <k@postspectacular.com>

	* .classpath, lib/gluegen-rt.jar,
	src.image/toxi/color/ColorAccessCriteria.java,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java:
	more new syntax fixes to verletphysics & color, added JOAL libs to
	classpath
	[f1d0d3a00fc3] <toxiclibs>

2008-11-29  Karsten Schmidt  <k@postspectacular.com>

	* 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/physics2d/VerletConstrainedSpring.java,
	src.physics/toxi/physics2d/VerletConstrainedSpring2D.java,
	src.physics/toxi/physics2d/VerletMinDistanceSpring.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/constraints/AngularConstraint.java:
	refactoring of all spring updates (particle constraints are now only
	applied in last iteration of time step), made spring restLength and
	strength protected and added accessors, added accessor for previous
	position to VerletParticle, added AngularConstraint to 2D physics
	[7b59d4ae514a] <toxiclibs>

2008-11-15  Karsten Schmidt  <k@postspectacular.com>

	* ant/build_geom.xml, ant/build_physics.xml,
	src.geom/toxi/geom/Vec2D.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/constraints/IParticleConstraint.java,
	src.physics/toxi/physics/constraints/ParticleConstraint.java,
	src.physics/toxi/physics/constraints/XAxisConstraint.java,
	src.physics/toxi/physics/constraints/YAxisConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisConstraint.java,
	src.physics/toxi/physics2d/VerletConstrainedSpring.java,
	src.physics/toxi/physics2d/VerletMinDistanceSpring.java,
	src.physics/toxi/physics2d/VerletParticle2D.java,
	src.physics/toxi/physics2d/VerletPhysics2D.java,
	src.physics/toxi/physics2d/VerletSpring2D.java,
	src.physics/toxi/physics2d/constraints/Particle2DConstraint.java,
	src.physics/toxi/physics2d/constraints/XAxisConstraint.java,
	src.physics/toxi/physics2d/constraints/YAxisConstraint.java:
	added 2d version of physics engine, renamed IParticleConstraint into
	ParticleConstraint, added getPerpenticular() to Vec2D, updated ant
	build files for next version
	[12923138fd74] <toxiclibs>

2008-10-21  Karsten Schmidt  <k@postspectacular.com>

	* src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/constraints/XAxisConstraint.java,
	src.physics/toxi/physics/constraints/YAxisConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisConstraint.java:
	added call to applyConstraint() in update() to also catch particles
	which are not connected with springs. Added more javadocs too
	[094f1f39cf5d] <toxiclibs>

2008-10-06  Karsten Schmidt  <k@postspectacular.com>

	* .classpath, README, src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/constraints/IParticleConstraint.java,
	src.physics/toxi/physics/constraints/XAxisConstraint.java,
	src.physics/toxi/physics/constraints/YAxisConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisConstraint.java:
	moved constraints into subpackage and fixed build path issues
	[2e83133b4530] <toxiclibs>

	* src.physics/toxi/physics/VerletConstrainedSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics/constraints/IParticleConstraint.java,
	src.physics/toxi/physics/constraints/XAxisConstraint.java,
	src.physics/toxi/physics/constraints/YAxisConstraint.java,
	src.physics/toxi/physics/constraints/ZAxisConstraint.java:
	slight refactoring of VerletParticle to add constraint mechanism
	[7b29c7cf33fb] <toxiclibs>

2008-09-24  Karsten Schmidt  <k@postspectacular.com>

	* src.physics/toxi/physics/VerletPhysics.java:
	fixed bug in alternate constructor which didn't initialize the
	particle & spring arraylists. Thanks Aaron! :)
	[04b40f631804] <toxiclibs>

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

	* src.physics/toxi/physics/VerletMinDistanceSpring.java,
	src.physics/toxi/physics/VerletPhysics.java:
	added MinDistanceSpring class and removal methods for springs and
	particles to VerletPhysics
	[85366c8af039] <toxiclibs>

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

	* src.physics/toxi/physics/VerletConstrainedSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/VerletSpring.java:
	added check for duplicates to addSpring(), added javadocs, new class
	VerletConstrainedSpring and minor refactoring
	[4c52f83b8293] <toxiclibs>

2008-07-17  Karsten Schmidt  <k@postspectacular.com>

	* .classpath, CHANGELOG, LICENSE, LICENSE.txt, ant/build_geom.xml,
	ant/build_physics.xml, examples/geom/SplineBlobTest/Spine.pde,
	examples/geom/SplineBlobTest/SpineSplineBlob.pde,
	examples/geom/SplineBlobTest/SplineBlob.pde,
	examples/geom/SplineBlobTest/SplineBlobTest.pde,
	readme/geom/README.txt, readme/physics/README.txt,
	readme/prefs/README.txt, src.geom/toxi/geom/Spline3D.java,
	src.geom/toxi/physics/VerletParticle.java,
	src.geom/toxi/physics/VerletPhysics.java,
	src.geom/toxi/physics/VerletSpring.java,
	src.physics/toxi/physics/VerletParticle.java,
	src.physics/toxi/physics/VerletPhysics.java,
	src.physics/toxi/physics/VerletSpring.java:
	still restructuring project layout for easier builds (this might be
	semi-broken though at this point)
	[6e2b3abb5ebc] <toxiclibs>

