toxiclibs 0.9.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
![grayscott image](http://4.bp.blogspot.com/-d4MiL4_0Njk/VFJMv6VUicI/AAAAAAAAEgY/fFAfrXDxNXM/s400/grayscott.png)
|
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
|