2011-01-03 Karsten Schmidt * 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] * 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] 2011-01-02 Karsten Schmidt * 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] 2010-12-31 Karsten Schmidt * 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] 2010-12-29 Karsten Schmidt * src.core/toxi/geom/mesh/Terrain.java: fixing Terrain.toMesh(groundLevel) to not override original vertices also used for collision detection [5efdd667e7b9] 2010-11-25 Karsten Schmidt * src.core/toxi/geom/mesh/TriangleMesh.java: adding TriangleMesh.updateVertex() [18e02342d519] 2010-11-20 Karsten Schmidt * src.core/toxi/geom/Rect.java: updating/simplifying Rect.intersectsRect() method [a16cede206a6] 2010-11-14 Karsten Schmidt * 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] 2010-11-11 Karsten Schmidt * 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] * src.core/toxi/util/datatypes/ArrayUtil.java: adding ArrayUtil.normalizeFloatArray() [0bfea80d1106] 2010-11-09 Karsten Schmidt * src.core/toxi/geom/mesh/MeshFilterStrategy.java: merging with 99aca9be6303 [6c9ba6fa0b10] 2010-11-08 Karsten Schmidt * src.core/toxi/geom/Circle.java: adding factory methods incl. javadocs to Circle class: from2Points() & from3Points() [1475b4ff933e] 2010-10-27 Karsten Schmidt * src.core/toxi/geom/Polygon2D.java: adding Polygon2D.smooth(), a laplacian-style smoothing for polygon vertices [66f9a92b406e] * src.core/toxi/geom/Vec2D.java: bugfix Vec2D.jitter(), now returning Vec2D (instead of ReadonlyVec2D) [9e495b59f233] * src.core/toxi/util/DateUtils.java: refactored timeStamp() methods in DateUtils, adding timezone support and presets for GMT [a66ddbdf5b49] 2010-11-04 Karsten Schmidt * 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] * 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] * 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] * 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] * 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] * src.core/toxi/geom/mesh/WETriangleMesh.java: adding removeVertices() to WETriangleMesh [2de3a61e2b75] * src.core/toxi/geom/mesh/Face.java: adding toTriangle() conversion to mesh Face class [eb9901188908] * 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] 2010-10-19 Karsten Schmidt * 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] 2010-10-15 Karsten Schmidt * 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] 2010-10-14 Karsten Schmidt * 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] 2010-10-11 Karsten Schmidt * 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] * src.core/toxi/geom/Vec3D.java: adding shuffle() to Vec3D [ea16d7aef4dd] * src.core/toxi/geom/Triangle2D.java: adding adjustTriangleSizeBy(), copy(), flipVertexOrder(), getBounds() & intersectsTriangle() [3c5fcf642bfd] * src.core/toxi/geom/Triangle.java: adding flipVertexOrder() and adding support for barycentric coordinate conversion [b753e7798fbc] * src.core/toxi/geom/Sphere.java: added radius only constructor to Sphere class [d56a2e09db72] * src.core/toxi/geom/Polygon2D.java: added varargs constructor to Polygon2D, deprecated reverseOrientation, added flipVertexOrder() [13f9f23b49bb] * src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java: added offsetAndGrowBy() to Line2D/3D [873aee17a1fe] 2010-09-19 Karsten Schmidt * 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] * src.core/toxi/geom/mesh/WEVertex.java: adding removeEdge() to WEVertex [189fadcbc22b] * 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] * src.core/toxi/geom/mesh/TriangleMesh.java: adding uniqueVertexID counter and updating perforateFace() to return new inner triangle [d0456b4f3873] * 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] * 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] * src.core/toxi/geom/AABB.java: added size-only constructor [e4619278bb19] 2010-09-10 Karsten Schmidt * src.core/toxi/geom/mesh/BezierPatch.java: adding initial BezierPatch from SPOD project with toMesh() support, needs refactoring [0e0eb868470c] * src.core/toxi/math/MathUtils.java: updating fastSin() [982723209a8a] 2010-09-08 Karsten Schmidt * 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] 2010-09-01 Karsten Schmidt * src.core/toxi/geom/mesh/WETriangleMesh.java: removed obsolete interface import from WETriangleMesh [98d04ef636c5] * src.core/toxi/geom/mesh/TriangleMesh.java: adding perforateFace() to TriangleMesh [05998e7a2f45] * src.core/toxi/geom/Sphere.java: adding toMesh() method to Sphere class [9ee48983d1cf] * src.core/toxi/geom/mesh/SphereFunction.java: adding SphereFunction functor to be used by the SurfaceMeshBuilder class [dbbee434658e] * src.core/toxi/geom/mesh/SurfaceMeshBuilder.java: adding call to mesh.faceOutwards() at the end of SurfaceMeshBuilder.createMesh() for safety [0299bf3285c7] * src.core/toxi/geom/mesh/Mesh3D.java: adding faceOutwards() to Mesh3D [cd590dd6a48a] 2010-08-31 Karsten Schmidt * src.core/toxi/geom/AABB.java: refactored AABB.intersectsTriangle() and replaced 6 testAxis() methods with a single one [f80abf6c64cb] * src.core/toxi/geom/AABB.java: adding intersectsTriangle() to AABB class [a852f67dada6] * src.core/toxi/geom/Triangle.java: adding getBoundingBox() to Triangle class [6340052ec6fb] * src.core/toxi/geom/Plane.java: adding getProjectedPoint() to Plane class [e3182128053f] 2010-08-14 Karsten Schmidt * 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] * 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] 2010-08-11 Karsten Schmidt * src.core/toxi/geom/mesh/TriangleMesh.java, src.core/toxi/geom/mesh/WETriangleMesh.java: moving getVertexForID() into TriangleMesh, adding javadocs [f712f1d8201d] * src.core/toxi/geom/mesh/Mesh3D.java, src.core/toxi/geom/mesh/TriangleMesh.java: adding getFaces() & getVertices() to Mesh3D [e8f25f5f23f2] * 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] * 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] * 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] * 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] * 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] 2010-08-10 Karsten Schmidt * 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] 2010-08-09 Karsten Schmidt * 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] 2010-07-30 Karsten Schmidt * src.core/toxi/geom/AABB.java, src.test/toxi/test/geom/AABBIsecTest.java: adding AABB.includePoint() and test case [2dba35f332e9] * 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] 2010-07-27 Karsten Schmidt * 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] * src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java: adding getLengthSquared() and hasEndPoint() to Line2D/3D [24aee632bbe0] 2010-07-25 Karsten Schmidt * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: adding roundToAxis() to Vec2D/Vec3D [a2f445c8148d] 2010-07-23 Karsten Schmidt * src.core/toxi/util/FileUtils.java: minor updates to stream creators [2699938d41c1] * src.core/toxi/geom/mesh/TriangleMesh.java: adding getFaceNormalsAsArray() and adding default stride constant, changing default stride to 4 for getXXXAsArray() methods [07e49312b5e1] * 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] * 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] 2010-07-22 Karsten Schmidt * 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] 2010-07-21 Karsten Schmidt * src.core/toxi/math/BezierInterpolation.java: updating javadocs [2572b96dc069] * src.core/toxi/math/BezierInterpolation.java, src.test/toxi/test/BezierTest.java: adding BezierInterpolation and test applet [22d2ddfbcf83] 2010-07-20 Karsten Schmidt * 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] 2010-07-19 Karsten Schmidt * 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] * 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] 2010-07-12 Karsten Schmidt * src.core/toxi/util/datatypes/SingletonRegistry.java: minor edit to SingletonRegistry: made REGISTRY final and applied Eclipse formatter [c613f23cfe4a] * 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] * src.core/toxi/util/DateUtils.java: adding DateUtils class, for now only providing a timeStamp function [b26ca7f5062d] * src.core/toxi/util/FileUtils.java: adding createDirectories/InputStream/OutputStream/Reader/Writer, loadBytes, loadText, saveText (ported from PApplet) [17785aea3121] * src.core/toxi/geom/Matrix4x4.java: minor edit: replaced methods taking a Vec3D to use ReadonlyVec3D for better compatibility [42953aff6d54] * src.core/toxi/geom/Polygon2D.java: minor edit: replaced StringBuffer with the faster StringBuilder inside toString() method [b37941d876be] * src.core/toxi/geom/Rect.java: adding getters for left, right, top, bottom coordinates [5c7fa34ec37d] * src.core/toxi/geom/Ellipse.java: adding toPolygon2D() method [d4a906c656c7] 2010-07-06 Karsten Schmidt * 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] 2010-07-05 Karsten Schmidt * 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] 2010-06-29 Karsten Schmidt * src.core/toxi/util/datatypes/ArrayUtil.java: minor javadoc updates [df9ecd29ce29] 2010-06-28 Karsten Schmidt * 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] * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java, src.core/toxi/math/MathUtils.java: updating javadocs [096776291d65] 2010-06-25 Karsten Schmidt * 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] 2010-06-16 Karsten Schmidt * src.core/toxi/util/datatypes/ArrayUtil.java: adding target peak value to getAsNormalizedFloatArray() [c778f53925be] 2010-06-15 Karsten Schmidt * 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] 2010-06-11 Karsten Schmidt * src.core/toxi/geom/PointQuadtree.java: javadoc tweaks [a4678223c271] * src.core/toxi/util/datatypes/ArrayUtil.java: adding getAsNormalizedFloatArray() method to ArrayUtil [df1c99334548] 2010-06-06 Karsten Schmidt * src.core/toxi/geom/PointQuadtree.java: adding PointQuadtree class for Vec2D [841657c7ab31] * src.core/toxi/geom/PointOctree.java: PointOctree.setMinNodeSize() now specifies the actual (not half) size required [e40f1a83b962] * src.core/toxi/geom/Rect.java: made Rect.containsPoint() non-final again [425b370e3618] * 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] 2010-06-03 Karsten Schmidt * src.core/toxi/geom/Line2D.java: made Line2D.LineIntersection.getPos() return a Vec2D instead of ReadonlyVec2D [e660a973f246] 2010-05-31 Karsten Schmidt * 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] * src.core/toxi/util/FileSequenceDescriptor.java: adding getBasePath() and getStartIndex() to FSD [a0715069a7ae] 2010-05-26 Karsten Schmidt * 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] 2010-05-24 Karsten Schmidt * 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] * 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] * src.core/toxi/geom/PointList.java: removing obsolete PointList class [a6040d1fcb60] * src.core/toxi/geom/Matrix4x4.java: adding applyToSelf() method to directly apply matrix to given vector (instead of producing a transformed copy) [228206f088bb] * 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] * 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] * 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] 2010-05-21 Karsten Schmidt * .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] 2010-05-20 Karsten Schmidt * 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] * 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] * 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] 2010-05-19 Karsten Schmidt * src.core/toxi/geom/AABB.java: adding getNormalForPoint() [7edf755662f2] * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: adding getComponent()/setComponent() methods for accessing vectors in array style [93423d1819bf] 2010-05-16 Karsten Schmidt * src.core/toxi/geom/Matrix4x4.java: fixed issue #3 in Matrix4x4.scaleSelf() - thanks to Tobias Jewson [6c21e027cec0] 2010-05-10 Karsten Schmidt * src.core/toxi/util/events/EventDispatcher.java: adding EventDispatcher and toxi.util.events package [6eed63e36387] * src.core/toxi/geom/Line2D.java: adding getTheta() to Line2D [a786d8a1e163] * src.core/toxi/util/datatypes/TypedProperties.java: adding toHashMap() toTypedProperties [3dbb216b0cfc] * 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] 2010-04-27 Karsten Schmidt * 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] 2010-04-16 Karsten Schmidt * 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] * src.core/toxi/geom/SphereIntersectorReflector.java: adding getter/setter for internal sphere instance [a962f350e238] * src.core/toxi/geom/AABB.java: adding new constructor for AABB's with uniform extent [cf2cf62bc6fd] 2010-04-15 Karsten Schmidt * src.core/toxi/geom/Rect.java: adding scale() method to Rect class [d43c7a52d082] 2010-04-14 Karsten Schmidt * src.core/toxi/geom/mesh/Terrain.java: adding intersectAtPoint() method, refactoring getHeightAtPoint() to use bilinear interpolation, renaming methods, adding javadocs [102b61318392] * src.core/toxi/math/Interpolation2D.java: adding Interpolation2D class with bilinear interpolation function [b8a40c0eea2f] * src.core/toxi/geom/TriangleIntersector.java: disabling seemingly obsolete tri orientation check, adding TODO note [a3f70fd65656] * 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] * src.core/toxi/geom/mesh/TriangleMesh.java: TriangleMesh now implements Intersector interface to check for Ray intersections (backed by new TriangleIntersector) [89fe7b85c2e6] * 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] * src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java: adding set() method to Line2D/3D [b5206828d07a] 2010-04-12 Karsten Schmidt * src.core/toxi/math/ExponentialInterpolation.java: adding ExponentialInterpolation [ad0cf81c1e83] * 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] 2010-04-09 Karsten Schmidt * 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] * 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] 2010-04-06 Karsten Schmidt * 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] * src.core/toxi/geom/Matrix4x4.java: minor update: reusing existing temp array for multiplySelf() [4e8c0f89c784] 2010-04-01 Karsten Schmidt * 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] * src.core/toxi/geom/PointCloud.java: adding center(Vec3D) method and javadocs [62e5100b12a2] 2010-03-22 Karsten Schmidt * 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] * 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] 2010-03-19 Karsten Schmidt * src.core/toxi/geom/Matrix4x4.java: optimizing identity() in Matrix4x4 by unrolling for() loop and avoid extraneous array accesses [02d3bb58d152] * 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] * src.core/toxi/geom/Matrix4x4.java: adding scale & translate methods taking Vec3D as argument [6c3c452139dc] * src.core/toxi/geom/mesh/TriangleMesh.java: turning more methods into fluent interfaces in TriangleMesh [1288d19f1e58] 2010-03-14 Karsten Schmidt * 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] * 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] * src.core/toxi/geom/Matrix4x4.java, src.core/toxi/geom/Spline3D.java, src.core/toxi/geom/Vec3D.java: fixed javadocs [fc5a98bbc800] * src.core/toxi/geom/Plane.java: adding toMesh() method [517c6ca4421d] * src.core/toxi/geom/Matrix4x4.java: fixed transpose() to act "in-place" as intended, added copy() method [0ec83b4a4342] * 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] * 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] * 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] * src.core/toxi/geom/util/TriangleMesh.java: updated saveAsSTL() to optionally support flipped Y axis export, added flipYAxis() method [4829bc06413d] * src.core/toxi/geom/util/STLWriter.java: added writeScaledVector() to only apply scale to vertices, not face normals [29e3bdbd67cb] * 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] 2010-03-12 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: minor update to pointTowards(), calling transform() directly now [01d2ea564371] 2010-03-11 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: minor update to pointTowards(): removed obsolete normalization of axis vector [19b9013fce4c] * src.core/toxi/geom/util/TriangleMesh.java: added pointTowards() to align TriangleMeshes to face a given direction [fa1b9b418fbb] 2010-03-10 Karsten Schmidt * src.core/toxi/geom/util/STLReader.java: fixed #1 by flipping vertex order in STLReader.loadBinary() [e8134913fa10] * 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] * src.core/toxi/math/MathUtils.java: adding sign() methods to MathUtils [d52a286173b2] * src.core/toxi/geom/util/TriangleMesh.java: updating javadocs [a76b62c7ac96] * src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java: refactoring & bugfixing getDecimatedVertices() in Spline2D/3D to be more reliable/precise [54298382095d] 2010-03-06 Karsten Schmidt * src.core/toxi/geom/util/OBJWriter.java: minor change to endSave(): catching IOException only [8dd9c5a0b217] * src.core/toxi/geom/AABB.java: adding toMesh() method with default mesh naming [6e35c46d92bc] * src.core/toxi/geom/FreeCylinder.java: fixing bug when creating top cap in toMesh() method [a090ef5d8874] * src.core/toxi/geom/util/TriangleMesh.java: adding matrix tranform() operation, refactored/improved computeVertexNormals(), added computeFaceNormals(), added flipVertexOrder(), added javadocs [630b05de51e7] 2010-03-03 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: adding addMesh() method to combine meshes [c93c99138956] 2010-03-02 Karsten Schmidt * 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] 2010-03-01 Karsten Schmidt * 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] 2010-02-23 Karsten Schmidt * src.core/toxi/geom/PointCloud.java: adding PointCloud class [fc3cab8851e6] * 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] 2010-02-21 Karsten Schmidt * 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] 2010-02-16 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: adding default constructor [e48b6b85c4a3] * src.core/toxi/math/ScaleMap.java: adding getters for input/output range and range median values (input/output/mapped) [055378a32e5d] * src.core/toxi/geom/Rect.java: adding fromCenterExtent() factory method [a5d639ec3ab0] * src.core/toxi/geom/Ray2D.java, src.core/toxi/geom/Ray3D.java: adding toLineWithPointAtDistance() conversion methods to Ray2D/3D [9c4049ad4706] 2010-02-13 Karsten Schmidt * src.core/toxi/geom/PointOctree.java: minor updates (more efficient) to getPoints() [b4b14080cfe0] 2010-02-12 Karsten Schmidt * src.core/toxi/geom/Line3D.java: eclipse re-formatter run [232060fb2ae6] * src.core/toxi/geom/PointOctree.java: minor refactoring/renaming of fields, eclipse re-formatter run [a17fb1ff8248] 2010-02-09 Karsten Schmidt * 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] * src.core/toxi/geom/Line2D.java, src.core/toxi/geom/Line3D.java: adding getDirection(), getLength(), getMidPoint() to Line2D/3D [b20947a9edef] 2010-02-08 Karsten Schmidt * 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] * 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] 2010-02-07 Karsten Schmidt * src.core/toxi/math/MathUtils.java: adding double-typed versions of clip(), min() & max() [2b0b13647524] 2010-02-05 Karsten Schmidt * src.core/toxi/geom/Line2D.java: making intersection result immutable, adding javadocs [adb606d73916] 2010-01-26 Karsten Schmidt * 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] * src.core/toxi/geom/Line2D.java, src.test/toxi/test/geom/Line2DTest.java: adding Line2D & unit tests [1317bb13c1aa] * src.core/toxi/math/MathUtils.java: adding SQRT3 constant [324ae94d6448] * src.core/toxi/math/conversion/UnitTranslator.java: adding area conversion methods [1361952b5b72] 2010-01-25 Karsten Schmidt * src.core/toxi/geom/Polygon2D.java, src.test/toxi/test/geom/PolygonTest.java: adding Polygon2D class & test case [34425bb51f68] 2010-01-20 Karsten Schmidt * 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] * 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] * 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] * src.core/toxi/geom/Ray2D.java: fixed Ray2D constructor NullPointerException for new Ray2D(x,y,d) [258c5aadf5b9] * src.core/toxi/geom/Vec2D.java: (FindBugs run) fixed Vec2D.equals() to check for object type & null instances [1eeb023dcd2b] * 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] * src.core/toxi/geom/Ellipse.java, src.core/toxi/geom/Ray3D.java, src.core/toxi/geom/Rect.java: fixing javadocs [be83a6142000] * src.core/toxi/geom/Sphere.java: refactored intersectsRay() to return a float array instead of Vec3D, updating javadocs [7ec41ac122cf] * 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] 2010-01-17 Karsten Schmidt * src.core/toxi/geom/Intersector.java: applying eclipse formatter [23ccd5b18a68] * 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] * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: adding constrain(min,max) to Vec2D/3D [031349d015e9] * src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java: adding getDecimatedVertices() to Spline2D/3D [e49e43c3110f] * 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] * src.core/toxi/math/MathUtils.java: fixing floor() for negative values (thanks to Lex) [1d9f521c37c6] 2010-01-06 Karsten Schmidt * src.core/toxi/geom/Vec3D.java: removing JAXB annotation [383ab881675c] * 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] * src.core/toxi/geom/Vec2D.java: adding Axis enum & accessors to Vec2D too [9e5c77fe2cd3] * src.core/toxi/geom/Vec3D.java: adding Axis enum to Vec3D and providing getComponent()/setComponent() methods for reflective access [8bab77e88e77] * 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] 2010-01-05 Karsten Schmidt * src.core/toxi/geom/Rect.java: adding Rect.fromMinMax() factory method, minor refactoring in intersectsRay() [8869c159fd71] * src.core/toxi/geom/AABB.java: deprecating minX/maxX etc. getters, refactoring getMin/getMax to avoid re-computing values [a41027b73352] * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: Vec2D/3D: refactoring closestPointOnLine() to avoid sqrt, adding reciprocal()/getReciprocal() methods [0c1d91079977] * 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] 2009-12-31 Karsten Schmidt * 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] 2009-12-11 Karsten Schmidt * src.core/toxi/geom/Rect.java: adding copy() and getCentroid to Rect class [ccab70254dab] 2009-11-30 Karsten Schmidt * src.core/toxi/math/MathUtils.java: minor updates to fastSin/fastCos, switched internally to double [72d83b2b7f6c] 2009-11-23 Karsten Schmidt * 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] * 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] * 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] 2009-11-22 Karsten Schmidt * 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] 2009-11-20 Karsten Schmidt * src.core/toxi/geom/Quaternion.java: adding interpolateTo/Self method to be used with InterpolateStrategy just like Vec3D [e2db099fd039] 2009-10-31 Karsten Schmidt * src.core/toxi/geom/Spline2D.java, src.core/toxi/geom/Spline3D.java: adding add() method & javadocs to spline classes [5fd1edd55f17] * 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] 2009-10-30 Karsten Schmidt * 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] 2009-10-18 Karsten Schmidt * 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] 2009-10-16 Karsten Schmidt * 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] 2009-10-15 Karsten Schmidt * 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] 2009-09-06 Karsten Schmidt * src.core/toxi/geom/Quaternion.java: adding interpolatToSelf() to Quaternion class, fixing interpolation NaN bug caused by loss of float precision [cf996d238fc4] 2009-08-10 Karsten Schmidt * src.core/toxi/geom/Matrix4x4.java, src.core/toxi/geom/Quaternion.java: minor additions to Matrix4x4 & Quaternion (for use in QuaternionCamera) [2ccb6865e39d] 2009-08-02 Karsten Schmidt * 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] * 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] * src.core/toxi/geom/Vec3D.java: added hashCode method [b72a2924d87d] 2009-07-27 Karsten Schmidt * 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] * src.core/toxi/geom/Matrix4x4.java: added toArray() and toFloatArray() [29808fecefd5] * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: bugfix for Vec3D.equalsWithTolerance() and adding for Vec2D as well [3e2c1466281f] 2009-07-22 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: more refactoring & reducing footprint, added getBoundingBox() method since bounds are not computed automatically anymore [a197fe4bda14] * src.core/toxi/geom/util/TriangleMesh.java: reducing new object creations and making things final [e01ca84c9be3] * src.core/toxi/geom/PointOctree.java: upgrading to Java5 for-loop syntax, adding empty() method [b9b7a439ec81] 2009-07-19 Karsten Schmidt * src.core/toxi/geom/Matrix4x4.java, src.test/toxi/test/geom/MatrixTest.java: updating matrix4x4 class w/ various optimizations [cbca5e48cc1b] * src.core/toxi/math/MathUtils.java: adding experimental fast sin/cos approximations. needs further testing [1f0a15cc23ae] * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: fixing javadoc warnings [399ce2192e93] * src.core/toxi/geom/Rect.java: adding default constructor, copy() & set() method, deprecated merge() replaced with union() (TODO: intersect) [00834f1f5443] 2009-07-17 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: minor update to TriangleMesh, keeping manual vertex/face counter instead of size() calls [eb385ea69cce] 2009-07-15 Karsten Schmidt * .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] 2009-07-09 Karsten Schmidt * src.core/toxi/geom/Vec3D.java: adding to2DXY(), to2DXZ() and to2DYZ() conversion methods to Vec3D [35b3f41be159] 2009-07-05 Karsten Schmidt * src.core/toxi/geom/Vec2D.java, src.core/toxi/geom/Vec3D.java: adding splitIntoSegments for Vec2D (incl. javadoc) [b15cfd65aef6] * .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] 2009-07-02 Karsten Schmidt * 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] 2009-06-29 Karsten Schmidt * src.core/toxi/geom/util/TriangleMesh.java: removed obsolete dependency with XYZComparator [f4d2963f7695] * src.core/toxi/geom/util/TriangleMesh.java: adding TriangleMesh class [43e6a00a36c0] * 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] * 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] * src.core/toxi/geom/Triangle.java: minor internal changes and flipped vertex order for normal computation for consistency with other library parts [73da2b7f2dab] 2009-06-15 Karsten Schmidt * src.core/toxi/geom/Rect.java: added merge() method to form compound rectangles and minor bug fix in containsPoint() [5c4062b71ba2] * 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] 2009-06-14 Karsten Schmidt * 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] * src.core/toxi/geom/util/OBJWriter.java: added support for normals, added methods: normal(), faceWithNormal(), getCurrNormalOffset(), getCurrVertexOffset(), updated version to 0.26 [ea8769f07754] * src.core/toxi/geom/Vec2D.java: minor improvement to normalize() and some javadocs [602eb3f05d2d] * src.core/toxi/geom/Triangle.java: added computeCentroid(), set() and toString() methods. Minor improvement to computeNormal() [9172f1d2e9bd] 2009-06-10 Karsten Schmidt * 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] * 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] 2009-06-04 Karsten Schmidt * src.core/toxi/geom/Spline2D.java: removing unnecessary debug output in computeVertices() [3f3e23dd0f30] 2009-05-27 Karsten Schmidt * 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] 2009-05-18 Karsten Schmidt * src.core/toxi/math/ScaleMap.java: fixing javadocs for ScaleMap methods [509966ea5394] * src.core/toxi/geom/Vec2D.java: fixing javadocs for Vec2D.toCartesian()/toPolar() methods [aad886c2e0c9] * 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] 2009-04-26 Karsten Schmidt * src.core/toxi/math/ZoomLensInterpolation.java: bug fix for intervals with non-zero minimum values [fb2385a540fe] 2009-04-21 Karsten Schmidt * src.core/toxi/math/ScaleMap.java, src.core/toxi/math/ZoomLensInterpolation.java: adding minimal javadocs to ScaleMap & ZoomLens [47f0919ed211] * src.core/toxi/math/ZoomLensInterpolation.java: bug fix in setLensStrength to also allow bundling lens types (strength now correctly clipped to -1 ... +1) [ae9e6410480e] 2009-04-19 Karsten Schmidt * 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] 2009-04-04 Karsten Schmidt * 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] 2009-03-26 Karsten Schmidt * src.core/toxi/math/conversion/UnitTranslator.java: fixed visibility and made all methods static, added javadocs [762578db412b] 2009-03-21 Karsten Schmidt * src.core/toxi/geom/Vec2D.java: fixed typo in Vec2D.isInRectangle() - thanks lenny! :) [dfea04b0bbb7] 2009-03-16 Karsten Schmidt * .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] 2009-02-27 Karsten Schmidt * 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]