toxiclibs 0.2-java → 0.5.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +16 -0
- data/CHANGELOG.md +4 -0
- data/LICENSE +675 -0
- data/README.md +12 -5
- data/Rakefile +25 -82
- data/examples/attract_repel/attract_repel.rb +30 -0
- data/examples/attract_repel/attractor.rb +23 -0
- data/examples/attract_repel/particle.rb +27 -0
- data/examples/data/ti_yong.png +0 -0
- data/examples/force_directed/cluster.rb +76 -0
- data/examples/force_directed/force_directed_graph.rb +92 -0
- data/examples/force_directed/node.rb +26 -0
- data/examples/gray_scott_image.rb +75 -0
- data/examples/gray_scott_tone_map.rb +77 -0
- data/examples/implicit.rb +139 -0
- data/examples/inflate_mesh.rb +89 -0
- data/examples/model_align.rb +44 -0
- data/examples/povmesh/ftest.rb +46 -0
- data/examples/povmesh/tentacle.rb +73 -0
- data/examples/simple_cluster/cluster.rb +47 -0
- data/examples/simple_cluster/node.rb +27 -0
- data/examples/simple_cluster/simple_cluster.rb +60 -0
- data/examples/soft_body/blanket.rb +45 -0
- data/examples/soft_body/connection.rb +16 -0
- data/examples/soft_body/particle.rb +22 -0
- data/examples/soft_body/soft_body_square_adapted.rb +55 -0
- data/lib/toxiclibs.jar +0 -0
- data/lib/toxiclibs.rb +91 -32
- data/lib/toxiclibs/version.rb +1 -1
- data/pom.xml +122 -0
- data/src/com/toxi/net/ClientListener.java +41 -0
- data/src/com/toxi/net/ServerListener.java +70 -0
- data/src/com/toxi/net/ServerListenerAdapter.java +47 -0
- data/src/com/toxi/net/ServerState.java +18 -0
- data/src/com/toxi/net/UDPConnection.java +66 -0
- data/src/com/toxi/net/UDPSyncClient.java +81 -0
- data/src/com/toxi/net/UDPSyncServer.java +450 -0
- data/src/com/toxi/nio/UDPClient.java +121 -0
- data/src/com/toxi/nio/UDPClientState.java +32 -0
- data/src/com/toxi/nio/UDPServer.java +129 -0
- data/src/toxi/color/AccessCriteria.java +114 -0
- data/src/toxi/color/AlphaAccessor.java +67 -0
- data/src/toxi/color/CMYKAccessor.java +122 -0
- data/src/toxi/color/CMYKDistanceProxy.java +40 -0
- data/src/toxi/color/ColorGradient.java +260 -0
- data/src/toxi/color/ColorList.java +699 -0
- data/src/toxi/color/ColorRange.java +671 -0
- data/src/toxi/color/ColorTheme.java +163 -0
- data/src/toxi/color/DistanceProxy.java +44 -0
- data/src/toxi/color/HSVAccessor.java +113 -0
- data/src/toxi/color/HSVDistanceProxy.java +40 -0
- data/src/toxi/color/HistEntry.java +85 -0
- data/src/toxi/color/Histogram.java +185 -0
- data/src/toxi/color/Hue.java +249 -0
- data/src/toxi/color/LuminanceAccessor.java +78 -0
- data/src/toxi/color/NamedColor.java +935 -0
- data/src/toxi/color/ProximityComparator.java +70 -0
- data/src/toxi/color/RGBAccessor.java +113 -0
- data/src/toxi/color/RGBDistanceProxy.java +41 -0
- data/src/toxi/color/ReadonlyTColor.java +296 -0
- data/src/toxi/color/TColor.java +1677 -0
- data/src/toxi/color/TColorAdapter.java +68 -0
- data/src/toxi/color/ToneMap.java +218 -0
- data/src/toxi/color/theory/AnalogousStrategy.java +140 -0
- data/src/toxi/color/theory/ColorTheoryRegistry.java +139 -0
- data/src/toxi/color/theory/ColorTheoryStrategy.java +56 -0
- data/src/toxi/color/theory/ComplementaryStrategy.java +111 -0
- data/src/toxi/color/theory/CompoundTheoryStrategy.java +143 -0
- data/src/toxi/color/theory/LeftSplitComplementaryStrategy.java +82 -0
- data/src/toxi/color/theory/MonochromeTheoryStrategy.java +103 -0
- data/src/toxi/color/theory/RightSplitComplementaryStrategy.java +82 -0
- data/src/toxi/color/theory/SingleComplementStrategy.java +76 -0
- data/src/toxi/color/theory/SplitComplementaryStrategy.java +77 -0
- data/src/toxi/color/theory/TetradTheoryStrategy.java +114 -0
- data/src/toxi/color/theory/TriadTheoryStrategy.java +77 -0
- data/src/toxi/data/csv/CSVAdapter.java +74 -0
- data/src/toxi/data/csv/CSVFieldMapper.java +212 -0
- data/src/toxi/data/csv/CSVListener.java +61 -0
- data/src/toxi/data/csv/CSVParser.java +202 -0
- data/src/toxi/data/feeds/AtomAuthor.java +49 -0
- data/src/toxi/data/feeds/AtomContent.java +50 -0
- data/src/toxi/data/feeds/AtomEntry.java +111 -0
- data/src/toxi/data/feeds/AtomFeed.java +129 -0
- data/src/toxi/data/feeds/AtomLink.java +62 -0
- data/src/toxi/data/feeds/RSSChannel.java +88 -0
- data/src/toxi/data/feeds/RSSEnclosure.java +60 -0
- data/src/toxi/data/feeds/RSSFeed.java +99 -0
- data/src/toxi/data/feeds/RSSItem.java +104 -0
- data/src/toxi/data/feeds/util/EntityStripper.java +2480 -0
- data/src/toxi/data/feeds/util/Iso8601DateAdapter.java +101 -0
- data/src/toxi/data/feeds/util/Rfc822DateAdapter.java +93 -0
- data/src/toxi/geom/AABB.java +658 -0
- data/src/toxi/geom/Axis3D.java +116 -0
- data/src/toxi/geom/AxisAlignedCylinder.java +163 -0
- data/src/toxi/geom/BernsteinPolynomial.java +94 -0
- data/src/toxi/geom/BezierCurve2D.java +159 -0
- data/src/toxi/geom/BezierCurve3D.java +148 -0
- data/src/toxi/geom/BooleanShapeBuilder.java +185 -0
- data/src/toxi/geom/BoxIntersector.java +52 -0
- data/src/toxi/geom/Circle.java +230 -0
- data/src/toxi/geom/CircleIntersector.java +85 -0
- data/src/toxi/geom/Cone.java +150 -0
- data/src/toxi/geom/ConvexPolygonClipper.java +136 -0
- data/src/toxi/geom/CoordinateExtractor.java +16 -0
- data/src/toxi/geom/Ellipse.java +250 -0
- data/src/toxi/geom/GMatrix.java +2599 -0
- data/src/toxi/geom/GVector.java +833 -0
- data/src/toxi/geom/GlobalGridTesselator.java +54 -0
- data/src/toxi/geom/GridTesselator.java +108 -0
- data/src/toxi/geom/Intersector2D.java +49 -0
- data/src/toxi/geom/Intersector3D.java +51 -0
- data/src/toxi/geom/IsectData2D.java +103 -0
- data/src/toxi/geom/IsectData3D.java +103 -0
- data/src/toxi/geom/Line2D.java +534 -0
- data/src/toxi/geom/Line3D.java +471 -0
- data/src/toxi/geom/LineStrip2D.java +430 -0
- data/src/toxi/geom/LineStrip3D.java +230 -0
- data/src/toxi/geom/LocalGridTesselator.java +57 -0
- data/src/toxi/geom/Matrix3d.java +3048 -0
- data/src/toxi/geom/Matrix4f.java +3446 -0
- data/src/toxi/geom/Matrix4x4.java +1076 -0
- data/src/toxi/geom/MatrixSizeException.java +58 -0
- data/src/toxi/geom/OctreeVisitor.java +44 -0
- data/src/toxi/geom/Origin3D.java +148 -0
- data/src/toxi/geom/Plane.java +293 -0
- data/src/toxi/geom/PlaneIntersector.java +57 -0
- data/src/toxi/geom/PointCloud3D.java +253 -0
- data/src/toxi/geom/PointOctree.java +502 -0
- data/src/toxi/geom/PointQuadtree.java +375 -0
- data/src/toxi/geom/Polygon2D.java +1038 -0
- data/src/toxi/geom/PolygonClipper2D.java +45 -0
- data/src/toxi/geom/PolygonTesselator.java +20 -0
- data/src/toxi/geom/QuadtreeVisitor.java +44 -0
- data/src/toxi/geom/Quaternion.java +641 -0
- data/src/toxi/geom/Ray2D.java +146 -0
- data/src/toxi/geom/Ray3D.java +150 -0
- data/src/toxi/geom/Ray3DIntersector.java +75 -0
- data/src/toxi/geom/ReadonlyVec2D.java +575 -0
- data/src/toxi/geom/ReadonlyVec3D.java +628 -0
- data/src/toxi/geom/ReadonlyVec4D.java +431 -0
- data/src/toxi/geom/Rect.java +720 -0
- data/src/toxi/geom/Reflector3D.java +58 -0
- data/src/toxi/geom/Shape2D.java +94 -0
- data/src/toxi/geom/Shape3D.java +42 -0
- data/src/toxi/geom/SingularMatrixException.java +57 -0
- data/src/toxi/geom/SpatialBins.java +182 -0
- data/src/toxi/geom/SpatialIndex.java +61 -0
- data/src/toxi/geom/Sphere.java +224 -0
- data/src/toxi/geom/SphereIntersectorReflector.java +196 -0
- data/src/toxi/geom/Spline2D.java +349 -0
- data/src/toxi/geom/Spline3D.java +351 -0
- data/src/toxi/geom/SutherlandHodgemanClipper.java +151 -0
- data/src/toxi/geom/Triangle2D.java +422 -0
- data/src/toxi/geom/Triangle3D.java +456 -0
- data/src/toxi/geom/TriangleIntersector.java +105 -0
- data/src/toxi/geom/Vec2D.java +1328 -0
- data/src/toxi/geom/Vec3D.java +1832 -0
- data/src/toxi/geom/Vec4D.java +985 -0
- data/src/toxi/geom/VecMathUtil.java +100 -0
- data/src/toxi/geom/XAxisCylinder.java +64 -0
- data/src/toxi/geom/YAxisCylinder.java +65 -0
- data/src/toxi/geom/ZAxisCylinder.java +64 -0
- data/src/toxi/geom/mesh/BezierPatch.java +200 -0
- data/src/toxi/geom/mesh/BoxSelector.java +62 -0
- data/src/toxi/geom/mesh/DefaultSTLColorModel.java +67 -0
- data/src/toxi/geom/mesh/DefaultSelector.java +50 -0
- data/src/toxi/geom/mesh/Face.java +176 -0
- data/src/toxi/geom/mesh/LaplacianSmooth.java +80 -0
- data/src/toxi/geom/mesh/MaterialiseSTLColorModel.java +150 -0
- data/src/toxi/geom/mesh/Mesh3D.java +224 -0
- data/src/toxi/geom/mesh/MeshIntersector.java +91 -0
- data/src/toxi/geom/mesh/OBJWriter.java +194 -0
- data/src/toxi/geom/mesh/PLYWriter.java +167 -0
- data/src/toxi/geom/mesh/PlaneSelector.java +90 -0
- data/src/toxi/geom/mesh/STLColorModel.java +54 -0
- data/src/toxi/geom/mesh/STLReader.java +185 -0
- data/src/toxi/geom/mesh/STLWriter.java +323 -0
- data/src/toxi/geom/mesh/SphereFunction.java +156 -0
- data/src/toxi/geom/mesh/SphericalHarmonics.java +110 -0
- data/src/toxi/geom/mesh/SuperEllipsoid.java +110 -0
- data/src/toxi/geom/mesh/SurfaceFunction.java +75 -0
- data/src/toxi/geom/mesh/SurfaceMeshBuilder.java +149 -0
- data/src/toxi/geom/mesh/Terrain.java +451 -0
- data/src/toxi/geom/mesh/TriangleMesh.java +1201 -0
- data/src/toxi/geom/mesh/Vertex.java +78 -0
- data/src/toxi/geom/mesh/VertexSelector.java +193 -0
- data/src/toxi/geom/mesh/WEFace.java +100 -0
- data/src/toxi/geom/mesh/WEMeshFilterStrategy.java +51 -0
- data/src/toxi/geom/mesh/WETriangleMesh.java +761 -0
- data/src/toxi/geom/mesh/WEVertex.java +134 -0
- data/src/toxi/geom/mesh/WingedEdge.java +115 -0
- data/src/toxi/geom/mesh/subdiv/CentroidSubdiv.java +37 -0
- data/src/toxi/geom/mesh/subdiv/DisplacementSubdivision.java +85 -0
- data/src/toxi/geom/mesh/subdiv/DualDisplacementSubdivision.java +94 -0
- data/src/toxi/geom/mesh/subdiv/DualSubdivision.java +49 -0
- data/src/toxi/geom/mesh/subdiv/EdgeLengthComparator.java +50 -0
- data/src/toxi/geom/mesh/subdiv/FaceCountComparator.java +51 -0
- data/src/toxi/geom/mesh/subdiv/MidpointDisplacementSubdivision.java +80 -0
- data/src/toxi/geom/mesh/subdiv/MidpointSubdiv.java +42 -0
- data/src/toxi/geom/mesh/subdiv/MidpointSubdivision.java +48 -0
- data/src/toxi/geom/mesh/subdiv/NewSubdivStrategy.java +23 -0
- data/src/toxi/geom/mesh/subdiv/NormalDisplacementSubdivision.java +74 -0
- data/src/toxi/geom/mesh/subdiv/SubdivisionStrategy.java +83 -0
- data/src/toxi/geom/mesh/subdiv/TriSubdivision.java +51 -0
- data/src/toxi/geom/mesh2d/DelaunayTriangle.java +222 -0
- data/src/toxi/geom/mesh2d/DelaunayTriangulation.java +327 -0
- data/src/toxi/geom/mesh2d/DelaunayVertex.java +560 -0
- data/src/toxi/geom/mesh2d/Voronoi.java +149 -0
- data/src/toxi/geom/nurbs/BasicNurbsCurve.java +210 -0
- data/src/toxi/geom/nurbs/BasicNurbsSurface.java +233 -0
- data/src/toxi/geom/nurbs/ControlNet.java +148 -0
- data/src/toxi/geom/nurbs/CurveCreator.java +112 -0
- data/src/toxi/geom/nurbs/CurveUtils.java +259 -0
- data/src/toxi/geom/nurbs/InterpolationException.java +65 -0
- data/src/toxi/geom/nurbs/KnotVector.java +333 -0
- data/src/toxi/geom/nurbs/NurbsCreator.java +815 -0
- data/src/toxi/geom/nurbs/NurbsCurve.java +120 -0
- data/src/toxi/geom/nurbs/NurbsMeshCreator.java +145 -0
- data/src/toxi/geom/nurbs/NurbsSurface.java +147 -0
- data/src/toxi/image/util/Filter8bit.java +331 -0
- data/src/toxi/image/util/TiledFrameExporter.java +162 -0
- data/src/toxi/math/BezierInterpolation.java +102 -0
- data/src/toxi/math/CircularInterpolation.java +88 -0
- data/src/toxi/math/CosineInterpolation.java +51 -0
- data/src/toxi/math/DecimatedInterpolation.java +77 -0
- data/src/toxi/math/ExponentialInterpolation.java +68 -0
- data/src/toxi/math/InterpolateStrategy.java +60 -0
- data/src/toxi/math/Interpolation2D.java +93 -0
- data/src/toxi/math/LinearInterpolation.java +46 -0
- data/src/toxi/math/MathUtils.java +990 -0
- data/src/toxi/math/NonLinearScaleMap.java +101 -0
- data/src/toxi/math/ScaleMap.java +183 -0
- data/src/toxi/math/SigmoidInterpolation.java +78 -0
- data/src/toxi/math/SinCosLUT.java +141 -0
- data/src/toxi/math/ThresholdInterpolation.java +58 -0
- data/src/toxi/math/ZoomLensInterpolation.java +126 -0
- data/src/toxi/math/conversion/UnitTranslator.java +161 -0
- data/src/toxi/math/noise/PerlinNoise.java +281 -0
- data/src/toxi/math/noise/SimplexNoise.java +542 -0
- data/src/toxi/math/waves/AMFMSineWave.java +143 -0
- data/src/toxi/math/waves/AbstractWave.java +248 -0
- data/src/toxi/math/waves/ConstantWave.java +48 -0
- data/src/toxi/math/waves/FMHarmonicSquareWave.java +155 -0
- data/src/toxi/math/waves/FMSawtoothWave.java +144 -0
- data/src/toxi/math/waves/FMSineWave.java +142 -0
- data/src/toxi/math/waves/FMSquareWave.java +143 -0
- data/src/toxi/math/waves/FMTriangleWave.java +126 -0
- data/src/toxi/math/waves/SineWave.java +81 -0
- data/src/toxi/math/waves/Wave2D.java +68 -0
- data/src/toxi/math/waves/WaveState.java +69 -0
- data/src/toxi/music/scale/AbstractScale.java +117 -0
- data/src/toxi/music/scale/GenericScale.java +66 -0
- data/src/toxi/music/scale/MajorScale.java +41 -0
- data/src/toxi/newmesh/AttributedEdge.java +106 -0
- data/src/toxi/newmesh/AttributedFace.java +63 -0
- data/src/toxi/newmesh/IndexedTriangleMesh.java +809 -0
- data/src/toxi/newmesh/MeshAttributeCompiler.java +45 -0
- data/src/toxi/newmesh/MeshFaceNormalCompiler.java +52 -0
- data/src/toxi/newmesh/MeshUVCompiler.java +52 -0
- data/src/toxi/newmesh/MeshVertexColorCompiler.java +49 -0
- data/src/toxi/newmesh/MeshVertexCompiler.java +54 -0
- data/src/toxi/newmesh/MeshVertexNormalCompiler.java +55 -0
- data/src/toxi/newmesh/SpatialIndex.java +78 -0
- data/src/toxi/physics2d/ParticlePath2D.java +100 -0
- data/src/toxi/physics2d/ParticleString2D.java +184 -0
- data/src/toxi/physics2d/PullBackSpring2D.java +51 -0
- data/src/toxi/physics2d/VerletConstrainedSpring2D.java +89 -0
- data/src/toxi/physics2d/VerletMinDistanceSpring2D.java +57 -0
- data/src/toxi/physics2d/VerletParticle2D.java +457 -0
- data/src/toxi/physics2d/VerletPhysics2D.java +448 -0
- data/src/toxi/physics2d/VerletSpring2D.java +181 -0
- data/src/toxi/physics2d/behaviors/AttractionBehavior2D.java +212 -0
- data/src/toxi/physics2d/behaviors/ConstantForceBehavior2D.java +112 -0
- data/src/toxi/physics2d/behaviors/GravityBehavior2D.java +61 -0
- data/src/toxi/physics2d/behaviors/ParticleBehavior2D.java +66 -0
- data/src/toxi/physics2d/constraints/AngularConstraint.java +83 -0
- data/src/toxi/physics2d/constraints/AxisConstraint.java +71 -0
- data/src/toxi/physics2d/constraints/CircularConstraint.java +69 -0
- data/src/toxi/physics2d/constraints/MaxConstraint.java +66 -0
- data/src/toxi/physics2d/constraints/MinConstraint.java +66 -0
- data/src/toxi/physics2d/constraints/ParticleConstraint2D.java +47 -0
- data/src/toxi/physics2d/constraints/PolygonConstraint.java +93 -0
- data/src/toxi/physics2d/constraints/RectConstraint.java +114 -0
- data/src/toxi/physics3d/ParticlePath3D.java +100 -0
- data/src/toxi/physics3d/ParticleString3D.java +184 -0
- data/src/toxi/physics3d/PullBackSpring3D.java +50 -0
- data/src/toxi/physics3d/VerletConstrainedSpring3D.java +88 -0
- data/src/toxi/physics3d/VerletMinDistanceSpring3D.java +56 -0
- data/src/toxi/physics3d/VerletParticle3D.java +385 -0
- data/src/toxi/physics3d/VerletPhysics3D.java +417 -0
- data/src/toxi/physics3d/VerletSpring3D.java +180 -0
- data/src/toxi/physics3d/behaviors/AttractionBehavior3D.java +182 -0
- data/src/toxi/physics3d/behaviors/ConstantForceBehavior3D.java +92 -0
- data/src/toxi/physics3d/behaviors/GravityBehavior3D.java +61 -0
- data/src/toxi/physics3d/behaviors/ParticleBehavior3D.java +52 -0
- data/src/toxi/physics3d/constraints/AxisConstraint.java +68 -0
- data/src/toxi/physics3d/constraints/BoxConstraint.java +121 -0
- data/src/toxi/physics3d/constraints/CylinderConstraint.java +87 -0
- data/src/toxi/physics3d/constraints/MaxConstraint.java +65 -0
- data/src/toxi/physics3d/constraints/MinConstraint.java +65 -0
- data/src/toxi/physics3d/constraints/ParticleConstraint3D.java +49 -0
- data/src/toxi/physics3d/constraints/PlaneConstraint.java +78 -0
- data/src/toxi/physics3d/constraints/SoftBoxConstraint.java +87 -0
- data/src/toxi/physics3d/constraints/SphereConstraint.java +108 -0
- data/src/toxi/processing/ArrowModifier.java +116 -0
- data/src/toxi/processing/DashedLineModifier.java +48 -0
- data/src/toxi/processing/DeltaOrientationMapper.java +57 -0
- data/src/toxi/processing/Line2DRenderModifier.java +18 -0
- data/src/toxi/processing/MeshToVBO.java +94 -0
- data/src/toxi/processing/NormalMapper.java +18 -0
- data/src/toxi/processing/POVInterface.java +121 -0
- data/src/toxi/processing/POVMesh.java +219 -0
- data/src/toxi/processing/POVWriter.java +460 -0
- data/src/toxi/processing/RCOpaque.java +77 -0
- data/src/toxi/processing/RCTransp.java +78 -0
- data/src/toxi/processing/TextureBuilder.java +232 -0
- data/src/toxi/processing/Textures.java +110 -0
- data/src/toxi/processing/ToxiclibsSupport.java +1239 -0
- data/src/toxi/processing/Tracing.java +25 -0
- data/src/toxi/processing/XYZNormalMapper.java +30 -0
- data/src/toxi/sim/automata/CAMatrix.java +297 -0
- data/src/toxi/sim/automata/CARule.java +76 -0
- data/src/toxi/sim/automata/CARule2D.java +354 -0
- data/src/toxi/sim/automata/CAWolfram1D.java +309 -0
- data/src/toxi/sim/automata/EvolvableMatrix.java +61 -0
- data/src/toxi/sim/automata/MatrixEvolver.java +42 -0
- data/src/toxi/sim/dla/BottomUpOrder.java +76 -0
- data/src/toxi/sim/dla/DLA.java +497 -0
- data/src/toxi/sim/dla/DLAConfiguration.java +364 -0
- data/src/toxi/sim/dla/DLAEventAdapter.java +64 -0
- data/src/toxi/sim/dla/DLAEventListener.java +57 -0
- data/src/toxi/sim/dla/DLAGuideLines.java +219 -0
- data/src/toxi/sim/dla/DLAParticle.java +102 -0
- data/src/toxi/sim/dla/DLASegment.java +88 -0
- data/src/toxi/sim/dla/PipelineOrder.java +50 -0
- data/src/toxi/sim/dla/RadialDistanceOrder.java +92 -0
- data/src/toxi/sim/erosion/ErosionFunction.java +122 -0
- data/src/toxi/sim/erosion/TalusAngleErosion.java +145 -0
- data/src/toxi/sim/erosion/ThermalErosion.java +75 -0
- data/src/toxi/sim/fluids/FluidSolver2D.java +762 -0
- data/src/toxi/sim/fluids/FluidSolver3D.java +326 -0
- data/src/toxi/sim/grayscott/GrayScott.java +469 -0
- data/src/toxi/util/DateUtils.java +141 -0
- data/src/toxi/util/FileSequenceDescriptor.java +181 -0
- data/src/toxi/util/FileUtils.java +467 -0
- data/src/toxi/util/datatypes/ArraySet.java +128 -0
- data/src/toxi/util/datatypes/ArrayUtil.java +404 -0
- data/src/toxi/util/datatypes/BiasedDoubleRange.java +141 -0
- data/src/toxi/util/datatypes/BiasedFloatRange.java +141 -0
- data/src/toxi/util/datatypes/BiasedIntegerRange.java +141 -0
- data/src/toxi/util/datatypes/DoubleRange.java +251 -0
- data/src/toxi/util/datatypes/FloatRange.java +251 -0
- data/src/toxi/util/datatypes/GenericSet.java +215 -0
- data/src/toxi/util/datatypes/IntegerRange.java +247 -0
- data/src/toxi/util/datatypes/IntegerSet.java +149 -0
- data/src/toxi/util/datatypes/ItemIndex.java +72 -0
- data/src/toxi/util/datatypes/SingletonRegistry.java +91 -0
- data/src/toxi/util/datatypes/TypedProperties.java +291 -0
- data/src/toxi/util/datatypes/UndirectedGraph.java +134 -0
- data/src/toxi/util/datatypes/UniqueItemIndex.java +223 -0
- data/src/toxi/util/datatypes/WeightedRandomEntry.java +76 -0
- data/src/toxi/util/datatypes/WeightedRandomSet.java +125 -0
- data/src/toxi/util/events/EventDispatcher.java +86 -0
- data/src/toxi/volume/AdditiveBrush.java +19 -0
- data/src/toxi/volume/ArrayIsoSurface.java +297 -0
- data/src/toxi/volume/BoxBrush.java +100 -0
- data/src/toxi/volume/BrushMode.java +16 -0
- data/src/toxi/volume/HashIsoSurface.java +354 -0
- data/src/toxi/volume/IsoSurface.java +59 -0
- data/src/toxi/volume/MarchingCubesIndex.java +312 -0
- data/src/toxi/volume/MeshLatticeBuilder.java +358 -0
- data/src/toxi/volume/MeshVoxelizer.java +216 -0
- data/src/toxi/volume/MultiplyBrush.java +20 -0
- data/src/toxi/volume/PeakBrush.java +21 -0
- data/src/toxi/volume/ReplaceBrush.java +19 -0
- data/src/toxi/volume/RoundBrush.java +113 -0
- data/src/toxi/volume/VolumetricBrush.java +160 -0
- data/src/toxi/volume/VolumetricHashMap.java +179 -0
- data/src/toxi/volume/VolumetricSpace.java +195 -0
- data/src/toxi/volume/VolumetricSpaceArray.java +214 -0
- data/toxiclibs.gemspec +34 -0
- metadata +424 -27
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
require 'forwardable'
|
|
2
|
+
|
|
3
|
+
# The Nature of Code
|
|
4
|
+
# <http://www.shiffman.net/teaching/nature>
|
|
5
|
+
# Spring 2010
|
|
6
|
+
# Toxiclibs example: http://toxiclibs.org/
|
|
7
|
+
|
|
8
|
+
# Force directed graph
|
|
9
|
+
# Heavily based on: http://code.google.com/p/fidgen/
|
|
10
|
+
# A cluster is a grouping of Nodes
|
|
11
|
+
class Cluster
|
|
12
|
+
extend Forwardable
|
|
13
|
+
def_delegators(:@app, :stroke, :stroke_weight, :line, :physics)
|
|
14
|
+
attr_reader :nodes, :diameter
|
|
15
|
+
|
|
16
|
+
# We initialize a Cluster with a number of nodes, a diameter, and centerpoint
|
|
17
|
+
def initialize(n, d, center)
|
|
18
|
+
@app = $app
|
|
19
|
+
# Set the diameter
|
|
20
|
+
@diameter = d
|
|
21
|
+
# Create the nodes
|
|
22
|
+
@nodes = (0..n).map { Node.new(center.add(TVec2D.randomVector)) }
|
|
23
|
+
# Connect all the nodes with a Spring
|
|
24
|
+
nodes[0..nodes.size - 2].each_with_index do |ni, i|
|
|
25
|
+
nodes[i + 1..nodes.size - 1].each do |nj|
|
|
26
|
+
# A Spring needs two particles, a resting length, and a strength
|
|
27
|
+
physics.add_spring(Physics::VerletSpring2D.new(ni, nj, diameter, 0.01))
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def display
|
|
33
|
+
# Show all the nodes
|
|
34
|
+
nodes.each(&:display)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Draw all the internal connections
|
|
38
|
+
def show_connections
|
|
39
|
+
stroke(0, 150)
|
|
40
|
+
stroke_weight(2)
|
|
41
|
+
nodes[0..nodes.size - 2].each_with_index do |pi, i|
|
|
42
|
+
nodes[i + 1..nodes.size - 1].each do |pj|
|
|
43
|
+
line(pi.x, pi.y, pj.x, pj.y)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# The Nature of Code
|
|
2
|
+
# <http://www.shiffman.net/teaching/nature>
|
|
3
|
+
# Spring 2010
|
|
4
|
+
# Toxiclibs example: http://toxiclibs.org/
|
|
5
|
+
|
|
6
|
+
# Force directed graph
|
|
7
|
+
# Heavily based on: http://code.google.com/p/fidgen/
|
|
8
|
+
|
|
9
|
+
# Notice how we are using inheritance here!
|
|
10
|
+
# We could have just stored a reference to a VerletParticle object
|
|
11
|
+
# inside the Node class, but inheritance is a nice alternative
|
|
12
|
+
class Node < Physics::VerletParticle2D
|
|
13
|
+
extend Forwardable
|
|
14
|
+
def_delegators(:@app, :fill, :stroke, :stroke_weight, :ellipse)
|
|
15
|
+
def initialize(pos)
|
|
16
|
+
super(pos)
|
|
17
|
+
@app = $app
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# All we're doing really is adding a :display function to a VerletParticle
|
|
21
|
+
def display
|
|
22
|
+
fill(0, 150)
|
|
23
|
+
stroke(0)
|
|
24
|
+
stroke_weight(2)
|
|
25
|
+
ellipse(x, y, 16, 16)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# The Nature of Code
|
|
2
|
+
# Daniel Shiffman
|
|
3
|
+
# http://natureofcode.com
|
|
4
|
+
# bare sketch run with k9 run simple_cluster.rb
|
|
5
|
+
# Force directed graph,
|
|
6
|
+
# heavily based on: http://code.google.com/p/fidgen/
|
|
7
|
+
|
|
8
|
+
require 'toxiclibs'
|
|
9
|
+
require_relative 'cluster'
|
|
10
|
+
require_relative 'node'
|
|
11
|
+
require 'forwardable'
|
|
12
|
+
|
|
13
|
+
attr_reader :physics, :cluster, :f, :show_physics, :show_particles
|
|
14
|
+
|
|
15
|
+
def settings
|
|
16
|
+
size(640, 360)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def setup
|
|
20
|
+
sketch_title 'Simple Cluster'
|
|
21
|
+
@f = createFont('Georgia', 12, true)
|
|
22
|
+
@show_physics = true
|
|
23
|
+
@show_particles = true
|
|
24
|
+
@show_physics = true
|
|
25
|
+
@show_particles = true
|
|
26
|
+
# Initialize the physics
|
|
27
|
+
@physics = Physics::VerletPhysics2D.new
|
|
28
|
+
@physics.set_world_bounds(Toxi::Rect.new(10, 10, width - 20, height - 20))
|
|
29
|
+
# Spawn a new random graph
|
|
30
|
+
@cluster = Cluster.new(8, 100, TVec2D.new(width / 2, height / 2))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def draw
|
|
34
|
+
# Update the physics world
|
|
35
|
+
physics.update
|
|
36
|
+
background(255)
|
|
37
|
+
# Display all points
|
|
38
|
+
cluster.display if show_particles
|
|
39
|
+
# If we want to see the physics
|
|
40
|
+
cluster.show_connections if show_physics
|
|
41
|
+
# Instructions
|
|
42
|
+
fill(0)
|
|
43
|
+
text_font(f)
|
|
44
|
+
text("'p' to display or hide particles\n'c' to display or hide connections\n'n' for new graph", 10, 20)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Key press commands
|
|
48
|
+
def key_pressed
|
|
49
|
+
case key
|
|
50
|
+
when 'c'
|
|
51
|
+
@show_physics = !show_physics
|
|
52
|
+
@show_particles = true if show_physics
|
|
53
|
+
when 'p'
|
|
54
|
+
@show_particles = !show_particles
|
|
55
|
+
@show_particles = true unless show_physics
|
|
56
|
+
when 'n'
|
|
57
|
+
physics.clear
|
|
58
|
+
@cluster = Cluster.new(rand(3..20), rand(10..width / 2), TVec2D.new(width / 2, height / 2))
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# The Nature of Code
|
|
2
|
+
# Daniel Shiffman
|
|
3
|
+
# http://natureofcode.com
|
|
4
|
+
class Blanket
|
|
5
|
+
extend Forwardable
|
|
6
|
+
def_delegators(:@app, :width)
|
|
7
|
+
attr_reader :particles, :springs, :physics
|
|
8
|
+
|
|
9
|
+
def initialize(physics)
|
|
10
|
+
@app = $app
|
|
11
|
+
@particles = []
|
|
12
|
+
@springs = []
|
|
13
|
+
w = 20
|
|
14
|
+
h = 20
|
|
15
|
+
len = 10
|
|
16
|
+
strength = 0.125
|
|
17
|
+
h.times do |y|
|
|
18
|
+
w.times do |x|
|
|
19
|
+
p = Particle.new(TVec2D.new(width / 2 + x * len - w * len / 2, y * len))
|
|
20
|
+
physics.add_particle(p)
|
|
21
|
+
particles << p
|
|
22
|
+
if x > 0
|
|
23
|
+
previous = particles[particles.size - 2]
|
|
24
|
+
c = Connection.new(p, previous, len, strength)
|
|
25
|
+
physics.add_spring(c)
|
|
26
|
+
springs << c
|
|
27
|
+
end
|
|
28
|
+
if y > 0
|
|
29
|
+
above = particles[particles.size - w - 1]
|
|
30
|
+
c = Connection.new(p, above, len, strength)
|
|
31
|
+
physics.add_spring(c)
|
|
32
|
+
springs << c
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
topleft = particles[0]
|
|
37
|
+
topleft.lock
|
|
38
|
+
topright = particles[w - 1]
|
|
39
|
+
topright.lock
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def display
|
|
43
|
+
springs.each(&:display)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# The Nature of Code
|
|
2
|
+
# Daniel Shiffman
|
|
3
|
+
# http://natureofcode.com
|
|
4
|
+
class Connection < Physics::VerletSpring2D
|
|
5
|
+
extend Forwardable
|
|
6
|
+
def_delegators(:@app, :stroke, :line)
|
|
7
|
+
def initialize(p1, p2, len, strength)
|
|
8
|
+
super(p1, p2, len, strength)
|
|
9
|
+
@app = $app
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def display
|
|
13
|
+
stroke(0)
|
|
14
|
+
line(a.x, a.y, b.x, b.y)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# The Nature of Code
|
|
2
|
+
# Daniel Shiffman
|
|
3
|
+
# http://natureofcode.com
|
|
4
|
+
|
|
5
|
+
# Notice how we are using inheritance here!
|
|
6
|
+
# We could have just stored a reference to a VerletParticle object
|
|
7
|
+
# inside the Particle class, but inheritance is a nice alternative
|
|
8
|
+
class Particle < Physics::VerletParticle2D
|
|
9
|
+
extend Forwardable
|
|
10
|
+
def_delegators(:@app, :fill, :stroke, :ellipse)
|
|
11
|
+
def initialize(loc)
|
|
12
|
+
super(loc)
|
|
13
|
+
@app = $app
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# All we're doing really is adding a display function to a VerletParticle
|
|
17
|
+
def display
|
|
18
|
+
fill(175)
|
|
19
|
+
stroke(0)
|
|
20
|
+
ellipse(x, y, 16, 16)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# The Nature of Code
|
|
2
|
+
# Daniel Shiffman
|
|
3
|
+
# http://natureofcode.com
|
|
4
|
+
#
|
|
5
|
+
# This example is adapted from Karsten Schmidt's SoftBodySquare example
|
|
6
|
+
#
|
|
7
|
+
# <p>Softbody square demo is showing how to create a 2D square mesh out of
|
|
8
|
+
# verlet particles and make it stable enough to adef total structural
|
|
9
|
+
# deformation by including an inner skeleton.</p>
|
|
10
|
+
#
|
|
11
|
+
# <p>Usage: move mouse to drag/deform the square</p>
|
|
12
|
+
#
|
|
13
|
+
#
|
|
14
|
+
# Copyright (c) 2008-2009 Karsten Schmidt
|
|
15
|
+
#
|
|
16
|
+
# This demo & library is free software you can redistribute it and/or
|
|
17
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
18
|
+
# License as published by the Free Software Foundation either
|
|
19
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
20
|
+
#
|
|
21
|
+
# http://creativecommons.org/licenses/LGPL/2.1/
|
|
22
|
+
#
|
|
23
|
+
# This library is distributed in the hope that it will be useful,
|
|
24
|
+
# but WITHOUT ANY WARRANTY without even the implied warranty of
|
|
25
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
26
|
+
# Lesser General Public License for more details.
|
|
27
|
+
#
|
|
28
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
29
|
+
# License along with this library if not, write to the Free Software
|
|
30
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
31
|
+
#
|
|
32
|
+
require 'toxiclibs'
|
|
33
|
+
require 'forwardable'
|
|
34
|
+
require_relative 'blanket'
|
|
35
|
+
require_relative 'connection'
|
|
36
|
+
require_relative 'particle'
|
|
37
|
+
|
|
38
|
+
attr_reader :b, :physics
|
|
39
|
+
|
|
40
|
+
def settings
|
|
41
|
+
size 640, 360
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def setup
|
|
45
|
+
sketch_title 'Soft Body Square'
|
|
46
|
+
@physics = Physics::VerletPhysics2D.new
|
|
47
|
+
physics.add_behavior(Physics::GravityBehavior2D.new(TVec2D.new(0, 0.1)))
|
|
48
|
+
@b = Blanket.new physics
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def draw
|
|
52
|
+
background(255)
|
|
53
|
+
physics.update
|
|
54
|
+
b.display
|
|
55
|
+
end
|
data/lib/toxiclibs.jar
CHANGED
|
Binary file
|
data/lib/toxiclibs.rb
CHANGED
|
@@ -1,38 +1,97 @@
|
|
|
1
|
-
|
|
1
|
+
if RUBY_PLATFORM == 'java'
|
|
2
|
+
require 'toxiclibs.jar'
|
|
3
|
+
|
|
4
|
+
def import_class_list(list, string)
|
|
5
|
+
list.each { |klass| java_import format(string, klass) }
|
|
6
|
+
end
|
|
2
7
|
|
|
3
|
-
module Simulation
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
module Simulation
|
|
9
|
+
include_package 'toxi.sim.automata'
|
|
10
|
+
include_package 'toxi.sim.dla'
|
|
11
|
+
erosion = %w(ErosionFunction TalusAngleErosion ThermalErosion)
|
|
12
|
+
erosion_format = 'toxi.sim.erosion.%s'
|
|
13
|
+
import_class_list(erosion, erosion_format)
|
|
14
|
+
fluids = %w(FluidSolver2D FluidSolver3D)
|
|
15
|
+
fluids_format = 'toxi.sim.fluids.%s'
|
|
16
|
+
import_class_list(fluids, fluids_format)
|
|
17
|
+
java_import 'toxi.sim.grayscott.GrayScott'
|
|
18
|
+
end
|
|
10
19
|
|
|
11
|
-
module Physics
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
module Physics
|
|
21
|
+
behavior2d = %w(AttractionBehavior2D ConstantForceBehavior2D GravityBehavior2D ParticleBehavior2D)
|
|
22
|
+
behavior2d_format = 'toxi.physics2d.behaviors.%s'
|
|
23
|
+
import_class_list(behavior2d, behavior2d_format)
|
|
24
|
+
include_package 'toxi.physics2d.constraints'
|
|
25
|
+
include_package 'toxi.physics2d'
|
|
26
|
+
behavior3d = %w(AttractionBehavior3D ConstantForceBehavior3D GravityBehavior3D ParticleBehavior3D)
|
|
27
|
+
behavior3d_format = 'toxi.physics3d.behaviors.%s'
|
|
28
|
+
import_class_list(behavior3d, behavior3d_format)
|
|
29
|
+
include_package 'toxi.physics3d.constraints'
|
|
30
|
+
include_package 'toxi.physics3d'
|
|
31
|
+
end
|
|
19
32
|
|
|
20
|
-
module Volume
|
|
21
|
-
|
|
22
|
-
end
|
|
33
|
+
module Volume
|
|
34
|
+
include_package 'toxi.volume'
|
|
35
|
+
end
|
|
23
36
|
|
|
24
|
-
module Toxi
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
module Toxi
|
|
38
|
+
include_package 'toxi.color'
|
|
39
|
+
include_package 'toxi.color.theory'
|
|
40
|
+
include_package 'toxi.util.datatypes'
|
|
41
|
+
java_import 'toxi.util.events.EventDispatcher'
|
|
42
|
+
utils = %w{DateUtils FileSequenceDescriptor FileUtils}
|
|
43
|
+
utils_format = 'toxi.util.%s'
|
|
44
|
+
import_class_list(utils, utils_format)
|
|
45
|
+
subdiv = %w(CentroidSubdiv DisplacementSubdivision DualDisplacementSubdivision
|
|
46
|
+
DualSubdivision EdgeLengthComparator FaceCountComparator
|
|
47
|
+
MidpointDisplacementSubdivision MidpointSubdiv MidpointSubdivision
|
|
48
|
+
NewSubdivStrategy NormalDisplacementSubdivision SubdivisionStrategy
|
|
49
|
+
TriSubdivision)
|
|
50
|
+
subdiv_format = 'toxi.geom.mesh.subdiv.%s'
|
|
51
|
+
import_class_list(subdiv, subdiv_format)
|
|
52
|
+
nurbs = %w(BasicNurbsCurve BasicNurbsSurface ControlNet CurveCreator CurveUtils
|
|
53
|
+
InterpolationException KnotVector NurbsCreator NurbsCurve NurbsMeshCreator
|
|
54
|
+
NurbsSurface)
|
|
55
|
+
nurbs_format = 'toxi.geom.nurbs.%s'
|
|
56
|
+
import_class_list(nurbs, nurbs_format)
|
|
57
|
+
include_package 'toxi.math'
|
|
58
|
+
geom = %w(AABB Axis3D AxisAlignedCylinder BernsteinPolynomial BezierCurve2D
|
|
59
|
+
BezierCurve3D BooleanShapeBuilder BoxIntersector Circle CircleIntersector
|
|
60
|
+
Cone ConvexPolygonClipper CoordinateExtractor Ellipse GMatrix GVector
|
|
61
|
+
GlobalGridTesselator GridTesselator Intersector2D Intersector3D IsectData2D
|
|
62
|
+
IsectData3D Line2D Line3D LineStrip2D LineStrip3D LocalGridTesselator Matrix3d
|
|
63
|
+
Matrix4f Matrix4x4 MatrixSizeException OctreeVisitor Origin3D Plane
|
|
64
|
+
PlaneIntersector PointCloud3D PointOctree PointQuadtree Polygon2D
|
|
65
|
+
PolygonClipper2D PolygonTesselator QuadtreeVisitor Quaternion Ray2D Ray3D
|
|
66
|
+
Ray3DIntersector ReadonlyVec2D ReadonlyVec3D ReadonlyVec4D Rect Reflector3D
|
|
67
|
+
Shape2D Shape3D SingularMatrixException SpatialBins SpatialIndex Sphere
|
|
68
|
+
SphereIntersectorReflector Spline2D Spline3D SutherlandHodgemanClipper
|
|
69
|
+
Triangle2D Triangle3D TriangleIntersector Vec2D Vec3D Vec4D VecMathUtil
|
|
70
|
+
XAxisCylinder YAxisCylinder ZAxisCylinder)
|
|
71
|
+
geom_format = 'toxi.geom.%s'
|
|
72
|
+
import_class_list(geom, geom_format)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
module Gfx
|
|
76
|
+
include_package 'toxi.processing'
|
|
77
|
+
end
|
|
35
78
|
|
|
36
|
-
|
|
37
|
-
|
|
79
|
+
# to disambiguate our own Vec2D and Vec3D we give new name to toxi versions
|
|
80
|
+
TVec2D = Toxi::Vec2D
|
|
81
|
+
TVec3D = Toxi::Vec3D
|
|
82
|
+
AABB = Toxi::AABB
|
|
83
|
+
volume = %w(AdditiveBrush ArrayIsoSurface BoxBrush BrushMode HashIsoSurface
|
|
84
|
+
IsoSurface MarchingCubesIndex MeshLatticeBuilder MeshVoxelizer
|
|
85
|
+
MultiplyBrush PeakBrush ReplaceBrush RoundBrush VolumetricBrush
|
|
86
|
+
VolumetricHashMap VolumetricSpace VolumetricSpaceArray)
|
|
87
|
+
volume_format = 'toxi.volume.%s'
|
|
88
|
+
import_class_list(volume, volume_format)
|
|
89
|
+
mesh = %w(BezierPatch BoxSelector DefaultSTLColorModel DefaultSelector Face
|
|
90
|
+
LaplacianSmooth MaterialiseSTLColorModel Mesh3D MeshIntersector OBJWriter
|
|
91
|
+
PLYWriter PlaneSelector STLColorModel STLReader STLWriter SphereFunction
|
|
92
|
+
SphericalHarmonics SuperEllipsoid SurfaceFunction SurfaceMeshBuilder
|
|
93
|
+
Terrain TriangleMesh Vertex VertexSelector WEFace WEMeshFilterStrategy
|
|
94
|
+
WETriangleMesh WEVertex WingedEdge)
|
|
95
|
+
mesh_format = 'toxi.geom.mesh.%s'
|
|
96
|
+
import_class_list(mesh, mesh_format)
|
|
38
97
|
end
|
data/lib/toxiclibs/version.rb
CHANGED
data/pom.xml
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
|
4
|
+
<groupId>org.ruby-processing</groupId>
|
|
5
|
+
<artifactId>toxiclibs</artifactId>
|
|
6
|
+
<version>0.5.0</version>
|
|
7
|
+
<packaging>jar</packaging>
|
|
8
|
+
<description>
|
|
9
|
+
toxiclibs-library for JRubyArt
|
|
10
|
+
</description>
|
|
11
|
+
|
|
12
|
+
<parent>
|
|
13
|
+
<groupId>org.sonatype.oss</groupId>
|
|
14
|
+
<artifactId>oss-parent</artifactId>
|
|
15
|
+
<version>7</version>
|
|
16
|
+
</parent>
|
|
17
|
+
|
|
18
|
+
<issueManagement>
|
|
19
|
+
<system>Github</system>
|
|
20
|
+
<url>https://github.com/ruby-processing/toxiclibs/issues</url>
|
|
21
|
+
</issueManagement>
|
|
22
|
+
|
|
23
|
+
<scm>
|
|
24
|
+
<connection>scm:git:git://github.com/ruby-processing/toxiclibs.git</connection>
|
|
25
|
+
<developerConnection>scm:git:git@github.com:ruby-processing/toxiclibs.git</developerConnection>
|
|
26
|
+
<url>https://github.com/ruby-processing/toxiclibs</url>
|
|
27
|
+
</scm>
|
|
28
|
+
|
|
29
|
+
<licenses>
|
|
30
|
+
<license>
|
|
31
|
+
<name>'GPLv3'</name>
|
|
32
|
+
<url>http://www.opensource.org/licenses/gplv3.php</url>
|
|
33
|
+
</license>
|
|
34
|
+
</licenses>
|
|
35
|
+
|
|
36
|
+
<developers>
|
|
37
|
+
<developer>
|
|
38
|
+
<id>monkstone</id>
|
|
39
|
+
<name>Martin Prout</name>
|
|
40
|
+
<email>martin_p@lineone.net</email>
|
|
41
|
+
</developer>
|
|
42
|
+
</developers>
|
|
43
|
+
|
|
44
|
+
<dependencies>
|
|
45
|
+
<dependency>
|
|
46
|
+
<groupId>args4j</groupId>
|
|
47
|
+
<artifactId>args4j</artifactId>
|
|
48
|
+
<version>2.0.31</version>
|
|
49
|
+
</dependency>
|
|
50
|
+
<dependency>
|
|
51
|
+
<groupId>org.processing</groupId>
|
|
52
|
+
<artifactId>core</artifactId>
|
|
53
|
+
<scope>system</scope>
|
|
54
|
+
<version>3.0.1</version>
|
|
55
|
+
<systemPath>${processing.home}/core/library/core.jar</systemPath>
|
|
56
|
+
</dependency>
|
|
57
|
+
</dependencies>
|
|
58
|
+
<properties>
|
|
59
|
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
60
|
+
<maven.compiler.source>1.8</maven.compiler.source>
|
|
61
|
+
<maven.compiler.target>1.8</maven.compiler.target>
|
|
62
|
+
<!-- for Mac developers, non Archlinux and Windows can probably figure it out
|
|
63
|
+
<processing.home>/Applications/Processing.app/Contents/Java</processing.home>
|
|
64
|
+
-->
|
|
65
|
+
<processing.home>/usr/share/processing</processing.home>
|
|
66
|
+
</properties>
|
|
67
|
+
<build>
|
|
68
|
+
<sourceDirectory>src</sourceDirectory>
|
|
69
|
+
<finalName>toxiclibs</finalName>
|
|
70
|
+
<extensions>
|
|
71
|
+
<extension>
|
|
72
|
+
<groupId>org.apache.maven.wagon</groupId>
|
|
73
|
+
<artifactId>wagon-webdav-jackrabbit</artifactId>
|
|
74
|
+
<version>2.1</version>
|
|
75
|
+
</extension>
|
|
76
|
+
</extensions>
|
|
77
|
+
<plugins>
|
|
78
|
+
<plugin>
|
|
79
|
+
<artifactId>maven-compiler-plugin</artifactId>
|
|
80
|
+
<version>3.1</version>
|
|
81
|
+
<configuration>
|
|
82
|
+
<source>1.8</source>
|
|
83
|
+
<target>1.8</target>
|
|
84
|
+
</configuration>
|
|
85
|
+
</plugin>
|
|
86
|
+
<plugin>
|
|
87
|
+
<artifactId>maven-jar-plugin</artifactId>
|
|
88
|
+
<version>2.4</version>
|
|
89
|
+
<configuration>
|
|
90
|
+
<archive>
|
|
91
|
+
<manifestFile>MANIFEST.MF</manifestFile>
|
|
92
|
+
</archive>
|
|
93
|
+
</configuration>
|
|
94
|
+
</plugin>
|
|
95
|
+
<plugin>
|
|
96
|
+
<artifactId>maven-resources-plugin</artifactId>
|
|
97
|
+
<version>2.6</version>
|
|
98
|
+
</plugin>
|
|
99
|
+
<plugin>
|
|
100
|
+
<groupId>org.apache.maven.plugins</groupId>
|
|
101
|
+
<artifactId>maven-dependency-plugin</artifactId>
|
|
102
|
+
<version>2.10</version>
|
|
103
|
+
<executions>
|
|
104
|
+
<execution>
|
|
105
|
+
<id>default-cli</id>
|
|
106
|
+
<configuration>
|
|
107
|
+
<artifactItems>
|
|
108
|
+
<artifactItem>
|
|
109
|
+
<groupId>args4j</groupId>
|
|
110
|
+
<artifactId>args4j</artifactId>
|
|
111
|
+
<version>2.0.31</version>
|
|
112
|
+
<type>jar</type>
|
|
113
|
+
<outputDirectory>lib</outputDirectory>
|
|
114
|
+
</artifactItem>
|
|
115
|
+
</artifactItems>
|
|
116
|
+
</configuration>
|
|
117
|
+
</execution>
|
|
118
|
+
</executions>
|
|
119
|
+
</plugin>
|
|
120
|
+
</plugins>
|
|
121
|
+
</build>
|
|
122
|
+
</project>
|