toxiclibs 0.9.2 → 2.1.0
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 +5 -5
- data/.mvn/extensions.xml +1 -1
- data/.travis.yml +3 -4
- data/CHANGELOG.md +10 -1
- data/README.md +3 -3
- data/Rakefile +1 -2
- data/examples/attract_repel/attractor.rb +1 -1
- data/examples/attract_repel/particle.rb +1 -1
- data/examples/boolean_shapes.rb +9 -5
- data/examples/force_directed/node.rb +1 -1
- data/examples/inflate_mesh.rb +1 -1
- data/examples/model_align.rb +1 -1
- data/examples/physics_type.rb +1 -1
- data/examples/povmesh/ftest.rb +3 -3
- data/examples/toxiclibs_color_theme.rb +91 -0
- data/lib/toxiclibs/version.rb +2 -1
- data/lib/toxiclibs.jar +0 -0
- data/lib/toxiclibs.rb +54 -37
- data/pom.rb +20 -28
- data/pom.xml +39 -65
- data/src/main/java/module-info.java +22 -0
- data/src/{toxi → main/java/toxi}/color/AccessCriteria.java +0 -0
- data/src/{toxi → main/java/toxi}/color/AlphaAccessor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/CMYKAccessor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/CMYKDistanceProxy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/ColorGradient.java +0 -0
- data/src/{toxi → main/java/toxi}/color/ColorList.java +2 -4
- data/src/{toxi → main/java/toxi}/color/ColorRange.java +0 -0
- data/src/{toxi → main/java/toxi}/color/ColorTheme.java +0 -0
- data/src/{toxi → main/java/toxi}/color/DistanceProxy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/HSVAccessor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/HSVDistanceProxy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/HistEntry.java +0 -0
- data/src/{toxi → main/java/toxi}/color/Histogram.java +0 -0
- data/src/{toxi → main/java/toxi}/color/Hue.java +0 -0
- data/src/{toxi → main/java/toxi}/color/LuminanceAccessor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/NamedColor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/ProximityComparator.java +0 -0
- data/src/{toxi → main/java/toxi}/color/RGBAccessor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/RGBDistanceProxy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/ReadonlyTColor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/TColor.java +0 -0
- data/src/{toxi → main/java/toxi}/color/TColorAdapter.java +4 -4
- data/src/{toxi → main/java/toxi}/color/ToneMap.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/AnalogousStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryRegistry.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/ComplementaryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/CompoundTheoryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/LeftSplitComplementaryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/MonochromeTheoryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/RightSplitComplementaryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/SingleComplementStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/SplitComplementaryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/TetradTheoryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/color/theory/TriadTheoryStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/data/csv/CSVAdapter.java +0 -0
- data/src/{toxi → main/java/toxi}/data/csv/CSVFieldMapper.java +0 -0
- data/src/{toxi → main/java/toxi}/data/csv/CSVListener.java +0 -0
- data/src/{toxi → main/java/toxi}/data/csv/CSVParser.java +0 -0
- data/src/{toxi → main/java/toxi}/data/feeds/AtomAuthor.java +2 -2
- data/src/{toxi → main/java/toxi}/data/feeds/AtomContent.java +3 -4
- data/src/{toxi → main/java/toxi}/data/feeds/AtomEntry.java +9 -13
- data/src/main/java/toxi/data/feeds/AtomFeed.java +91 -0
- data/src/{toxi → main/java/toxi}/data/feeds/AtomLink.java +3 -2
- data/src/{toxi → main/java/toxi}/data/feeds/RSSChannel.java +10 -11
- data/src/{toxi → main/java/toxi}/data/feeds/RSSEnclosure.java +3 -3
- data/src/{toxi → main/java/toxi}/data/feeds/RSSItem.java +11 -13
- data/src/{toxi → main/java/toxi}/data/feeds/util/EntityStripper.java +0 -0
- data/src/{toxi → main/java/toxi}/data/feeds/util/Iso8601DateAdapter.java +6 -7
- data/src/{toxi → main/java/toxi}/data/feeds/util/Rfc822DateAdapter.java +5 -6
- data/src/{toxi → main/java/toxi}/geom/AABB.java +8 -9
- data/src/{toxi → main/java/toxi}/geom/Axis3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/AxisAlignedCylinder.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/BernsteinPolynomial.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/BezierCurve2D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/BezierCurve3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/BooleanShapeBuilder.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/BoxIntersector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Circle.java +2 -2
- data/src/{toxi → main/java/toxi}/geom/CircleIntersector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Cone.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/ConvexPolygonClipper.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/CoordinateExtractor.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Ellipse.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/GMatrix.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/GVector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/GlobalGridTesselator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/GridTesselator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Intersector2D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Intersector3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/IsectData2D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/IsectData3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Line2D.java +1 -2
- data/src/{toxi → main/java/toxi}/geom/Line3D.java +1 -2
- data/src/{toxi → main/java/toxi}/geom/LineStrip2D.java +2 -2
- data/src/{toxi → main/java/toxi}/geom/LineStrip3D.java +2 -2
- data/src/{toxi → main/java/toxi}/geom/LocalGridTesselator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Matrix3d.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Matrix4f.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Matrix4x4.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/MatrixSizeException.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/OctreeVisitor.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Origin3D.java +12 -6
- data/src/{toxi → main/java/toxi}/geom/Plane.java +3 -5
- data/src/{toxi → main/java/toxi}/geom/PlaneIntersector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/PointCloud3D.java +15 -12
- data/src/{toxi → main/java/toxi}/geom/PointOctree.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/PointQuadtree.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Polygon2D.java +34 -45
- data/src/{toxi → main/java/toxi}/geom/PolygonClipper2D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/PolygonTesselator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/QuadtreeVisitor.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Quaternion.java +3 -5
- data/src/{toxi → main/java/toxi}/geom/Ray2D.java +4 -5
- data/src/{toxi → main/java/toxi}/geom/Ray3D.java +3 -5
- data/src/{toxi → main/java/toxi}/geom/Ray3DIntersector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/ReadonlyVec2D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/ReadonlyVec3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/ReadonlyVec4D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Rect.java +3 -5
- data/src/{toxi → main/java/toxi}/geom/Reflector3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Shape2D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Shape3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/SingularMatrixException.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/SpatialBins.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/SpatialIndex.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Sphere.java +3 -5
- data/src/{toxi → main/java/toxi}/geom/SphereIntersectorReflector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Spline2D.java +12 -16
- data/src/{toxi → main/java/toxi}/geom/Spline3D.java +12 -16
- data/src/{toxi → main/java/toxi}/geom/SutherlandHodgemanClipper.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Triangle2D.java +4 -7
- data/src/{toxi → main/java/toxi}/geom/Triangle3D.java +5 -8
- data/src/{toxi → main/java/toxi}/geom/TriangleIntersector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/Vec2D.java +3 -3
- data/src/{toxi → main/java/toxi}/geom/Vec3D.java +4 -4
- data/src/{toxi → main/java/toxi}/geom/Vec4D.java +5 -5
- data/src/{toxi → main/java/toxi}/geom/VecMathUtil.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/XAxisCylinder.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/YAxisCylinder.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/ZAxisCylinder.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/BezierPatch.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/BoxSelector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSTLColorModel.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSelector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/Face.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/LaplacianSmooth.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/MaterialiseSTLColorModel.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/Mesh3D.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/MeshIntersector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/OBJWriter.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/PLYWriter.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/PlaneSelector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/STLColorModel.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/STLReader.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/STLWriter.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/SphereFunction.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/SphericalHarmonics.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/SuperEllipsoid.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceFunction.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceMeshBuilder.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/Terrain.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/TriangleMesh.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/Vertex.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/VertexSelector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/WEFace.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/WEMeshFilterStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/WETriangleMesh.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/WEVertex.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/WingedEdge.java +2 -2
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/CentroidSubdiv.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DisplacementSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualDisplacementSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/EdgeLengthComparator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/FaceCountComparator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointDisplacementSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdiv.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NewSubdivStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NormalDisplacementSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/SubdivisionStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/TriSubdivision.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangle.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangulation.java +5 -7
- data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayVertex.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/mesh2d/Voronoi.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsCurve.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsSurface.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/ControlNet.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/CurveCreator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/CurveUtils.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/InterpolationException.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/KnotVector.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCreator.java +2 -2
- data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCurve.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsMeshCreator.java +0 -0
- data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsSurface.java +0 -0
- data/src/{toxi → main/java/toxi}/image/util/Filter8bit.java +0 -0
- data/src/{toxi → main/java/toxi}/image/util/TiledFrameExporter.java +0 -0
- data/src/{toxi → main/java/toxi}/math/BezierInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/CircularInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/CosineInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/DecimatedInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/ExponentialInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/InterpolateStrategy.java +0 -0
- data/src/{toxi → main/java/toxi}/math/Interpolation2D.java +0 -0
- data/src/{toxi → main/java/toxi}/math/LinearInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/MathUtils.java +0 -0
- data/src/{toxi → main/java/toxi}/math/NonLinearScaleMap.java +0 -0
- data/src/{toxi → main/java/toxi}/math/ScaleMap.java +0 -0
- data/src/{toxi → main/java/toxi}/math/SigmoidInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/SinCosLUT.java +0 -0
- data/src/{toxi → main/java/toxi}/math/ThresholdInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/ZoomLensInterpolation.java +0 -0
- data/src/{toxi → main/java/toxi}/math/conversion/UnitTranslator.java +0 -0
- data/src/{toxi → main/java/toxi}/math/noise/PerlinNoise.java +0 -0
- data/src/{toxi → main/java/toxi}/math/noise/SimplexNoise.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/AMFMSineWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/AbstractWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/ConstantWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/FMHarmonicSquareWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/FMSawtoothWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/FMSineWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/FMSquareWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/FMTriangleWave.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/SineWave.java +2 -2
- data/src/{toxi → main/java/toxi}/math/waves/Wave2D.java +0 -0
- data/src/{toxi → main/java/toxi}/math/waves/WaveState.java +0 -0
- data/src/{toxi → main/java/toxi}/music/scale/AbstractScale.java +0 -0
- data/src/{toxi → main/java/toxi}/music/scale/GenericScale.java +0 -0
- data/src/{toxi → main/java/toxi}/music/scale/MajorScale.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/AttributedEdge.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/AttributedFace.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/IndexedTriangleMesh.java +70 -69
- data/src/{toxi → main/java/toxi}/newmesh/MeshAttributeCompiler.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/MeshFaceNormalCompiler.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/MeshUVCompiler.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/MeshVertexColorCompiler.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/MeshVertexCompiler.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/MeshVertexNormalCompiler.java +0 -0
- data/src/{toxi → main/java/toxi}/newmesh/SpatialIndex.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/ParticlePath2D.java +4 -3
- data/src/{toxi → main/java/toxi}/physics2d/ParticleString2D.java +2 -2
- data/src/{toxi → main/java/toxi}/physics2d/PullBackSpring2D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/VerletConstrainedSpring2D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/VerletMinDistanceSpring2D.java +0 -0
- data/src/main/java/toxi/physics2d/VerletParticle2D.java +449 -0
- data/src/main/java/toxi/physics2d/VerletPhysics2D.java +440 -0
- data/src/{toxi → main/java/toxi}/physics2d/VerletSpring2D.java +0 -0
- data/src/main/java/toxi/physics2d/behaviors/AttractionBehavior2D.java +211 -0
- data/src/{toxi → main/java/toxi}/physics2d/behaviors/ConstantForceBehavior2D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/behaviors/GravityBehavior2D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/behaviors/ParticleBehavior2D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/AngularConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/AxisConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/CircularConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/MaxConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/MinConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/ParticleConstraint2D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/PolygonConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics2d/constraints/RectConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/ParticlePath3D.java +4 -3
- data/src/{toxi → main/java/toxi}/physics3d/ParticleString3D.java +2 -2
- data/src/{toxi → main/java/toxi}/physics3d/PullBackSpring3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/VerletConstrainedSpring3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/VerletMinDistanceSpring3D.java +0 -0
- data/src/main/java/toxi/physics3d/VerletParticle3D.java +377 -0
- data/src/{toxi → main/java/toxi}/physics3d/VerletPhysics3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/VerletSpring3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/behaviors/AttractionBehavior3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/behaviors/ConstantForceBehavior3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/behaviors/GravityBehavior3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/behaviors/ParticleBehavior3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/AxisConstraint.java +1 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/BoxConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/CylinderConstraint.java +1 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/MaxConstraint.java +1 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/MinConstraint.java +1 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/ParticleConstraint3D.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/PlaneConstraint.java +0 -0
- data/src/{toxi → main/java/toxi}/physics3d/constraints/SoftBoxConstraint.java +38 -38
- data/src/{toxi → main/java/toxi}/physics3d/constraints/SphereConstraint.java +1 -0
- data/src/{toxi → main/java/toxi}/processing/ArrowModifier.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/DashedLineModifier.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/DeltaOrientationMapper.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/Line2DRenderModifier.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/MeshToVBO.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/NormalMapper.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/POVInterface.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/POVMesh.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/POVWriter.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/RCOpaque.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/RCTransp.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/TextureBuilder.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/Textures.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/ToxiclibsSupport.java +3 -3
- data/src/{toxi → main/java/toxi}/processing/Tracing.java +0 -0
- data/src/{toxi → main/java/toxi}/processing/XYZNormalMapper.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/automata/CAMatrix.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/automata/CARule.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/automata/CARule2D.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/automata/CAWolfram1D.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/automata/EvolvableMatrix.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/automata/MatrixEvolver.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/BottomUpOrder.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLA.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLAConfiguration.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLAEventAdapter.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLAEventListener.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLAGuideLines.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLAParticle.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/DLASegment.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/PipelineOrder.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/dla/RadialDistanceOrder.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/erosion/ErosionFunction.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/erosion/TalusAngleErosion.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/erosion/ThermalErosion.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver2D.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver3D.java +0 -0
- data/src/{toxi → main/java/toxi}/sim/grayscott/GrayScott.java +0 -0
- data/src/{toxi → main/java/toxi}/util/DateUtils.java +0 -0
- data/src/{toxi → main/java/toxi}/util/FileSequenceDescriptor.java +0 -0
- data/src/main/java/toxi/util/FileUtils.java +443 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/ArraySet.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/ArrayUtil.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/BiasedDoubleRange.java +3 -3
- data/src/{toxi → main/java/toxi}/util/datatypes/BiasedFloatRange.java +2 -3
- data/src/{toxi → main/java/toxi}/util/datatypes/BiasedIntegerRange.java +3 -3
- data/src/{toxi → main/java/toxi}/util/datatypes/DoubleRange.java +3 -3
- data/src/{toxi → main/java/toxi}/util/datatypes/FloatRange.java +3 -3
- data/src/{toxi → main/java/toxi}/util/datatypes/GenericSet.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/IntegerRange.java +3 -3
- data/src/{toxi → main/java/toxi}/util/datatypes/IntegerSet.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/ItemIndex.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/SingletonRegistry.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/TypedProperties.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/UndirectedGraph.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/UniqueItemIndex.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomEntry.java +0 -0
- data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomSet.java +0 -0
- data/src/{toxi → main/java/toxi}/util/events/EventDispatcher.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/AdditiveBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/ArrayIsoSurface.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/BoxBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/BrushMode.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/HashIsoSurface.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/IsoSurface.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/MarchingCubesIndex.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/MeshLatticeBuilder.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/MeshVoxelizer.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/MultiplyBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/PeakBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/ReplaceBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/RoundBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/VolumetricBrush.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/VolumetricHashMap.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/VolumetricSpace.java +0 -0
- data/src/{toxi → main/java/toxi}/volume/VolumetricSpaceArray.java +0 -0
- data/src/test/java/module-info.java +10 -0
- data/src/{BooleanShapes.java → test/java/toxi/BooleanShapes.java} +2 -2
- data/toxiclibs.gemspec +7 -8
- metadata +357 -368
- data/.mvn/wrapper/maven-wrapper.properties +0 -1
- data/lib/args4j-2.0.31.jar +0 -0
- data/src/com/toxi/net/ClientListener.java +0 -41
- data/src/com/toxi/net/ServerListener.java +0 -70
- data/src/com/toxi/net/ServerListenerAdapter.java +0 -47
- data/src/com/toxi/net/ServerState.java +0 -18
- data/src/com/toxi/net/UDPConnection.java +0 -66
- data/src/com/toxi/net/UDPSyncClient.java +0 -81
- data/src/com/toxi/net/UDPSyncServer.java +0 -450
- data/src/com/toxi/nio/UDPClient.java +0 -121
- data/src/com/toxi/nio/UDPClientState.java +0 -32
- data/src/com/toxi/nio/UDPServer.java +0 -129
- data/src/toxi/data/feeds/AtomFeed.java +0 -129
- data/src/toxi/data/feeds/RSSFeed.java +0 -99
- data/src/toxi/physics2d/VerletParticle2D.java +0 -457
- data/src/toxi/physics2d/VerletPhysics2D.java +0 -448
- data/src/toxi/physics2d/behaviors/AttractionBehavior2D.java +0 -212
- data/src/toxi/physics3d/VerletParticle3D.java +0 -385
- data/src/toxi/util/FileUtils.java +0 -467
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ea1e1885aff507b0bb35cf61ddab9b086553d07b35be64e3b1673cbacc7846ce
|
4
|
+
data.tar.gz: dc1955313145c89dafbe4ace7b55d15af37f0d6fafee423a3a700e423ed14fca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 466378a7a6896aad508c6de8928253695fa891aca794a90906e9481021195f556cd42363a79f50bf33e4d9c7dd4e65ff4ab7d4dd48f4a54acd8696abaae76a84
|
7
|
+
data.tar.gz: c1b115629d788cc547cc37fedeb07406c9f55d572f4553bc842bc7b07aa00cbf5b17a961fd523463924adca4e593273248bb9f072e8cc3c3d2de3a50058cb27e
|
data/.mvn/extensions.xml
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
|
+
**v2.1.0** Add module-info.
|
1
2
|
|
2
|
-
**
|
3
|
+
**v2.0.0** Bump to target minimum of jdk11 thus removing JAXB annotations (possibly esoteric and underused anyway).
|
4
|
+
|
5
|
+
**v1.0.1** Bump processing to 3.4, support toxiclibs Voronoi etc
|
6
|
+
|
7
|
+
**v1.0.0** About time we got to 1.0.0 bump processing to 3.3.4
|
8
|
+
|
9
|
+
**v0.9.3** Bump processing version to processing-3.3.2.
|
10
|
+
|
11
|
+
**v0.9.2** Bump processing version, add `to_ruby_string` method to `ColorList` see examples, allow use of `TColor` without `Toxi` prefix. Removed audio.
|
3
12
|
|
4
13
|
**v0.9.1** Make it easier to load PerlinNoise and SimplexNoise
|
5
14
|
|
data/README.md
CHANGED
@@ -8,10 +8,10 @@
|
|
8
8
|
gem install toxiclibs
|
9
9
|
```
|
10
10
|
|
11
|
-
### NB: Use version 0.4 for ruby-processing, and
|
11
|
+
### NB: Use version 0.4 for ruby-processing, and 2.1.0+ for propane, PiCrate and JRubyArt
|
12
12
|
|
13
13
|
NB: Build is only failing because current version of processing is not available at maven central.
|
14
|
-
This gem provides Karsten Schmidts (aka toxi, @postspectacular) toxiclibs jars for JRubyArt. To compile the gem follow the instructions for [JRubyArt][]. Most parts of toxiclibs API is exposed in the latest version, (but only a few examples are included) in principle it should be possible to make all available!!! For this demonstration I have used up to date source code for version 21, since [toxis final release][] has not yet been released (although [Dan Shiffman][] has released a version for processing-3.0+). There are reported to be number of outstanding bugs with toxiclibs, if they affect you report it [here][] (or better fix them yourself and submit a pull request).
|
14
|
+
This gem provides Karsten Schmidts (aka toxi, @postspectacular) toxiclibs jars for JRubyArt. To compile the gem follow the instructions for [JRubyArt][]. Most parts of toxiclibs API is exposed in the latest version, (but only a few examples are included) in principle it should be possible to make all available!!! For this demonstration I have used up to date source code for version 21, since [toxis final release][] has not yet been released (although [Dan Shiffman][] has released a version for processing-3.0+). There are reported to be number of outstanding bugs with toxiclibs, if they affect you report it [here][] (or better fix them yourself and submit a pull request).
|
15
15
|
|
16
16
|

|
17
17
|
|
@@ -27,7 +27,7 @@ This gem provides Karsten Schmidts (aka toxi, @postspectacular) toxiclibs jars f
|
|
27
27
|
|
28
28
|
### Licensing
|
29
29
|
|
30
|
-
|
30
|
+
It should be clear that the original toxiclibs is the work of Karsten Schmidt see [Copyright][]
|
31
31
|
|
32
32
|
This demo & library is free software you can redistribute it and/or
|
33
33
|
modify it under the terms of the GNU Lesser General Public
|
data/Rakefile
CHANGED
@@ -18,13 +18,12 @@ end
|
|
18
18
|
|
19
19
|
desc 'Build gem'
|
20
20
|
task :gem do
|
21
|
-
sh "
|
21
|
+
sh "jgem build toxiclibs.gemspec"
|
22
22
|
end
|
23
23
|
|
24
24
|
desc 'Compile'
|
25
25
|
task :compile do
|
26
26
|
sh "mvn package"
|
27
|
-
sh "mvn dependency:copy"
|
28
27
|
sh "mv target/toxiclibs.jar lib"
|
29
28
|
end
|
30
29
|
|
data/examples/boolean_shapes.rb
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
require 'toxiclibs'
|
2
|
+
# Original toxi example had ellipse and circle but there were flaws in union and
|
3
|
+
# and XOR rendering caused by ellipse shapes
|
2
4
|
load_library :control_panel
|
3
5
|
attr_reader :gfx, :bool, :panel, :type, :hide, :polies
|
4
6
|
include Toxi
|
5
7
|
|
6
|
-
TYPE = [
|
8
|
+
TYPE = [
|
9
|
+
BooleanShapeBuilder::Type::UNION,
|
10
|
+
BooleanShapeBuilder::Type::XOR
|
11
|
+
]
|
7
12
|
KEY = %w(union xor).freeze
|
8
13
|
|
9
14
|
def setup
|
10
15
|
sketch_title 'Boolean Shapes'
|
11
|
-
@gfx = Gfx::ToxiclibsSupport.new(self)
|
16
|
+
@gfx = Gfx::ToxiclibsSupport.new(self, self.g)
|
12
17
|
@bool = KEY.zip(TYPE).to_h
|
13
18
|
control_panel do |c|
|
14
|
-
c.title = '
|
19
|
+
c.title = 'Union or XOR'
|
15
20
|
c.menu :type, KEY, 'union'
|
16
21
|
@panel = c
|
17
22
|
end
|
@@ -26,8 +31,7 @@ def draw
|
|
26
31
|
background(160)
|
27
32
|
builder = BooleanShapeBuilder.new(bool[type])
|
28
33
|
phi = frame_count * 0.01
|
29
|
-
builder.add_shape(Circle.new(mouse_x, mouse_y,
|
30
|
-
builder.add_shape(Ellipse.new(150, 130 + sin(phi) * 50, 120, 60))
|
34
|
+
builder.add_shape(Circle.new(mouse_x, mouse_y, 70).toPolygon2D(30))
|
31
35
|
builder.add_shape(Rect.new(200 + sin(phi * 13 / 8) * 50, 180, 100, 100))
|
32
36
|
builder.add_shape(Triangle2D.create_equilateral_from(
|
33
37
|
TVec2D.new(50 + sin(phi * 15 / 13) * 50, 200), TVec2D.new(300, 200))
|
@@ -13,7 +13,7 @@ class Node < Physics::VerletParticle2D
|
|
13
13
|
def_delegators(:@app, :fill, :stroke, :stroke_weight, :ellipse)
|
14
14
|
def initialize(pos)
|
15
15
|
super(pos)
|
16
|
-
@app =
|
16
|
+
@app = Processing.app
|
17
17
|
end
|
18
18
|
|
19
19
|
# All we're doing really is adding a display function to a VerletParticle
|
data/examples/inflate_mesh.rb
CHANGED
data/examples/model_align.rb
CHANGED
@@ -16,7 +16,7 @@ end
|
|
16
16
|
|
17
17
|
def setup
|
18
18
|
sketch_title 'Model Align'
|
19
|
-
|
19
|
+
ArcBall.init(self)
|
20
20
|
@gfx = Gfx::ToxiclibsSupport.new(self)
|
21
21
|
# compute mesh positions on circle in XZ plane
|
22
22
|
@positions = (Toxi::Circle.new(200).toPolygon2D(8)).map(&:to3DXZ)
|
data/examples/physics_type.rb
CHANGED
data/examples/povmesh/ftest.rb
CHANGED
@@ -48,12 +48,12 @@ def key_pressed
|
|
48
48
|
when 'p', 'P'
|
49
49
|
fileID = 'FTest'
|
50
50
|
pm = Gfx::POVMesh.new(self)
|
51
|
-
file = java.io.File.new(
|
51
|
+
file = java.io.File.new(data_path(fileID + '.inc'))
|
52
52
|
pm.begin_save(file)
|
53
53
|
pm.set_texture(Gfx::Textures::CHROME)
|
54
54
|
pm.saveAsPOV(mesh0.faceOutwards, false)
|
55
|
-
pm.end_save
|
55
|
+
pm.end_save
|
56
56
|
when 's', 'S'
|
57
57
|
save_frame(data_path('FTest.png'))
|
58
58
|
end
|
59
|
-
end
|
59
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
|
2
|
+
require 'toxiclibs'
|
3
|
+
|
4
|
+
SWATCH_HEIGHT = 40.0
|
5
|
+
SWATCH_WIDTH = 5.0
|
6
|
+
SWATCH_GAP = 1
|
7
|
+
|
8
|
+
MAX_SIZE = 150.0
|
9
|
+
NUM_DISCS = 300
|
10
|
+
attr_reader :show_discs
|
11
|
+
|
12
|
+
def settings
|
13
|
+
size(1024, 768)
|
14
|
+
# smooth
|
15
|
+
end
|
16
|
+
|
17
|
+
def setup
|
18
|
+
sketch_title 'Color Theme'
|
19
|
+
@show_discs = true
|
20
|
+
noise_detail(2)
|
21
|
+
no_loop
|
22
|
+
end
|
23
|
+
|
24
|
+
def draw
|
25
|
+
# first define our new theme
|
26
|
+
t = Toxi::ColorTheme.new('test')
|
27
|
+
# add different color options, each with their own weight
|
28
|
+
t.add_range('soft ivory', 0.5)
|
29
|
+
t.add_range('intense goldenrod', 0.25)
|
30
|
+
t.add_range('warm saddlebrown', 0.15)
|
31
|
+
t.add_range('fresh teal', 0.05)
|
32
|
+
t.add_range('bright yellowgreen', 0.05)
|
33
|
+
# now add another rand hue which is using only bright shades
|
34
|
+
t.add_range(Toxi::ColorRange::BRIGHT, TColor.new_random, rand(0.02..0.05))
|
35
|
+
# use the TColor theme to create a list of 160 Colors
|
36
|
+
list = t.get_colors(160)
|
37
|
+
if show_discs
|
38
|
+
background(list.get_lightest.toARGB)
|
39
|
+
discs(list)
|
40
|
+
else
|
41
|
+
background(0)
|
42
|
+
yoff = 32
|
43
|
+
list.sort_by_distance(false)
|
44
|
+
swatches(list, 32, yoff)
|
45
|
+
yoff += SWATCH_HEIGHT + 10
|
46
|
+
list.sort_by_criteria(Toxi::AccessCriteria::LUMINANCE, false)
|
47
|
+
swatches(list, 32, yoff)
|
48
|
+
yoff += SWATCH_HEIGHT + 10
|
49
|
+
list.sort_by_criteria(Toxi::AccessCriteria::BRIGHTNESS, false)
|
50
|
+
swatches(list, 32, yoff)
|
51
|
+
yoff += SWATCH_HEIGHT + 10
|
52
|
+
list.sort_by_criteria(Toxi::AccessCriteria::SATURATION, false)
|
53
|
+
swatches(list, 32, yoff)
|
54
|
+
yoff += SWATCH_HEIGHT + 10
|
55
|
+
list.sort_by_criteria(Toxi::AccessCriteria::HUE, false)
|
56
|
+
swatches(list, 32, yoff)
|
57
|
+
yoff += SWATCH_HEIGHT + 10
|
58
|
+
list.sort_by_proximity_to(Toxi::NamedColor::WHITE, RGBDistanceProxy.new, false)
|
59
|
+
swatches(list, 32, yoff)
|
60
|
+
end
|
61
|
+
# save_frame(format('theme-%s%s', timestamp, '_##.png'))
|
62
|
+
end
|
63
|
+
|
64
|
+
def timestamp
|
65
|
+
Time.now.strftime('%Y%d%m_%H%M%S')
|
66
|
+
end
|
67
|
+
|
68
|
+
def key_pressed
|
69
|
+
@show_discs = !show_discs if key == ' '
|
70
|
+
redraw
|
71
|
+
end
|
72
|
+
|
73
|
+
def swatches(sorted, x, y)
|
74
|
+
no_stroke
|
75
|
+
colors = sorted.toARGBArray.to_a
|
76
|
+
colors.each do |c|
|
77
|
+
fill(c)
|
78
|
+
rect(x, y, SWATCH_WIDTH, SWATCH_HEIGHT)
|
79
|
+
x += SWATCH_WIDTH + SWATCH_GAP
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def discs(list)
|
84
|
+
no_stroke
|
85
|
+
colors = list.toARGBArray.to_a
|
86
|
+
colors.shuffle.each do |c|
|
87
|
+
fill(c, rand(125.0..255)) # random transparency
|
88
|
+
r = rand(MAX_SIZE)
|
89
|
+
ellipse(rand(width), rand(height), r, r)
|
90
|
+
end
|
91
|
+
end
|
data/lib/toxiclibs/version.rb
CHANGED
data/lib/toxiclibs.jar
CHANGED
Binary file
|
data/lib/toxiclibs.rb
CHANGED
@@ -8,22 +8,22 @@ if RUBY_PLATFORM == 'java'
|
|
8
8
|
module Simulation
|
9
9
|
include_package 'toxi.sim.automata'
|
10
10
|
include_package 'toxi.sim.dla'
|
11
|
-
erosion = %w
|
11
|
+
erosion = %w[ErosionFunction TalusAngleErosion ThermalErosion]
|
12
12
|
erosion_format = 'toxi.sim.erosion.%s'
|
13
13
|
import_class_list(erosion, erosion_format)
|
14
|
-
fluids = %w
|
14
|
+
fluids = %w[FluidSolver2D FluidSolver3D]
|
15
15
|
fluids_format = 'toxi.sim.fluids.%s'
|
16
16
|
import_class_list(fluids, fluids_format)
|
17
17
|
java_import 'toxi.sim.grayscott.GrayScott'
|
18
18
|
end
|
19
19
|
|
20
20
|
module Physics
|
21
|
-
behavior2d = %w
|
21
|
+
behavior2d = %w[AttractionBehavior2D ConstantForceBehavior2D GravityBehavior2D ParticleBehavior2D]
|
22
22
|
behavior2d_format = 'toxi.physics2d.behaviors.%s'
|
23
23
|
import_class_list(behavior2d, behavior2d_format)
|
24
24
|
include_package 'toxi.physics2d.constraints'
|
25
25
|
include_package 'toxi.physics2d'
|
26
|
-
behavior3d = %w
|
26
|
+
behavior3d = %w[AttractionBehavior3D ConstantForceBehavior3D GravityBehavior3D ParticleBehavior3D]
|
27
27
|
behavior3d_format = 'toxi.physics3d.behaviors.%s'
|
28
28
|
import_class_list(behavior3d, behavior3d_format)
|
29
29
|
include_package 'toxi.physics3d.constraints'
|
@@ -39,40 +39,51 @@ if RUBY_PLATFORM == 'java'
|
|
39
39
|
include_package 'toxi.color.theory'
|
40
40
|
include_package 'toxi.util.datatypes'
|
41
41
|
java_import 'toxi.util.events.EventDispatcher'
|
42
|
-
utils = %w
|
42
|
+
utils = %w[DateUtils FileSequenceDescriptor FileUtils]
|
43
43
|
utils_format = 'toxi.util.%s'
|
44
44
|
import_class_list(utils, utils_format)
|
45
|
-
subdiv = %w
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
subdiv = %w[
|
46
|
+
CentroidSubdiv DisplacementSubdivision DualDisplacementSubdivision
|
47
|
+
DualSubdivision EdgeLengthComparator FaceCountComparator
|
48
|
+
MidpointDisplacementSubdivision MidpointSubdiv MidpointSubdivision
|
49
|
+
NewSubdivStrategy NormalDisplacementSubdivision SubdivisionStrategy
|
50
|
+
TriSubdivision
|
51
|
+
]
|
50
52
|
subdiv_format = 'toxi.geom.mesh.subdiv.%s'
|
51
53
|
import_class_list(subdiv, subdiv_format)
|
52
|
-
nurbs = %w
|
53
|
-
|
54
|
-
|
54
|
+
nurbs = %w[
|
55
|
+
BasicNurbsCurve BasicNurbsSurface ControlNet CurveCreator CurveUtils
|
56
|
+
InterpolationException KnotVector NurbsCreator NurbsCurve NurbsMeshCreator
|
57
|
+
NurbsSurface
|
58
|
+
]
|
55
59
|
nurbs_format = 'toxi.geom.nurbs.%s'
|
56
60
|
import_class_list(nurbs, nurbs_format)
|
57
61
|
include_package 'toxi.math'
|
58
|
-
noise = %w
|
62
|
+
noise = %w[SimplexNoise PerlinNoise]
|
59
63
|
noise_format = 'toxi.math.noise.%s'
|
60
64
|
import_class_list(noise, noise_format)
|
61
|
-
geom = %w
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
65
|
+
geom = %w[
|
66
|
+
AABB Axis3D AxisAlignedCylinder BernsteinPolynomial BezierCurve2D
|
67
|
+
BezierCurve3D BooleanShapeBuilder BoxIntersector Circle CircleIntersector
|
68
|
+
Cone ConvexPolygonClipper CoordinateExtractor Ellipse GMatrix GVector
|
69
|
+
GlobalGridTesselator GridTesselator Intersector2D Intersector3D IsectData2D
|
70
|
+
IsectData3D Line2D Line3D LineStrip2D LineStrip3D LocalGridTesselator Matrix3d
|
71
|
+
Matrix4f Matrix4x4 MatrixSizeException OctreeVisitor Origin3D Plane
|
72
|
+
PlaneIntersector PointCloud3D PointOctree PointQuadtree Polygon2D
|
73
|
+
PolygonClipper2D PolygonTesselator QuadtreeVisitor Quaternion Ray2D Ray3D
|
74
|
+
Ray3DIntersector ReadonlyVec2D ReadonlyVec3D ReadonlyVec4D Rect Reflector3D
|
75
|
+
Shape2D Shape3D SingularMatrixException SpatialBins SpatialIndex Sphere
|
76
|
+
SphereIntersectorReflector Spline2D Spline3D SutherlandHodgemanClipper
|
77
|
+
Triangle2D Triangle3D TriangleIntersector Vec2D Vec3D Vec4D VecMathUtil
|
78
|
+
XAxisCylinder YAxisCylinder ZAxisCylinder
|
79
|
+
]
|
74
80
|
geom_format = 'toxi.geom.%s'
|
75
81
|
import_class_list(geom, geom_format)
|
82
|
+
geom_mesh2d = %w[
|
83
|
+
DelaunayTriangle DelaunayVertex DelaunayTriangulation Voronoi
|
84
|
+
]
|
85
|
+
geom_mesh2d_format = 'toxi.geom.mesh2d.%s'
|
86
|
+
import_class_list(geom_mesh2d, geom_mesh2d_format)
|
76
87
|
end
|
77
88
|
|
78
89
|
module Gfx
|
@@ -83,18 +94,24 @@ if RUBY_PLATFORM == 'java'
|
|
83
94
|
TVec2D = Toxi::Vec2D
|
84
95
|
TVec3D = Toxi::Vec3D
|
85
96
|
AABB = Toxi::AABB
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
97
|
+
# alias Toxi::TColor
|
98
|
+
TColor = Toxi::TColor
|
99
|
+
volume = %w[
|
100
|
+
AdditiveBrush ArrayIsoSurface BoxBrush BrushMode HashIsoSurface
|
101
|
+
IsoSurface MarchingCubesIndex MeshLatticeBuilder MeshVoxelizer
|
102
|
+
MultiplyBrush PeakBrush ReplaceBrush RoundBrush VolumetricBrush
|
103
|
+
VolumetricHashMap VolumetricSpace VolumetricSpaceArray
|
104
|
+
]
|
90
105
|
volume_format = 'toxi.volume.%s'
|
91
106
|
import_class_list(volume, volume_format)
|
92
|
-
mesh = %w
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
107
|
+
mesh = %w[
|
108
|
+
BezierPatch BoxSelector DefaultSTLColorModel DefaultSelector Face
|
109
|
+
LaplacianSmooth MaterialiseSTLColorModel Mesh3D MeshIntersector OBJWriter
|
110
|
+
PLYWriter PlaneSelector STLColorModel STLReader STLWriter SphereFunction
|
111
|
+
SphericalHarmonics SuperEllipsoid SurfaceFunction SurfaceMeshBuilder
|
112
|
+
Terrain TriangleMesh Vertex VertexSelector WEFace WEMeshFilterStrategy
|
113
|
+
WETriangleMesh WEVertex WingedEdge
|
114
|
+
]
|
98
115
|
mesh_format = 'toxi.geom.mesh.%s'
|
99
116
|
import_class_list(mesh, mesh_format)
|
100
117
|
end
|
data/pom.rb
CHANGED
@@ -1,57 +1,49 @@
|
|
1
1
|
project 'toxiclibs' do
|
2
2
|
|
3
3
|
model_version '4.0.0'
|
4
|
-
id 'ruby-processing:toxiclibs:
|
4
|
+
id 'ruby-processing:toxiclibs:2.1.0'
|
5
5
|
packaging 'jar'
|
6
6
|
|
7
7
|
description 'toxiclibs-library for JRubyArt'
|
8
|
-
|
9
|
-
organization 'ruby-processing', 'https://ruby-processing.github.io'
|
10
8
|
|
11
9
|
developer 'monkstone' do
|
12
10
|
name 'Martin Prout'
|
13
11
|
email 'mamba2928@yahoo.co.uk'
|
14
|
-
roles 'developer'
|
12
|
+
roles 'developer'
|
15
13
|
end
|
16
14
|
|
17
|
-
license 'LGPL 2', 'http://www.gnu.org/licenses/lgpl-2.1-standalone.html'
|
18
|
-
|
19
15
|
issue_management 'https://github.com/ruby-processing/toxiclibs/issues', 'Github'
|
20
16
|
|
21
17
|
source_control( :url => 'https://github.com/ruby-processing/toxiclibs',
|
22
18
|
:connection => 'scm:git:git://github.com/ruby-processing/toxiclibs.git',
|
23
19
|
:developer_connection => 'scm:git:git@github.com:ruby-processing/toxiclibs.git' )
|
24
20
|
|
25
|
-
properties( '
|
21
|
+
properties( 'source.directory' => 'src',
|
22
|
+
'polyglot.dump.pom' => 'pom.xml',
|
26
23
|
'project.build.sourceEncoding' => 'UTF-8',
|
27
|
-
'
|
28
|
-
'polyglot.dump.pom' => 'pom.xml'
|
24
|
+
'target.release' => '11',
|
25
|
+
'polyglot.dump.pom' => 'pom.xml',
|
26
|
+
'maven.deploy.skip' => 'true'
|
29
27
|
)
|
30
28
|
|
31
|
-
jar '
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
plugin :dependency, '2.10' do
|
43
|
-
execute_goals( :id => 'default-cli',
|
44
|
-
'artifactItems' => [ { 'groupId' => 'args4j',
|
45
|
-
'artifactId' => 'args4j',
|
46
|
-
'version' => '2.0.31',
|
47
|
-
'type' => 'jar',
|
48
|
-
'outputDirectory' => 'lib' } ] )
|
29
|
+
jar 'org.processing:core:4.0.0'
|
30
|
+
|
31
|
+
overrides do
|
32
|
+
plugin( :compiler, '3.8.1',
|
33
|
+
'release' => '11' )
|
34
|
+
plugin :javadoc, '2.10.4'
|
35
|
+
plugin :jar, '3.2.0'
|
36
|
+
plugin :jdeps, '3.1.2' do
|
37
|
+
execute_goals 'jdkinternals', 'test-jdkinternals'
|
38
|
+
end
|
39
|
+
|
49
40
|
end
|
50
41
|
|
51
42
|
|
52
43
|
build do
|
53
44
|
default_goal 'package'
|
54
|
-
source_directory '
|
45
|
+
source_directory '${source.directory}/main/java'
|
55
46
|
final_name 'toxiclibs'
|
56
47
|
end
|
48
|
+
|
57
49
|
end
|