toxiclibs 1.0.0 → 2.0.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.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/extensions.xml +1 -1
  3. data/.travis.yml +3 -4
  4. data/CHANGELOG.md +3 -0
  5. data/README.md +2 -2
  6. data/Rakefile +0 -1
  7. data/examples/attract_repel/attractor.rb +1 -1
  8. data/examples/attract_repel/particle.rb +1 -1
  9. data/examples/boolean_shapes.rb +9 -5
  10. data/examples/force_directed/node.rb +1 -1
  11. data/examples/inflate_mesh.rb +1 -1
  12. data/examples/model_align.rb +1 -1
  13. data/examples/physics_type.rb +1 -1
  14. data/examples/povmesh/ftest.rb +3 -3
  15. data/examples/toxiclibs_color_theme.rb +91 -0
  16. data/lib/toxiclibs.rb +52 -37
  17. data/lib/toxiclibs/version.rb +1 -1
  18. data/pom.rb +22 -26
  19. data/pom.xml +42 -64
  20. data/src/{toxi → main/java/toxi}/color/AccessCriteria.java +0 -0
  21. data/src/{toxi → main/java/toxi}/color/AlphaAccessor.java +0 -0
  22. data/src/{toxi → main/java/toxi}/color/CMYKAccessor.java +0 -0
  23. data/src/{toxi → main/java/toxi}/color/CMYKDistanceProxy.java +0 -0
  24. data/src/{toxi → main/java/toxi}/color/ColorGradient.java +0 -0
  25. data/src/{toxi → main/java/toxi}/color/ColorList.java +2 -4
  26. data/src/{toxi → main/java/toxi}/color/ColorRange.java +0 -0
  27. data/src/{toxi → main/java/toxi}/color/ColorTheme.java +0 -0
  28. data/src/{toxi → main/java/toxi}/color/DistanceProxy.java +0 -0
  29. data/src/{toxi → main/java/toxi}/color/HSVAccessor.java +0 -0
  30. data/src/{toxi → main/java/toxi}/color/HSVDistanceProxy.java +0 -0
  31. data/src/{toxi → main/java/toxi}/color/HistEntry.java +0 -0
  32. data/src/{toxi → main/java/toxi}/color/Histogram.java +0 -0
  33. data/src/{toxi → main/java/toxi}/color/Hue.java +0 -0
  34. data/src/{toxi → main/java/toxi}/color/LuminanceAccessor.java +0 -0
  35. data/src/{toxi → main/java/toxi}/color/NamedColor.java +0 -0
  36. data/src/{toxi → main/java/toxi}/color/ProximityComparator.java +0 -0
  37. data/src/{toxi → main/java/toxi}/color/RGBAccessor.java +0 -0
  38. data/src/{toxi → main/java/toxi}/color/RGBDistanceProxy.java +0 -0
  39. data/src/{toxi → main/java/toxi}/color/ReadonlyTColor.java +0 -0
  40. data/src/{toxi → main/java/toxi}/color/TColor.java +0 -0
  41. data/src/{toxi → main/java/toxi}/color/TColorAdapter.java +4 -4
  42. data/src/{toxi → main/java/toxi}/color/ToneMap.java +0 -0
  43. data/src/{toxi → main/java/toxi}/color/theory/AnalogousStrategy.java +0 -0
  44. data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryRegistry.java +0 -0
  45. data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryStrategy.java +0 -0
  46. data/src/{toxi → main/java/toxi}/color/theory/ComplementaryStrategy.java +0 -0
  47. data/src/{toxi → main/java/toxi}/color/theory/CompoundTheoryStrategy.java +0 -0
  48. data/src/{toxi → main/java/toxi}/color/theory/LeftSplitComplementaryStrategy.java +0 -0
  49. data/src/{toxi → main/java/toxi}/color/theory/MonochromeTheoryStrategy.java +0 -0
  50. data/src/{toxi → main/java/toxi}/color/theory/RightSplitComplementaryStrategy.java +0 -0
  51. data/src/{toxi → main/java/toxi}/color/theory/SingleComplementStrategy.java +0 -0
  52. data/src/{toxi → main/java/toxi}/color/theory/SplitComplementaryStrategy.java +0 -0
  53. data/src/{toxi → main/java/toxi}/color/theory/TetradTheoryStrategy.java +0 -0
  54. data/src/{toxi → main/java/toxi}/color/theory/TriadTheoryStrategy.java +0 -0
  55. data/src/{toxi → main/java/toxi}/data/csv/CSVAdapter.java +0 -0
  56. data/src/{toxi → main/java/toxi}/data/csv/CSVFieldMapper.java +0 -0
  57. data/src/{toxi → main/java/toxi}/data/csv/CSVListener.java +0 -0
  58. data/src/{toxi → main/java/toxi}/data/csv/CSVParser.java +0 -0
  59. data/src/{toxi → main/java/toxi}/data/feeds/AtomAuthor.java +2 -2
  60. data/src/{toxi → main/java/toxi}/data/feeds/AtomContent.java +3 -4
  61. data/src/{toxi → main/java/toxi}/data/feeds/AtomEntry.java +9 -13
  62. data/src/main/java/toxi/data/feeds/AtomFeed.java +91 -0
  63. data/src/{toxi → main/java/toxi}/data/feeds/AtomLink.java +3 -2
  64. data/src/{toxi → main/java/toxi}/data/feeds/RSSChannel.java +10 -11
  65. data/src/{toxi → main/java/toxi}/data/feeds/RSSEnclosure.java +3 -3
  66. data/src/{toxi → main/java/toxi}/data/feeds/RSSItem.java +11 -13
  67. data/src/{toxi → main/java/toxi}/data/feeds/util/EntityStripper.java +0 -0
  68. data/src/{toxi → main/java/toxi}/data/feeds/util/Iso8601DateAdapter.java +6 -7
  69. data/src/{toxi → main/java/toxi}/data/feeds/util/Rfc822DateAdapter.java +5 -6
  70. data/src/{toxi → main/java/toxi}/geom/AABB.java +8 -9
  71. data/src/{toxi → main/java/toxi}/geom/Axis3D.java +0 -0
  72. data/src/{toxi → main/java/toxi}/geom/AxisAlignedCylinder.java +0 -0
  73. data/src/{toxi → main/java/toxi}/geom/BernsteinPolynomial.java +0 -0
  74. data/src/{toxi → main/java/toxi}/geom/BezierCurve2D.java +0 -0
  75. data/src/{toxi → main/java/toxi}/geom/BezierCurve3D.java +0 -0
  76. data/src/{toxi → main/java/toxi}/geom/BooleanShapeBuilder.java +0 -0
  77. data/src/{toxi → main/java/toxi}/geom/BoxIntersector.java +0 -0
  78. data/src/{toxi → main/java/toxi}/geom/Circle.java +2 -2
  79. data/src/{toxi → main/java/toxi}/geom/CircleIntersector.java +0 -0
  80. data/src/{toxi → main/java/toxi}/geom/Cone.java +0 -0
  81. data/src/{toxi → main/java/toxi}/geom/ConvexPolygonClipper.java +0 -0
  82. data/src/{toxi → main/java/toxi}/geom/CoordinateExtractor.java +0 -0
  83. data/src/{toxi → main/java/toxi}/geom/Ellipse.java +0 -0
  84. data/src/{toxi → main/java/toxi}/geom/GMatrix.java +0 -0
  85. data/src/{toxi → main/java/toxi}/geom/GVector.java +0 -0
  86. data/src/{toxi → main/java/toxi}/geom/GlobalGridTesselator.java +0 -0
  87. data/src/{toxi → main/java/toxi}/geom/GridTesselator.java +0 -0
  88. data/src/{toxi → main/java/toxi}/geom/Intersector2D.java +0 -0
  89. data/src/{toxi → main/java/toxi}/geom/Intersector3D.java +0 -0
  90. data/src/{toxi → main/java/toxi}/geom/IsectData2D.java +0 -0
  91. data/src/{toxi → main/java/toxi}/geom/IsectData3D.java +0 -0
  92. data/src/{toxi → main/java/toxi}/geom/Line2D.java +1 -2
  93. data/src/{toxi → main/java/toxi}/geom/Line3D.java +1 -2
  94. data/src/{toxi → main/java/toxi}/geom/LineStrip2D.java +2 -2
  95. data/src/{toxi → main/java/toxi}/geom/LineStrip3D.java +2 -2
  96. data/src/{toxi → main/java/toxi}/geom/LocalGridTesselator.java +0 -0
  97. data/src/{toxi → main/java/toxi}/geom/Matrix3d.java +0 -0
  98. data/src/{toxi → main/java/toxi}/geom/Matrix4f.java +0 -0
  99. data/src/{toxi → main/java/toxi}/geom/Matrix4x4.java +0 -0
  100. data/src/{toxi → main/java/toxi}/geom/MatrixSizeException.java +0 -0
  101. data/src/{toxi → main/java/toxi}/geom/OctreeVisitor.java +0 -0
  102. data/src/{toxi → main/java/toxi}/geom/Origin3D.java +12 -6
  103. data/src/{toxi → main/java/toxi}/geom/Plane.java +3 -5
  104. data/src/{toxi → main/java/toxi}/geom/PlaneIntersector.java +0 -0
  105. data/src/{toxi → main/java/toxi}/geom/PointCloud3D.java +15 -12
  106. data/src/{toxi → main/java/toxi}/geom/PointOctree.java +0 -0
  107. data/src/{toxi → main/java/toxi}/geom/PointQuadtree.java +0 -0
  108. data/src/{toxi → main/java/toxi}/geom/Polygon2D.java +34 -45
  109. data/src/{toxi → main/java/toxi}/geom/PolygonClipper2D.java +0 -0
  110. data/src/{toxi → main/java/toxi}/geom/PolygonTesselator.java +0 -0
  111. data/src/{toxi → main/java/toxi}/geom/QuadtreeVisitor.java +0 -0
  112. data/src/{toxi → main/java/toxi}/geom/Quaternion.java +3 -5
  113. data/src/{toxi → main/java/toxi}/geom/Ray2D.java +4 -5
  114. data/src/{toxi → main/java/toxi}/geom/Ray3D.java +3 -5
  115. data/src/{toxi → main/java/toxi}/geom/Ray3DIntersector.java +0 -0
  116. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec2D.java +0 -0
  117. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec3D.java +0 -0
  118. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec4D.java +0 -0
  119. data/src/{toxi → main/java/toxi}/geom/Rect.java +3 -5
  120. data/src/{toxi → main/java/toxi}/geom/Reflector3D.java +0 -0
  121. data/src/{toxi → main/java/toxi}/geom/Shape2D.java +0 -0
  122. data/src/{toxi → main/java/toxi}/geom/Shape3D.java +0 -0
  123. data/src/{toxi → main/java/toxi}/geom/SingularMatrixException.java +0 -0
  124. data/src/{toxi → main/java/toxi}/geom/SpatialBins.java +0 -0
  125. data/src/{toxi → main/java/toxi}/geom/SpatialIndex.java +0 -0
  126. data/src/{toxi → main/java/toxi}/geom/Sphere.java +3 -5
  127. data/src/{toxi → main/java/toxi}/geom/SphereIntersectorReflector.java +0 -0
  128. data/src/{toxi → main/java/toxi}/geom/Spline2D.java +12 -16
  129. data/src/{toxi → main/java/toxi}/geom/Spline3D.java +12 -16
  130. data/src/{toxi → main/java/toxi}/geom/SutherlandHodgemanClipper.java +0 -0
  131. data/src/{toxi → main/java/toxi}/geom/Triangle2D.java +4 -7
  132. data/src/{toxi → main/java/toxi}/geom/Triangle3D.java +5 -8
  133. data/src/{toxi → main/java/toxi}/geom/TriangleIntersector.java +0 -0
  134. data/src/{toxi → main/java/toxi}/geom/Vec2D.java +3 -3
  135. data/src/{toxi → main/java/toxi}/geom/Vec3D.java +4 -4
  136. data/src/{toxi → main/java/toxi}/geom/Vec4D.java +5 -5
  137. data/src/{toxi → main/java/toxi}/geom/VecMathUtil.java +0 -0
  138. data/src/{toxi → main/java/toxi}/geom/XAxisCylinder.java +0 -0
  139. data/src/{toxi → main/java/toxi}/geom/YAxisCylinder.java +0 -0
  140. data/src/{toxi → main/java/toxi}/geom/ZAxisCylinder.java +0 -0
  141. data/src/{toxi → main/java/toxi}/geom/mesh/BezierPatch.java +0 -0
  142. data/src/{toxi → main/java/toxi}/geom/mesh/BoxSelector.java +0 -0
  143. data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSTLColorModel.java +0 -0
  144. data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSelector.java +0 -0
  145. data/src/{toxi → main/java/toxi}/geom/mesh/Face.java +0 -0
  146. data/src/{toxi → main/java/toxi}/geom/mesh/LaplacianSmooth.java +0 -0
  147. data/src/{toxi → main/java/toxi}/geom/mesh/MaterialiseSTLColorModel.java +0 -0
  148. data/src/{toxi → main/java/toxi}/geom/mesh/Mesh3D.java +0 -0
  149. data/src/{toxi → main/java/toxi}/geom/mesh/MeshIntersector.java +0 -0
  150. data/src/{toxi → main/java/toxi}/geom/mesh/OBJWriter.java +0 -0
  151. data/src/{toxi → main/java/toxi}/geom/mesh/PLYWriter.java +0 -0
  152. data/src/{toxi → main/java/toxi}/geom/mesh/PlaneSelector.java +0 -0
  153. data/src/{toxi → main/java/toxi}/geom/mesh/STLColorModel.java +0 -0
  154. data/src/{toxi → main/java/toxi}/geom/mesh/STLReader.java +0 -0
  155. data/src/{toxi → main/java/toxi}/geom/mesh/STLWriter.java +0 -0
  156. data/src/{toxi → main/java/toxi}/geom/mesh/SphereFunction.java +0 -0
  157. data/src/{toxi → main/java/toxi}/geom/mesh/SphericalHarmonics.java +0 -0
  158. data/src/{toxi → main/java/toxi}/geom/mesh/SuperEllipsoid.java +0 -0
  159. data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceFunction.java +0 -0
  160. data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceMeshBuilder.java +0 -0
  161. data/src/{toxi → main/java/toxi}/geom/mesh/Terrain.java +0 -0
  162. data/src/{toxi → main/java/toxi}/geom/mesh/TriangleMesh.java +0 -0
  163. data/src/{toxi → main/java/toxi}/geom/mesh/Vertex.java +0 -0
  164. data/src/{toxi → main/java/toxi}/geom/mesh/VertexSelector.java +0 -0
  165. data/src/{toxi → main/java/toxi}/geom/mesh/WEFace.java +0 -0
  166. data/src/{toxi → main/java/toxi}/geom/mesh/WEMeshFilterStrategy.java +0 -0
  167. data/src/{toxi → main/java/toxi}/geom/mesh/WETriangleMesh.java +0 -0
  168. data/src/{toxi → main/java/toxi}/geom/mesh/WEVertex.java +0 -0
  169. data/src/{toxi → main/java/toxi}/geom/mesh/WingedEdge.java +2 -2
  170. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/CentroidSubdiv.java +0 -0
  171. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DisplacementSubdivision.java +0 -0
  172. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualDisplacementSubdivision.java +0 -0
  173. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualSubdivision.java +0 -0
  174. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/EdgeLengthComparator.java +0 -0
  175. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/FaceCountComparator.java +0 -0
  176. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointDisplacementSubdivision.java +0 -0
  177. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdiv.java +0 -0
  178. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdivision.java +0 -0
  179. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NewSubdivStrategy.java +0 -0
  180. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NormalDisplacementSubdivision.java +0 -0
  181. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/SubdivisionStrategy.java +0 -0
  182. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/TriSubdivision.java +0 -0
  183. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangle.java +0 -0
  184. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangulation.java +5 -7
  185. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayVertex.java +0 -0
  186. data/src/{toxi → main/java/toxi}/geom/mesh2d/Voronoi.java +0 -0
  187. data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsCurve.java +0 -0
  188. data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsSurface.java +0 -0
  189. data/src/{toxi → main/java/toxi}/geom/nurbs/ControlNet.java +0 -0
  190. data/src/{toxi → main/java/toxi}/geom/nurbs/CurveCreator.java +0 -0
  191. data/src/{toxi → main/java/toxi}/geom/nurbs/CurveUtils.java +0 -0
  192. data/src/{toxi → main/java/toxi}/geom/nurbs/InterpolationException.java +0 -0
  193. data/src/{toxi → main/java/toxi}/geom/nurbs/KnotVector.java +0 -0
  194. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCreator.java +2 -2
  195. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCurve.java +0 -0
  196. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsMeshCreator.java +0 -0
  197. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsSurface.java +0 -0
  198. data/src/{toxi → main/java/toxi}/image/util/Filter8bit.java +0 -0
  199. data/src/{toxi → main/java/toxi}/image/util/TiledFrameExporter.java +0 -0
  200. data/src/{toxi → main/java/toxi}/math/BezierInterpolation.java +0 -0
  201. data/src/{toxi → main/java/toxi}/math/CircularInterpolation.java +0 -0
  202. data/src/{toxi → main/java/toxi}/math/CosineInterpolation.java +0 -0
  203. data/src/{toxi → main/java/toxi}/math/DecimatedInterpolation.java +0 -0
  204. data/src/{toxi → main/java/toxi}/math/ExponentialInterpolation.java +0 -0
  205. data/src/{toxi → main/java/toxi}/math/InterpolateStrategy.java +0 -0
  206. data/src/{toxi → main/java/toxi}/math/Interpolation2D.java +0 -0
  207. data/src/{toxi → main/java/toxi}/math/LinearInterpolation.java +0 -0
  208. data/src/{toxi → main/java/toxi}/math/MathUtils.java +0 -0
  209. data/src/{toxi → main/java/toxi}/math/NonLinearScaleMap.java +0 -0
  210. data/src/{toxi → main/java/toxi}/math/ScaleMap.java +0 -0
  211. data/src/{toxi → main/java/toxi}/math/SigmoidInterpolation.java +0 -0
  212. data/src/{toxi → main/java/toxi}/math/SinCosLUT.java +0 -0
  213. data/src/{toxi → main/java/toxi}/math/ThresholdInterpolation.java +0 -0
  214. data/src/{toxi → main/java/toxi}/math/ZoomLensInterpolation.java +0 -0
  215. data/src/{toxi → main/java/toxi}/math/conversion/UnitTranslator.java +0 -0
  216. data/src/{toxi → main/java/toxi}/math/noise/PerlinNoise.java +0 -0
  217. data/src/{toxi → main/java/toxi}/math/noise/SimplexNoise.java +0 -0
  218. data/src/{toxi → main/java/toxi}/math/waves/AMFMSineWave.java +0 -0
  219. data/src/{toxi → main/java/toxi}/math/waves/AbstractWave.java +0 -0
  220. data/src/{toxi → main/java/toxi}/math/waves/ConstantWave.java +0 -0
  221. data/src/{toxi → main/java/toxi}/math/waves/FMHarmonicSquareWave.java +0 -0
  222. data/src/{toxi → main/java/toxi}/math/waves/FMSawtoothWave.java +0 -0
  223. data/src/{toxi → main/java/toxi}/math/waves/FMSineWave.java +0 -0
  224. data/src/{toxi → main/java/toxi}/math/waves/FMSquareWave.java +0 -0
  225. data/src/{toxi → main/java/toxi}/math/waves/FMTriangleWave.java +0 -0
  226. data/src/{toxi → main/java/toxi}/math/waves/SineWave.java +2 -2
  227. data/src/{toxi → main/java/toxi}/math/waves/Wave2D.java +0 -0
  228. data/src/{toxi → main/java/toxi}/math/waves/WaveState.java +0 -0
  229. data/src/{toxi → main/java/toxi}/music/scale/AbstractScale.java +0 -0
  230. data/src/{toxi → main/java/toxi}/music/scale/GenericScale.java +0 -0
  231. data/src/{toxi → main/java/toxi}/music/scale/MajorScale.java +0 -0
  232. data/src/{toxi → main/java/toxi}/newmesh/AttributedEdge.java +0 -0
  233. data/src/{toxi → main/java/toxi}/newmesh/AttributedFace.java +0 -0
  234. data/src/{toxi → main/java/toxi}/newmesh/IndexedTriangleMesh.java +70 -69
  235. data/src/{toxi → main/java/toxi}/newmesh/MeshAttributeCompiler.java +0 -0
  236. data/src/{toxi → main/java/toxi}/newmesh/MeshFaceNormalCompiler.java +0 -0
  237. data/src/{toxi → main/java/toxi}/newmesh/MeshUVCompiler.java +0 -0
  238. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexColorCompiler.java +0 -0
  239. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexCompiler.java +0 -0
  240. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexNormalCompiler.java +0 -0
  241. data/src/{toxi → main/java/toxi}/newmesh/SpatialIndex.java +0 -0
  242. data/src/{toxi → main/java/toxi}/physics2d/ParticlePath2D.java +4 -3
  243. data/src/{toxi → main/java/toxi}/physics2d/ParticleString2D.java +2 -2
  244. data/src/{toxi → main/java/toxi}/physics2d/PullBackSpring2D.java +0 -0
  245. data/src/{toxi → main/java/toxi}/physics2d/VerletConstrainedSpring2D.java +0 -0
  246. data/src/{toxi → main/java/toxi}/physics2d/VerletMinDistanceSpring2D.java +0 -0
  247. data/src/main/java/toxi/physics2d/VerletParticle2D.java +449 -0
  248. data/src/main/java/toxi/physics2d/VerletPhysics2D.java +440 -0
  249. data/src/{toxi → main/java/toxi}/physics2d/VerletSpring2D.java +0 -0
  250. data/src/main/java/toxi/physics2d/behaviors/AttractionBehavior2D.java +211 -0
  251. data/src/{toxi → main/java/toxi}/physics2d/behaviors/ConstantForceBehavior2D.java +0 -0
  252. data/src/{toxi → main/java/toxi}/physics2d/behaviors/GravityBehavior2D.java +0 -0
  253. data/src/{toxi → main/java/toxi}/physics2d/behaviors/ParticleBehavior2D.java +0 -0
  254. data/src/{toxi → main/java/toxi}/physics2d/constraints/AngularConstraint.java +0 -0
  255. data/src/{toxi → main/java/toxi}/physics2d/constraints/AxisConstraint.java +0 -0
  256. data/src/{toxi → main/java/toxi}/physics2d/constraints/CircularConstraint.java +0 -0
  257. data/src/{toxi → main/java/toxi}/physics2d/constraints/MaxConstraint.java +0 -0
  258. data/src/{toxi → main/java/toxi}/physics2d/constraints/MinConstraint.java +0 -0
  259. data/src/{toxi → main/java/toxi}/physics2d/constraints/ParticleConstraint2D.java +0 -0
  260. data/src/{toxi → main/java/toxi}/physics2d/constraints/PolygonConstraint.java +0 -0
  261. data/src/{toxi → main/java/toxi}/physics2d/constraints/RectConstraint.java +0 -0
  262. data/src/{toxi → main/java/toxi}/physics3d/ParticlePath3D.java +4 -3
  263. data/src/{toxi → main/java/toxi}/physics3d/ParticleString3D.java +2 -2
  264. data/src/{toxi → main/java/toxi}/physics3d/PullBackSpring3D.java +0 -0
  265. data/src/{toxi → main/java/toxi}/physics3d/VerletConstrainedSpring3D.java +0 -0
  266. data/src/{toxi → main/java/toxi}/physics3d/VerletMinDistanceSpring3D.java +0 -0
  267. data/src/main/java/toxi/physics3d/VerletParticle3D.java +377 -0
  268. data/src/{toxi → main/java/toxi}/physics3d/VerletPhysics3D.java +0 -0
  269. data/src/{toxi → main/java/toxi}/physics3d/VerletSpring3D.java +0 -0
  270. data/src/{toxi → main/java/toxi}/physics3d/behaviors/AttractionBehavior3D.java +0 -0
  271. data/src/{toxi → main/java/toxi}/physics3d/behaviors/ConstantForceBehavior3D.java +0 -0
  272. data/src/{toxi → main/java/toxi}/physics3d/behaviors/GravityBehavior3D.java +0 -0
  273. data/src/{toxi → main/java/toxi}/physics3d/behaviors/ParticleBehavior3D.java +0 -0
  274. data/src/{toxi → main/java/toxi}/physics3d/constraints/AxisConstraint.java +1 -0
  275. data/src/{toxi → main/java/toxi}/physics3d/constraints/BoxConstraint.java +0 -0
  276. data/src/{toxi → main/java/toxi}/physics3d/constraints/CylinderConstraint.java +1 -0
  277. data/src/{toxi → main/java/toxi}/physics3d/constraints/MaxConstraint.java +1 -0
  278. data/src/{toxi → main/java/toxi}/physics3d/constraints/MinConstraint.java +1 -0
  279. data/src/{toxi → main/java/toxi}/physics3d/constraints/ParticleConstraint3D.java +0 -0
  280. data/src/{toxi → main/java/toxi}/physics3d/constraints/PlaneConstraint.java +0 -0
  281. data/src/{toxi → main/java/toxi}/physics3d/constraints/SoftBoxConstraint.java +38 -38
  282. data/src/{toxi → main/java/toxi}/physics3d/constraints/SphereConstraint.java +1 -0
  283. data/src/{toxi → main/java/toxi}/processing/ArrowModifier.java +0 -0
  284. data/src/{toxi → main/java/toxi}/processing/DashedLineModifier.java +0 -0
  285. data/src/{toxi → main/java/toxi}/processing/DeltaOrientationMapper.java +0 -0
  286. data/src/{toxi → main/java/toxi}/processing/Line2DRenderModifier.java +0 -0
  287. data/src/{toxi → main/java/toxi}/processing/MeshToVBO.java +0 -0
  288. data/src/{toxi → main/java/toxi}/processing/NormalMapper.java +0 -0
  289. data/src/{toxi → main/java/toxi}/processing/POVInterface.java +0 -0
  290. data/src/{toxi → main/java/toxi}/processing/POVMesh.java +0 -0
  291. data/src/{toxi → main/java/toxi}/processing/POVWriter.java +0 -0
  292. data/src/{toxi → main/java/toxi}/processing/RCOpaque.java +0 -0
  293. data/src/{toxi → main/java/toxi}/processing/RCTransp.java +0 -0
  294. data/src/{toxi → main/java/toxi}/processing/TextureBuilder.java +0 -0
  295. data/src/{toxi → main/java/toxi}/processing/Textures.java +0 -0
  296. data/src/{toxi → main/java/toxi}/processing/ToxiclibsSupport.java +0 -0
  297. data/src/{toxi → main/java/toxi}/processing/Tracing.java +0 -0
  298. data/src/{toxi → main/java/toxi}/processing/XYZNormalMapper.java +0 -0
  299. data/src/{toxi → main/java/toxi}/sim/automata/CAMatrix.java +0 -0
  300. data/src/{toxi → main/java/toxi}/sim/automata/CARule.java +0 -0
  301. data/src/{toxi → main/java/toxi}/sim/automata/CARule2D.java +0 -0
  302. data/src/{toxi → main/java/toxi}/sim/automata/CAWolfram1D.java +0 -0
  303. data/src/{toxi → main/java/toxi}/sim/automata/EvolvableMatrix.java +0 -0
  304. data/src/{toxi → main/java/toxi}/sim/automata/MatrixEvolver.java +0 -0
  305. data/src/{toxi → main/java/toxi}/sim/dla/BottomUpOrder.java +0 -0
  306. data/src/{toxi → main/java/toxi}/sim/dla/DLA.java +0 -0
  307. data/src/{toxi → main/java/toxi}/sim/dla/DLAConfiguration.java +0 -0
  308. data/src/{toxi → main/java/toxi}/sim/dla/DLAEventAdapter.java +0 -0
  309. data/src/{toxi → main/java/toxi}/sim/dla/DLAEventListener.java +0 -0
  310. data/src/{toxi → main/java/toxi}/sim/dla/DLAGuideLines.java +0 -0
  311. data/src/{toxi → main/java/toxi}/sim/dla/DLAParticle.java +0 -0
  312. data/src/{toxi → main/java/toxi}/sim/dla/DLASegment.java +0 -0
  313. data/src/{toxi → main/java/toxi}/sim/dla/PipelineOrder.java +0 -0
  314. data/src/{toxi → main/java/toxi}/sim/dla/RadialDistanceOrder.java +0 -0
  315. data/src/{toxi → main/java/toxi}/sim/erosion/ErosionFunction.java +0 -0
  316. data/src/{toxi → main/java/toxi}/sim/erosion/TalusAngleErosion.java +0 -0
  317. data/src/{toxi → main/java/toxi}/sim/erosion/ThermalErosion.java +0 -0
  318. data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver2D.java +0 -0
  319. data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver3D.java +0 -0
  320. data/src/{toxi → main/java/toxi}/sim/grayscott/GrayScott.java +0 -0
  321. data/src/{toxi → main/java/toxi}/util/DateUtils.java +0 -0
  322. data/src/{toxi → main/java/toxi}/util/FileSequenceDescriptor.java +0 -0
  323. data/src/main/java/toxi/util/FileUtils.java +443 -0
  324. data/src/{toxi → main/java/toxi}/util/datatypes/ArraySet.java +0 -0
  325. data/src/{toxi → main/java/toxi}/util/datatypes/ArrayUtil.java +0 -0
  326. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedDoubleRange.java +3 -3
  327. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedFloatRange.java +2 -3
  328. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedIntegerRange.java +3 -3
  329. data/src/{toxi → main/java/toxi}/util/datatypes/DoubleRange.java +3 -3
  330. data/src/{toxi → main/java/toxi}/util/datatypes/FloatRange.java +3 -3
  331. data/src/{toxi → main/java/toxi}/util/datatypes/GenericSet.java +0 -0
  332. data/src/{toxi → main/java/toxi}/util/datatypes/IntegerRange.java +3 -3
  333. data/src/{toxi → main/java/toxi}/util/datatypes/IntegerSet.java +0 -0
  334. data/src/{toxi → main/java/toxi}/util/datatypes/ItemIndex.java +0 -0
  335. data/src/{toxi → main/java/toxi}/util/datatypes/SingletonRegistry.java +0 -0
  336. data/src/{toxi → main/java/toxi}/util/datatypes/TypedProperties.java +0 -0
  337. data/src/{toxi → main/java/toxi}/util/datatypes/UndirectedGraph.java +0 -0
  338. data/src/{toxi → main/java/toxi}/util/datatypes/UniqueItemIndex.java +0 -0
  339. data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomEntry.java +0 -0
  340. data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomSet.java +0 -0
  341. data/src/{toxi → main/java/toxi}/util/events/EventDispatcher.java +0 -0
  342. data/src/{toxi → main/java/toxi}/volume/AdditiveBrush.java +0 -0
  343. data/src/{toxi → main/java/toxi}/volume/ArrayIsoSurface.java +0 -0
  344. data/src/{toxi → main/java/toxi}/volume/BoxBrush.java +0 -0
  345. data/src/{toxi → main/java/toxi}/volume/BrushMode.java +0 -0
  346. data/src/{toxi → main/java/toxi}/volume/HashIsoSurface.java +0 -0
  347. data/src/{toxi → main/java/toxi}/volume/IsoSurface.java +0 -0
  348. data/src/{toxi → main/java/toxi}/volume/MarchingCubesIndex.java +0 -0
  349. data/src/{toxi → main/java/toxi}/volume/MeshLatticeBuilder.java +0 -0
  350. data/src/{toxi → main/java/toxi}/volume/MeshVoxelizer.java +0 -0
  351. data/src/{toxi → main/java/toxi}/volume/MultiplyBrush.java +0 -0
  352. data/src/{toxi → main/java/toxi}/volume/PeakBrush.java +0 -0
  353. data/src/{toxi → main/java/toxi}/volume/ReplaceBrush.java +0 -0
  354. data/src/{toxi → main/java/toxi}/volume/RoundBrush.java +0 -0
  355. data/src/{toxi → main/java/toxi}/volume/VolumetricBrush.java +0 -0
  356. data/src/{toxi → main/java/toxi}/volume/VolumetricHashMap.java +0 -0
  357. data/src/{toxi → main/java/toxi}/volume/VolumetricSpace.java +0 -0
  358. data/src/{toxi → main/java/toxi}/volume/VolumetricSpaceArray.java +0 -0
  359. data/src/{BooleanShapes.java → test/java/BooleanShapes.java} +0 -0
  360. data/toxiclibs.gemspec +6 -7
  361. metadata +345 -347
  362. data/src/toxi/data/feeds/AtomFeed.java +0 -129
  363. data/src/toxi/data/feeds/RSSFeed.java +0 -99
  364. data/src/toxi/physics2d/VerletParticle2D.java +0 -457
  365. data/src/toxi/physics2d/VerletPhysics2D.java +0 -448
  366. data/src/toxi/physics2d/behaviors/AttractionBehavior2D.java +0 -212
  367. data/src/toxi/physics3d/VerletParticle3D.java +0 -385
  368. data/src/toxi/util/FileUtils.java +0 -467
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb631f45b5fb8df9acc6abbb1c03ddd8427c71d541601955b098934b6c9bff72
4
- data.tar.gz: 23a64c5c0038efed7f914485f36277feedcbbc3871d6ea965afcee046228fedc
3
+ metadata.gz: 946268fb6e50b2556be590d1cf0b733f3915e31c98b19e436ec50bd872006a41
4
+ data.tar.gz: '09522b131b7f1b8047dce50b62e39f8b7795383c028155e0d7236ef4baeb419c'
5
5
  SHA512:
6
- metadata.gz: 21c40b1481a4f4265f63d3d06a04c62230f1cb78d909f8a296d5c8b21cc47cbc82b4db3b8c73789eb861b63854ccacb83704fada053702ae7b83c9f17f278ab6
7
- data.tar.gz: 8eb685db0276ca3b84b76c05e887ca65e50011057e35de55b2a65ae7061146535586ebfdebd185a4cfc51767fa93ee6a1a6afb5fc01645840b186f8f64717298
6
+ metadata.gz: c86c4b5dd436f79bed4d9ba21ca7c2f14e822e13a7eeeabdab677b0b93f67ce8d4b3da915632a9cafa29fddb0720be53f5c19ff253bbcbce55b6ca9b4b0bc94f
7
+ data.tar.gz: 13a197bc603117f7a863b2d32d658aae44d23080f5b4cd1fddd490706ec66739c91ad57efa87020f00546ff55431423482376b658fff905eac713913b9533152
@@ -3,6 +3,6 @@
3
3
  <extension>
4
4
  <groupId>io.takari.polyglot</groupId>
5
5
  <artifactId>polyglot-ruby</artifactId>
6
- <version>0.2.1</version>
6
+ <version>0.4.0</version>
7
7
  </extension>
8
8
  </extensions>
@@ -1,10 +1,9 @@
1
1
  language: ruby
2
2
  sudo: false
3
3
 
4
- rvm:
5
- - jruby-9.1.6.0
4
+ rvm:
5
+ - jruby-9.2.8.0
6
6
  jdk:
7
- - oraclejdk8
7
+ - openjdk11
8
8
  os:
9
9
  - linux
10
-
@@ -1,3 +1,6 @@
1
+ **v2.0.0** Bump to target minimum of jdk11 thus removing JAXB annotations (possibly esoteric and underused anyway).
2
+
3
+ **v1.0.1** Bump processing to 3.4, support toxiclibs Voronoi etc
1
4
 
2
5
  **v1.0.0** About time we got to 1.0.0 bump processing to 3.3.4
3
6
 
data/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  gem install toxiclibs
9
9
  ```
10
10
 
11
- ### NB: Use version 0.4 for ruby-processing, and 1.0.0 for propane and JRubyArt
11
+ ### NB: Use version 0.4 for ruby-processing, and 1.0.0+ for propane and JRubyArt
12
12
 
13
13
  NB: Build is only failing because current version of processing is not available at maven central.
14
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).
@@ -27,7 +27,7 @@ This gem provides Karsten Schmidts (aka toxi, @postspectacular) toxiclibs jars f
27
27
 
28
28
  ### Licensing
29
29
 
30
- I should be clear that the original toxiclibs is the work of Karsten Schmidt see [Copyright][]
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
@@ -24,7 +24,6 @@ end
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
 
@@ -10,7 +10,7 @@ class Attractor < Physics::VerletParticle2D
10
10
 
11
11
  def initialize(loc)
12
12
  super(loc)
13
- @app = $app
13
+ @app = Processing.app
14
14
  @r = 24
15
15
  physics.add_particle(self)
16
16
  physics.add_behavior(Physics::AttractionBehavior2D.new(self, width, 0.1))
@@ -12,7 +12,7 @@ class Particle < Physics::VerletParticle2D
12
12
 
13
13
  def initialize(loc)
14
14
  super(loc)
15
- @app = $app
15
+ @app = Processing.app
16
16
  @r = 8
17
17
  physics.add_particle(self)
18
18
  physics.add_behavior(Physics::AttractionBehavior2D.new(self, r * 4, -1))
@@ -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 = [BooleanShapeBuilder::Type::UNION, BooleanShapeBuilder::Type::XOR]
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 = 'Control Panel'
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, 50))
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 = $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
@@ -28,7 +28,7 @@ end
28
28
 
29
29
  def setup
30
30
  sketch_title 'Inflate Mesh'
31
- Processing::ArcBall.init(self)
31
+ ArcBall.init(self)
32
32
  @gfx = Gfx::ToxiclibsSupport.new(self)
33
33
  init_physics
34
34
  end
@@ -16,7 +16,7 @@ end
16
16
 
17
17
  def setup
18
18
  sketch_title 'Model Align'
19
- Processing::ArcBall.init(self)
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)
@@ -1,4 +1,4 @@
1
- load_library :geomerative
1
+ require 'geomerative'
2
2
  require 'toxiclibs'
3
3
  include_package 'geomerative'
4
4
  attr_reader :font, :input, :physics
@@ -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(sketch_path(fileID + '.inc'))
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
@@ -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(ErosionFunction TalusAngleErosion ThermalErosion)
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(FluidSolver2D FluidSolver3D)
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(AttractionBehavior2D ConstantForceBehavior2D GravityBehavior2D ParticleBehavior2D)
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(AttractionBehavior3D ConstantForceBehavior3D GravityBehavior3D ParticleBehavior3D)
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{DateUtils FileSequenceDescriptor FileUtils}
42
+ utils = %w[DateUtils FileSequenceDescriptor FileUtils]
43
43
  utils_format = 'toxi.util.%s'
44
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)
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(BasicNurbsCurve BasicNurbsSurface ControlNet CurveCreator CurveUtils
53
- InterpolationException KnotVector NurbsCreator NurbsCurve NurbsMeshCreator
54
- NurbsSurface)
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(SimplexNoise PerlinNoise)
62
+ noise = %w[SimplexNoise PerlinNoise]
59
63
  noise_format = 'toxi.math.noise.%s'
60
64
  import_class_list(noise, noise_format)
61
- geom = %w(AABB Axis3D AxisAlignedCylinder BernsteinPolynomial BezierCurve2D
62
- BezierCurve3D BooleanShapeBuilder BoxIntersector Circle CircleIntersector
63
- Cone ConvexPolygonClipper CoordinateExtractor Ellipse GMatrix GVector
64
- GlobalGridTesselator GridTesselator Intersector2D Intersector3D IsectData2D
65
- IsectData3D Line2D Line3D LineStrip2D LineStrip3D LocalGridTesselator Matrix3d
66
- Matrix4f Matrix4x4 MatrixSizeException OctreeVisitor Origin3D Plane
67
- PlaneIntersector PointCloud3D PointOctree PointQuadtree Polygon2D
68
- PolygonClipper2D PolygonTesselator QuadtreeVisitor Quaternion Ray2D Ray3D
69
- Ray3DIntersector ReadonlyVec2D ReadonlyVec3D ReadonlyVec4D Rect Reflector3D
70
- Shape2D Shape3D SingularMatrixException SpatialBins SpatialIndex Sphere
71
- SphereIntersectorReflector Spline2D Spline3D SutherlandHodgemanClipper
72
- Triangle2D Triangle3D TriangleIntersector Vec2D Vec3D Vec4D VecMathUtil
73
- XAxisCylinder YAxisCylinder ZAxisCylinder)
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
@@ -85,18 +96,22 @@ if RUBY_PLATFORM == 'java'
85
96
  AABB = Toxi::AABB
86
97
  # alias Toxi::TColor
87
98
  TColor = Toxi::TColor
88
- volume = %w(AdditiveBrush ArrayIsoSurface BoxBrush BrushMode HashIsoSurface
89
- IsoSurface MarchingCubesIndex MeshLatticeBuilder MeshVoxelizer
90
- MultiplyBrush PeakBrush ReplaceBrush RoundBrush VolumetricBrush
91
- VolumetricHashMap VolumetricSpace VolumetricSpaceArray)
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
+ ]
92
105
  volume_format = 'toxi.volume.%s'
93
106
  import_class_list(volume, volume_format)
94
- mesh = %w(BezierPatch BoxSelector DefaultSTLColorModel DefaultSelector Face
95
- LaplacianSmooth MaterialiseSTLColorModel Mesh3D MeshIntersector OBJWriter
96
- PLYWriter PlaneSelector STLColorModel STLReader STLWriter SphereFunction
97
- SphericalHarmonics SuperEllipsoid SurfaceFunction SurfaceMeshBuilder
98
- Terrain TriangleMesh Vertex VertexSelector WEFace WEMeshFilterStrategy
99
- WETriangleMesh WEVertex WingedEdge)
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
+ ]
100
115
  mesh_format = 'toxi.geom.mesh.%s'
101
116
  import_class_list(mesh, mesh_format)
102
117
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  # wrapper to give version a meaningful name
3
3
  module Toxiclibs
4
- VERSION = '1.0.0'.freeze
4
+ VERSION = '2.0.0'.freeze
5
5
  end
data/pom.rb CHANGED
@@ -1,57 +1,53 @@
1
1
  project 'toxiclibs' do
2
2
 
3
3
  model_version '4.0.0'
4
- id 'ruby-processing:toxiclibs:1.0.0'
4
+ id 'ruby-processing:toxiclibs:2.0.0'
5
5
  packaging 'jar'
6
6
 
7
7
  description 'toxiclibs-library for JRubyArt'
8
8
 
9
- organization 'ruby-processing', 'https://ruby-processing.github.io'
10
-
11
9
  developer 'monkstone' do
12
10
  name 'Martin Prout'
13
11
  email 'mamba2928@yahoo.co.uk'
14
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( 'maven.compiler.source' => '1.8',
21
+ properties( 'source.directory' => 'src',
22
+ 'polyglot.dump.pom' => 'pom.xml',
26
23
  'project.build.sourceEncoding' => 'UTF-8',
27
- 'maven.compiler.target' => '1.8',
24
+ 'target.release' => '11',
28
25
  'polyglot.dump.pom' => 'pom.xml'
29
26
  )
30
27
 
31
- jar 'args4j:args4j:2.0.31'
32
- jar 'org.processing:core:3.3.6'
33
-
34
- plugin( :compiler, '3.7.0',
35
- 'source' => '1.8',
36
- 'target' => '1.8' )
37
- plugin( :jar, '3.0.2',
38
- 'archive' => {
39
- 'manifestFile' => 'MANIFEST.MF'
40
- } )
41
- plugin :resources, '3.0.2'
42
- plugin :dependency, '3.0.2' 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' } ] )
28
+ jar 'org.processing:core:3.3.7'
29
+
30
+ overrides do
31
+ plugin( :compiler, '3.8.1',
32
+ 'release' => '11' )
33
+ plugin :javadoc, '2.10.4'
34
+ plugin(
35
+ :jar, '3.2.0',
36
+ 'archive' => {
37
+ 'manifestFile' => 'MANIFEST.MF'
38
+ }
39
+ )
40
+ plugin :jdeps, '3.1.2' do
41
+ execute_goals 'jdkinternals', 'test-jdkinternals'
42
+ end
43
+
49
44
  end
50
45
 
51
46
 
52
47
  build do
53
48
  default_goal 'package'
54
- source_directory 'src'
49
+ source_directory '${source.directory}/main/java'
55
50
  final_name 'toxiclibs'
56
51
  end
52
+
57
53
  end