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.
Files changed (383) hide show
  1. checksums.yaml +5 -5
  2. data/.mvn/extensions.xml +1 -1
  3. data/.travis.yml +3 -4
  4. data/CHANGELOG.md +10 -1
  5. data/README.md +3 -3
  6. data/Rakefile +1 -2
  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/version.rb +2 -1
  17. data/lib/toxiclibs.jar +0 -0
  18. data/lib/toxiclibs.rb +54 -37
  19. data/pom.rb +20 -28
  20. data/pom.xml +39 -65
  21. data/src/main/java/module-info.java +22 -0
  22. data/src/{toxi → main/java/toxi}/color/AccessCriteria.java +0 -0
  23. data/src/{toxi → main/java/toxi}/color/AlphaAccessor.java +0 -0
  24. data/src/{toxi → main/java/toxi}/color/CMYKAccessor.java +0 -0
  25. data/src/{toxi → main/java/toxi}/color/CMYKDistanceProxy.java +0 -0
  26. data/src/{toxi → main/java/toxi}/color/ColorGradient.java +0 -0
  27. data/src/{toxi → main/java/toxi}/color/ColorList.java +2 -4
  28. data/src/{toxi → main/java/toxi}/color/ColorRange.java +0 -0
  29. data/src/{toxi → main/java/toxi}/color/ColorTheme.java +0 -0
  30. data/src/{toxi → main/java/toxi}/color/DistanceProxy.java +0 -0
  31. data/src/{toxi → main/java/toxi}/color/HSVAccessor.java +0 -0
  32. data/src/{toxi → main/java/toxi}/color/HSVDistanceProxy.java +0 -0
  33. data/src/{toxi → main/java/toxi}/color/HistEntry.java +0 -0
  34. data/src/{toxi → main/java/toxi}/color/Histogram.java +0 -0
  35. data/src/{toxi → main/java/toxi}/color/Hue.java +0 -0
  36. data/src/{toxi → main/java/toxi}/color/LuminanceAccessor.java +0 -0
  37. data/src/{toxi → main/java/toxi}/color/NamedColor.java +0 -0
  38. data/src/{toxi → main/java/toxi}/color/ProximityComparator.java +0 -0
  39. data/src/{toxi → main/java/toxi}/color/RGBAccessor.java +0 -0
  40. data/src/{toxi → main/java/toxi}/color/RGBDistanceProxy.java +0 -0
  41. data/src/{toxi → main/java/toxi}/color/ReadonlyTColor.java +0 -0
  42. data/src/{toxi → main/java/toxi}/color/TColor.java +0 -0
  43. data/src/{toxi → main/java/toxi}/color/TColorAdapter.java +4 -4
  44. data/src/{toxi → main/java/toxi}/color/ToneMap.java +0 -0
  45. data/src/{toxi → main/java/toxi}/color/theory/AnalogousStrategy.java +0 -0
  46. data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryRegistry.java +0 -0
  47. data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryStrategy.java +0 -0
  48. data/src/{toxi → main/java/toxi}/color/theory/ComplementaryStrategy.java +0 -0
  49. data/src/{toxi → main/java/toxi}/color/theory/CompoundTheoryStrategy.java +0 -0
  50. data/src/{toxi → main/java/toxi}/color/theory/LeftSplitComplementaryStrategy.java +0 -0
  51. data/src/{toxi → main/java/toxi}/color/theory/MonochromeTheoryStrategy.java +0 -0
  52. data/src/{toxi → main/java/toxi}/color/theory/RightSplitComplementaryStrategy.java +0 -0
  53. data/src/{toxi → main/java/toxi}/color/theory/SingleComplementStrategy.java +0 -0
  54. data/src/{toxi → main/java/toxi}/color/theory/SplitComplementaryStrategy.java +0 -0
  55. data/src/{toxi → main/java/toxi}/color/theory/TetradTheoryStrategy.java +0 -0
  56. data/src/{toxi → main/java/toxi}/color/theory/TriadTheoryStrategy.java +0 -0
  57. data/src/{toxi → main/java/toxi}/data/csv/CSVAdapter.java +0 -0
  58. data/src/{toxi → main/java/toxi}/data/csv/CSVFieldMapper.java +0 -0
  59. data/src/{toxi → main/java/toxi}/data/csv/CSVListener.java +0 -0
  60. data/src/{toxi → main/java/toxi}/data/csv/CSVParser.java +0 -0
  61. data/src/{toxi → main/java/toxi}/data/feeds/AtomAuthor.java +2 -2
  62. data/src/{toxi → main/java/toxi}/data/feeds/AtomContent.java +3 -4
  63. data/src/{toxi → main/java/toxi}/data/feeds/AtomEntry.java +9 -13
  64. data/src/main/java/toxi/data/feeds/AtomFeed.java +91 -0
  65. data/src/{toxi → main/java/toxi}/data/feeds/AtomLink.java +3 -2
  66. data/src/{toxi → main/java/toxi}/data/feeds/RSSChannel.java +10 -11
  67. data/src/{toxi → main/java/toxi}/data/feeds/RSSEnclosure.java +3 -3
  68. data/src/{toxi → main/java/toxi}/data/feeds/RSSItem.java +11 -13
  69. data/src/{toxi → main/java/toxi}/data/feeds/util/EntityStripper.java +0 -0
  70. data/src/{toxi → main/java/toxi}/data/feeds/util/Iso8601DateAdapter.java +6 -7
  71. data/src/{toxi → main/java/toxi}/data/feeds/util/Rfc822DateAdapter.java +5 -6
  72. data/src/{toxi → main/java/toxi}/geom/AABB.java +8 -9
  73. data/src/{toxi → main/java/toxi}/geom/Axis3D.java +0 -0
  74. data/src/{toxi → main/java/toxi}/geom/AxisAlignedCylinder.java +0 -0
  75. data/src/{toxi → main/java/toxi}/geom/BernsteinPolynomial.java +0 -0
  76. data/src/{toxi → main/java/toxi}/geom/BezierCurve2D.java +0 -0
  77. data/src/{toxi → main/java/toxi}/geom/BezierCurve3D.java +0 -0
  78. data/src/{toxi → main/java/toxi}/geom/BooleanShapeBuilder.java +0 -0
  79. data/src/{toxi → main/java/toxi}/geom/BoxIntersector.java +0 -0
  80. data/src/{toxi → main/java/toxi}/geom/Circle.java +2 -2
  81. data/src/{toxi → main/java/toxi}/geom/CircleIntersector.java +0 -0
  82. data/src/{toxi → main/java/toxi}/geom/Cone.java +0 -0
  83. data/src/{toxi → main/java/toxi}/geom/ConvexPolygonClipper.java +0 -0
  84. data/src/{toxi → main/java/toxi}/geom/CoordinateExtractor.java +0 -0
  85. data/src/{toxi → main/java/toxi}/geom/Ellipse.java +0 -0
  86. data/src/{toxi → main/java/toxi}/geom/GMatrix.java +0 -0
  87. data/src/{toxi → main/java/toxi}/geom/GVector.java +0 -0
  88. data/src/{toxi → main/java/toxi}/geom/GlobalGridTesselator.java +0 -0
  89. data/src/{toxi → main/java/toxi}/geom/GridTesselator.java +0 -0
  90. data/src/{toxi → main/java/toxi}/geom/Intersector2D.java +0 -0
  91. data/src/{toxi → main/java/toxi}/geom/Intersector3D.java +0 -0
  92. data/src/{toxi → main/java/toxi}/geom/IsectData2D.java +0 -0
  93. data/src/{toxi → main/java/toxi}/geom/IsectData3D.java +0 -0
  94. data/src/{toxi → main/java/toxi}/geom/Line2D.java +1 -2
  95. data/src/{toxi → main/java/toxi}/geom/Line3D.java +1 -2
  96. data/src/{toxi → main/java/toxi}/geom/LineStrip2D.java +2 -2
  97. data/src/{toxi → main/java/toxi}/geom/LineStrip3D.java +2 -2
  98. data/src/{toxi → main/java/toxi}/geom/LocalGridTesselator.java +0 -0
  99. data/src/{toxi → main/java/toxi}/geom/Matrix3d.java +0 -0
  100. data/src/{toxi → main/java/toxi}/geom/Matrix4f.java +0 -0
  101. data/src/{toxi → main/java/toxi}/geom/Matrix4x4.java +0 -0
  102. data/src/{toxi → main/java/toxi}/geom/MatrixSizeException.java +0 -0
  103. data/src/{toxi → main/java/toxi}/geom/OctreeVisitor.java +0 -0
  104. data/src/{toxi → main/java/toxi}/geom/Origin3D.java +12 -6
  105. data/src/{toxi → main/java/toxi}/geom/Plane.java +3 -5
  106. data/src/{toxi → main/java/toxi}/geom/PlaneIntersector.java +0 -0
  107. data/src/{toxi → main/java/toxi}/geom/PointCloud3D.java +15 -12
  108. data/src/{toxi → main/java/toxi}/geom/PointOctree.java +0 -0
  109. data/src/{toxi → main/java/toxi}/geom/PointQuadtree.java +0 -0
  110. data/src/{toxi → main/java/toxi}/geom/Polygon2D.java +34 -45
  111. data/src/{toxi → main/java/toxi}/geom/PolygonClipper2D.java +0 -0
  112. data/src/{toxi → main/java/toxi}/geom/PolygonTesselator.java +0 -0
  113. data/src/{toxi → main/java/toxi}/geom/QuadtreeVisitor.java +0 -0
  114. data/src/{toxi → main/java/toxi}/geom/Quaternion.java +3 -5
  115. data/src/{toxi → main/java/toxi}/geom/Ray2D.java +4 -5
  116. data/src/{toxi → main/java/toxi}/geom/Ray3D.java +3 -5
  117. data/src/{toxi → main/java/toxi}/geom/Ray3DIntersector.java +0 -0
  118. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec2D.java +0 -0
  119. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec3D.java +0 -0
  120. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec4D.java +0 -0
  121. data/src/{toxi → main/java/toxi}/geom/Rect.java +3 -5
  122. data/src/{toxi → main/java/toxi}/geom/Reflector3D.java +0 -0
  123. data/src/{toxi → main/java/toxi}/geom/Shape2D.java +0 -0
  124. data/src/{toxi → main/java/toxi}/geom/Shape3D.java +0 -0
  125. data/src/{toxi → main/java/toxi}/geom/SingularMatrixException.java +0 -0
  126. data/src/{toxi → main/java/toxi}/geom/SpatialBins.java +0 -0
  127. data/src/{toxi → main/java/toxi}/geom/SpatialIndex.java +0 -0
  128. data/src/{toxi → main/java/toxi}/geom/Sphere.java +3 -5
  129. data/src/{toxi → main/java/toxi}/geom/SphereIntersectorReflector.java +0 -0
  130. data/src/{toxi → main/java/toxi}/geom/Spline2D.java +12 -16
  131. data/src/{toxi → main/java/toxi}/geom/Spline3D.java +12 -16
  132. data/src/{toxi → main/java/toxi}/geom/SutherlandHodgemanClipper.java +0 -0
  133. data/src/{toxi → main/java/toxi}/geom/Triangle2D.java +4 -7
  134. data/src/{toxi → main/java/toxi}/geom/Triangle3D.java +5 -8
  135. data/src/{toxi → main/java/toxi}/geom/TriangleIntersector.java +0 -0
  136. data/src/{toxi → main/java/toxi}/geom/Vec2D.java +3 -3
  137. data/src/{toxi → main/java/toxi}/geom/Vec3D.java +4 -4
  138. data/src/{toxi → main/java/toxi}/geom/Vec4D.java +5 -5
  139. data/src/{toxi → main/java/toxi}/geom/VecMathUtil.java +0 -0
  140. data/src/{toxi → main/java/toxi}/geom/XAxisCylinder.java +0 -0
  141. data/src/{toxi → main/java/toxi}/geom/YAxisCylinder.java +0 -0
  142. data/src/{toxi → main/java/toxi}/geom/ZAxisCylinder.java +0 -0
  143. data/src/{toxi → main/java/toxi}/geom/mesh/BezierPatch.java +0 -0
  144. data/src/{toxi → main/java/toxi}/geom/mesh/BoxSelector.java +0 -0
  145. data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSTLColorModel.java +0 -0
  146. data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSelector.java +0 -0
  147. data/src/{toxi → main/java/toxi}/geom/mesh/Face.java +0 -0
  148. data/src/{toxi → main/java/toxi}/geom/mesh/LaplacianSmooth.java +0 -0
  149. data/src/{toxi → main/java/toxi}/geom/mesh/MaterialiseSTLColorModel.java +0 -0
  150. data/src/{toxi → main/java/toxi}/geom/mesh/Mesh3D.java +0 -0
  151. data/src/{toxi → main/java/toxi}/geom/mesh/MeshIntersector.java +0 -0
  152. data/src/{toxi → main/java/toxi}/geom/mesh/OBJWriter.java +0 -0
  153. data/src/{toxi → main/java/toxi}/geom/mesh/PLYWriter.java +0 -0
  154. data/src/{toxi → main/java/toxi}/geom/mesh/PlaneSelector.java +0 -0
  155. data/src/{toxi → main/java/toxi}/geom/mesh/STLColorModel.java +0 -0
  156. data/src/{toxi → main/java/toxi}/geom/mesh/STLReader.java +0 -0
  157. data/src/{toxi → main/java/toxi}/geom/mesh/STLWriter.java +0 -0
  158. data/src/{toxi → main/java/toxi}/geom/mesh/SphereFunction.java +0 -0
  159. data/src/{toxi → main/java/toxi}/geom/mesh/SphericalHarmonics.java +0 -0
  160. data/src/{toxi → main/java/toxi}/geom/mesh/SuperEllipsoid.java +0 -0
  161. data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceFunction.java +0 -0
  162. data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceMeshBuilder.java +0 -0
  163. data/src/{toxi → main/java/toxi}/geom/mesh/Terrain.java +0 -0
  164. data/src/{toxi → main/java/toxi}/geom/mesh/TriangleMesh.java +0 -0
  165. data/src/{toxi → main/java/toxi}/geom/mesh/Vertex.java +0 -0
  166. data/src/{toxi → main/java/toxi}/geom/mesh/VertexSelector.java +0 -0
  167. data/src/{toxi → main/java/toxi}/geom/mesh/WEFace.java +0 -0
  168. data/src/{toxi → main/java/toxi}/geom/mesh/WEMeshFilterStrategy.java +0 -0
  169. data/src/{toxi → main/java/toxi}/geom/mesh/WETriangleMesh.java +0 -0
  170. data/src/{toxi → main/java/toxi}/geom/mesh/WEVertex.java +0 -0
  171. data/src/{toxi → main/java/toxi}/geom/mesh/WingedEdge.java +2 -2
  172. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/CentroidSubdiv.java +0 -0
  173. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DisplacementSubdivision.java +0 -0
  174. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualDisplacementSubdivision.java +0 -0
  175. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualSubdivision.java +0 -0
  176. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/EdgeLengthComparator.java +0 -0
  177. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/FaceCountComparator.java +0 -0
  178. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointDisplacementSubdivision.java +0 -0
  179. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdiv.java +0 -0
  180. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdivision.java +0 -0
  181. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NewSubdivStrategy.java +0 -0
  182. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NormalDisplacementSubdivision.java +0 -0
  183. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/SubdivisionStrategy.java +0 -0
  184. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/TriSubdivision.java +0 -0
  185. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangle.java +0 -0
  186. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangulation.java +5 -7
  187. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayVertex.java +0 -0
  188. data/src/{toxi → main/java/toxi}/geom/mesh2d/Voronoi.java +0 -0
  189. data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsCurve.java +0 -0
  190. data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsSurface.java +0 -0
  191. data/src/{toxi → main/java/toxi}/geom/nurbs/ControlNet.java +0 -0
  192. data/src/{toxi → main/java/toxi}/geom/nurbs/CurveCreator.java +0 -0
  193. data/src/{toxi → main/java/toxi}/geom/nurbs/CurveUtils.java +0 -0
  194. data/src/{toxi → main/java/toxi}/geom/nurbs/InterpolationException.java +0 -0
  195. data/src/{toxi → main/java/toxi}/geom/nurbs/KnotVector.java +0 -0
  196. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCreator.java +2 -2
  197. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCurve.java +0 -0
  198. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsMeshCreator.java +0 -0
  199. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsSurface.java +0 -0
  200. data/src/{toxi → main/java/toxi}/image/util/Filter8bit.java +0 -0
  201. data/src/{toxi → main/java/toxi}/image/util/TiledFrameExporter.java +0 -0
  202. data/src/{toxi → main/java/toxi}/math/BezierInterpolation.java +0 -0
  203. data/src/{toxi → main/java/toxi}/math/CircularInterpolation.java +0 -0
  204. data/src/{toxi → main/java/toxi}/math/CosineInterpolation.java +0 -0
  205. data/src/{toxi → main/java/toxi}/math/DecimatedInterpolation.java +0 -0
  206. data/src/{toxi → main/java/toxi}/math/ExponentialInterpolation.java +0 -0
  207. data/src/{toxi → main/java/toxi}/math/InterpolateStrategy.java +0 -0
  208. data/src/{toxi → main/java/toxi}/math/Interpolation2D.java +0 -0
  209. data/src/{toxi → main/java/toxi}/math/LinearInterpolation.java +0 -0
  210. data/src/{toxi → main/java/toxi}/math/MathUtils.java +0 -0
  211. data/src/{toxi → main/java/toxi}/math/NonLinearScaleMap.java +0 -0
  212. data/src/{toxi → main/java/toxi}/math/ScaleMap.java +0 -0
  213. data/src/{toxi → main/java/toxi}/math/SigmoidInterpolation.java +0 -0
  214. data/src/{toxi → main/java/toxi}/math/SinCosLUT.java +0 -0
  215. data/src/{toxi → main/java/toxi}/math/ThresholdInterpolation.java +0 -0
  216. data/src/{toxi → main/java/toxi}/math/ZoomLensInterpolation.java +0 -0
  217. data/src/{toxi → main/java/toxi}/math/conversion/UnitTranslator.java +0 -0
  218. data/src/{toxi → main/java/toxi}/math/noise/PerlinNoise.java +0 -0
  219. data/src/{toxi → main/java/toxi}/math/noise/SimplexNoise.java +0 -0
  220. data/src/{toxi → main/java/toxi}/math/waves/AMFMSineWave.java +0 -0
  221. data/src/{toxi → main/java/toxi}/math/waves/AbstractWave.java +0 -0
  222. data/src/{toxi → main/java/toxi}/math/waves/ConstantWave.java +0 -0
  223. data/src/{toxi → main/java/toxi}/math/waves/FMHarmonicSquareWave.java +0 -0
  224. data/src/{toxi → main/java/toxi}/math/waves/FMSawtoothWave.java +0 -0
  225. data/src/{toxi → main/java/toxi}/math/waves/FMSineWave.java +0 -0
  226. data/src/{toxi → main/java/toxi}/math/waves/FMSquareWave.java +0 -0
  227. data/src/{toxi → main/java/toxi}/math/waves/FMTriangleWave.java +0 -0
  228. data/src/{toxi → main/java/toxi}/math/waves/SineWave.java +2 -2
  229. data/src/{toxi → main/java/toxi}/math/waves/Wave2D.java +0 -0
  230. data/src/{toxi → main/java/toxi}/math/waves/WaveState.java +0 -0
  231. data/src/{toxi → main/java/toxi}/music/scale/AbstractScale.java +0 -0
  232. data/src/{toxi → main/java/toxi}/music/scale/GenericScale.java +0 -0
  233. data/src/{toxi → main/java/toxi}/music/scale/MajorScale.java +0 -0
  234. data/src/{toxi → main/java/toxi}/newmesh/AttributedEdge.java +0 -0
  235. data/src/{toxi → main/java/toxi}/newmesh/AttributedFace.java +0 -0
  236. data/src/{toxi → main/java/toxi}/newmesh/IndexedTriangleMesh.java +70 -69
  237. data/src/{toxi → main/java/toxi}/newmesh/MeshAttributeCompiler.java +0 -0
  238. data/src/{toxi → main/java/toxi}/newmesh/MeshFaceNormalCompiler.java +0 -0
  239. data/src/{toxi → main/java/toxi}/newmesh/MeshUVCompiler.java +0 -0
  240. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexColorCompiler.java +0 -0
  241. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexCompiler.java +0 -0
  242. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexNormalCompiler.java +0 -0
  243. data/src/{toxi → main/java/toxi}/newmesh/SpatialIndex.java +0 -0
  244. data/src/{toxi → main/java/toxi}/physics2d/ParticlePath2D.java +4 -3
  245. data/src/{toxi → main/java/toxi}/physics2d/ParticleString2D.java +2 -2
  246. data/src/{toxi → main/java/toxi}/physics2d/PullBackSpring2D.java +0 -0
  247. data/src/{toxi → main/java/toxi}/physics2d/VerletConstrainedSpring2D.java +0 -0
  248. data/src/{toxi → main/java/toxi}/physics2d/VerletMinDistanceSpring2D.java +0 -0
  249. data/src/main/java/toxi/physics2d/VerletParticle2D.java +449 -0
  250. data/src/main/java/toxi/physics2d/VerletPhysics2D.java +440 -0
  251. data/src/{toxi → main/java/toxi}/physics2d/VerletSpring2D.java +0 -0
  252. data/src/main/java/toxi/physics2d/behaviors/AttractionBehavior2D.java +211 -0
  253. data/src/{toxi → main/java/toxi}/physics2d/behaviors/ConstantForceBehavior2D.java +0 -0
  254. data/src/{toxi → main/java/toxi}/physics2d/behaviors/GravityBehavior2D.java +0 -0
  255. data/src/{toxi → main/java/toxi}/physics2d/behaviors/ParticleBehavior2D.java +0 -0
  256. data/src/{toxi → main/java/toxi}/physics2d/constraints/AngularConstraint.java +0 -0
  257. data/src/{toxi → main/java/toxi}/physics2d/constraints/AxisConstraint.java +0 -0
  258. data/src/{toxi → main/java/toxi}/physics2d/constraints/CircularConstraint.java +0 -0
  259. data/src/{toxi → main/java/toxi}/physics2d/constraints/MaxConstraint.java +0 -0
  260. data/src/{toxi → main/java/toxi}/physics2d/constraints/MinConstraint.java +0 -0
  261. data/src/{toxi → main/java/toxi}/physics2d/constraints/ParticleConstraint2D.java +0 -0
  262. data/src/{toxi → main/java/toxi}/physics2d/constraints/PolygonConstraint.java +0 -0
  263. data/src/{toxi → main/java/toxi}/physics2d/constraints/RectConstraint.java +0 -0
  264. data/src/{toxi → main/java/toxi}/physics3d/ParticlePath3D.java +4 -3
  265. data/src/{toxi → main/java/toxi}/physics3d/ParticleString3D.java +2 -2
  266. data/src/{toxi → main/java/toxi}/physics3d/PullBackSpring3D.java +0 -0
  267. data/src/{toxi → main/java/toxi}/physics3d/VerletConstrainedSpring3D.java +0 -0
  268. data/src/{toxi → main/java/toxi}/physics3d/VerletMinDistanceSpring3D.java +0 -0
  269. data/src/main/java/toxi/physics3d/VerletParticle3D.java +377 -0
  270. data/src/{toxi → main/java/toxi}/physics3d/VerletPhysics3D.java +0 -0
  271. data/src/{toxi → main/java/toxi}/physics3d/VerletSpring3D.java +0 -0
  272. data/src/{toxi → main/java/toxi}/physics3d/behaviors/AttractionBehavior3D.java +0 -0
  273. data/src/{toxi → main/java/toxi}/physics3d/behaviors/ConstantForceBehavior3D.java +0 -0
  274. data/src/{toxi → main/java/toxi}/physics3d/behaviors/GravityBehavior3D.java +0 -0
  275. data/src/{toxi → main/java/toxi}/physics3d/behaviors/ParticleBehavior3D.java +0 -0
  276. data/src/{toxi → main/java/toxi}/physics3d/constraints/AxisConstraint.java +1 -0
  277. data/src/{toxi → main/java/toxi}/physics3d/constraints/BoxConstraint.java +0 -0
  278. data/src/{toxi → main/java/toxi}/physics3d/constraints/CylinderConstraint.java +1 -0
  279. data/src/{toxi → main/java/toxi}/physics3d/constraints/MaxConstraint.java +1 -0
  280. data/src/{toxi → main/java/toxi}/physics3d/constraints/MinConstraint.java +1 -0
  281. data/src/{toxi → main/java/toxi}/physics3d/constraints/ParticleConstraint3D.java +0 -0
  282. data/src/{toxi → main/java/toxi}/physics3d/constraints/PlaneConstraint.java +0 -0
  283. data/src/{toxi → main/java/toxi}/physics3d/constraints/SoftBoxConstraint.java +38 -38
  284. data/src/{toxi → main/java/toxi}/physics3d/constraints/SphereConstraint.java +1 -0
  285. data/src/{toxi → main/java/toxi}/processing/ArrowModifier.java +0 -0
  286. data/src/{toxi → main/java/toxi}/processing/DashedLineModifier.java +0 -0
  287. data/src/{toxi → main/java/toxi}/processing/DeltaOrientationMapper.java +0 -0
  288. data/src/{toxi → main/java/toxi}/processing/Line2DRenderModifier.java +0 -0
  289. data/src/{toxi → main/java/toxi}/processing/MeshToVBO.java +0 -0
  290. data/src/{toxi → main/java/toxi}/processing/NormalMapper.java +0 -0
  291. data/src/{toxi → main/java/toxi}/processing/POVInterface.java +0 -0
  292. data/src/{toxi → main/java/toxi}/processing/POVMesh.java +0 -0
  293. data/src/{toxi → main/java/toxi}/processing/POVWriter.java +0 -0
  294. data/src/{toxi → main/java/toxi}/processing/RCOpaque.java +0 -0
  295. data/src/{toxi → main/java/toxi}/processing/RCTransp.java +0 -0
  296. data/src/{toxi → main/java/toxi}/processing/TextureBuilder.java +0 -0
  297. data/src/{toxi → main/java/toxi}/processing/Textures.java +0 -0
  298. data/src/{toxi → main/java/toxi}/processing/ToxiclibsSupport.java +3 -3
  299. data/src/{toxi → main/java/toxi}/processing/Tracing.java +0 -0
  300. data/src/{toxi → main/java/toxi}/processing/XYZNormalMapper.java +0 -0
  301. data/src/{toxi → main/java/toxi}/sim/automata/CAMatrix.java +0 -0
  302. data/src/{toxi → main/java/toxi}/sim/automata/CARule.java +0 -0
  303. data/src/{toxi → main/java/toxi}/sim/automata/CARule2D.java +0 -0
  304. data/src/{toxi → main/java/toxi}/sim/automata/CAWolfram1D.java +0 -0
  305. data/src/{toxi → main/java/toxi}/sim/automata/EvolvableMatrix.java +0 -0
  306. data/src/{toxi → main/java/toxi}/sim/automata/MatrixEvolver.java +0 -0
  307. data/src/{toxi → main/java/toxi}/sim/dla/BottomUpOrder.java +0 -0
  308. data/src/{toxi → main/java/toxi}/sim/dla/DLA.java +0 -0
  309. data/src/{toxi → main/java/toxi}/sim/dla/DLAConfiguration.java +0 -0
  310. data/src/{toxi → main/java/toxi}/sim/dla/DLAEventAdapter.java +0 -0
  311. data/src/{toxi → main/java/toxi}/sim/dla/DLAEventListener.java +0 -0
  312. data/src/{toxi → main/java/toxi}/sim/dla/DLAGuideLines.java +0 -0
  313. data/src/{toxi → main/java/toxi}/sim/dla/DLAParticle.java +0 -0
  314. data/src/{toxi → main/java/toxi}/sim/dla/DLASegment.java +0 -0
  315. data/src/{toxi → main/java/toxi}/sim/dla/PipelineOrder.java +0 -0
  316. data/src/{toxi → main/java/toxi}/sim/dla/RadialDistanceOrder.java +0 -0
  317. data/src/{toxi → main/java/toxi}/sim/erosion/ErosionFunction.java +0 -0
  318. data/src/{toxi → main/java/toxi}/sim/erosion/TalusAngleErosion.java +0 -0
  319. data/src/{toxi → main/java/toxi}/sim/erosion/ThermalErosion.java +0 -0
  320. data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver2D.java +0 -0
  321. data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver3D.java +0 -0
  322. data/src/{toxi → main/java/toxi}/sim/grayscott/GrayScott.java +0 -0
  323. data/src/{toxi → main/java/toxi}/util/DateUtils.java +0 -0
  324. data/src/{toxi → main/java/toxi}/util/FileSequenceDescriptor.java +0 -0
  325. data/src/main/java/toxi/util/FileUtils.java +443 -0
  326. data/src/{toxi → main/java/toxi}/util/datatypes/ArraySet.java +0 -0
  327. data/src/{toxi → main/java/toxi}/util/datatypes/ArrayUtil.java +0 -0
  328. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedDoubleRange.java +3 -3
  329. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedFloatRange.java +2 -3
  330. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedIntegerRange.java +3 -3
  331. data/src/{toxi → main/java/toxi}/util/datatypes/DoubleRange.java +3 -3
  332. data/src/{toxi → main/java/toxi}/util/datatypes/FloatRange.java +3 -3
  333. data/src/{toxi → main/java/toxi}/util/datatypes/GenericSet.java +0 -0
  334. data/src/{toxi → main/java/toxi}/util/datatypes/IntegerRange.java +3 -3
  335. data/src/{toxi → main/java/toxi}/util/datatypes/IntegerSet.java +0 -0
  336. data/src/{toxi → main/java/toxi}/util/datatypes/ItemIndex.java +0 -0
  337. data/src/{toxi → main/java/toxi}/util/datatypes/SingletonRegistry.java +0 -0
  338. data/src/{toxi → main/java/toxi}/util/datatypes/TypedProperties.java +0 -0
  339. data/src/{toxi → main/java/toxi}/util/datatypes/UndirectedGraph.java +0 -0
  340. data/src/{toxi → main/java/toxi}/util/datatypes/UniqueItemIndex.java +0 -0
  341. data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomEntry.java +0 -0
  342. data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomSet.java +0 -0
  343. data/src/{toxi → main/java/toxi}/util/events/EventDispatcher.java +0 -0
  344. data/src/{toxi → main/java/toxi}/volume/AdditiveBrush.java +0 -0
  345. data/src/{toxi → main/java/toxi}/volume/ArrayIsoSurface.java +0 -0
  346. data/src/{toxi → main/java/toxi}/volume/BoxBrush.java +0 -0
  347. data/src/{toxi → main/java/toxi}/volume/BrushMode.java +0 -0
  348. data/src/{toxi → main/java/toxi}/volume/HashIsoSurface.java +0 -0
  349. data/src/{toxi → main/java/toxi}/volume/IsoSurface.java +0 -0
  350. data/src/{toxi → main/java/toxi}/volume/MarchingCubesIndex.java +0 -0
  351. data/src/{toxi → main/java/toxi}/volume/MeshLatticeBuilder.java +0 -0
  352. data/src/{toxi → main/java/toxi}/volume/MeshVoxelizer.java +0 -0
  353. data/src/{toxi → main/java/toxi}/volume/MultiplyBrush.java +0 -0
  354. data/src/{toxi → main/java/toxi}/volume/PeakBrush.java +0 -0
  355. data/src/{toxi → main/java/toxi}/volume/ReplaceBrush.java +0 -0
  356. data/src/{toxi → main/java/toxi}/volume/RoundBrush.java +0 -0
  357. data/src/{toxi → main/java/toxi}/volume/VolumetricBrush.java +0 -0
  358. data/src/{toxi → main/java/toxi}/volume/VolumetricHashMap.java +0 -0
  359. data/src/{toxi → main/java/toxi}/volume/VolumetricSpace.java +0 -0
  360. data/src/{toxi → main/java/toxi}/volume/VolumetricSpaceArray.java +0 -0
  361. data/src/test/java/module-info.java +10 -0
  362. data/src/{BooleanShapes.java → test/java/toxi/BooleanShapes.java} +2 -2
  363. data/toxiclibs.gemspec +7 -8
  364. metadata +357 -368
  365. data/.mvn/wrapper/maven-wrapper.properties +0 -1
  366. data/lib/args4j-2.0.31.jar +0 -0
  367. data/src/com/toxi/net/ClientListener.java +0 -41
  368. data/src/com/toxi/net/ServerListener.java +0 -70
  369. data/src/com/toxi/net/ServerListenerAdapter.java +0 -47
  370. data/src/com/toxi/net/ServerState.java +0 -18
  371. data/src/com/toxi/net/UDPConnection.java +0 -66
  372. data/src/com/toxi/net/UDPSyncClient.java +0 -81
  373. data/src/com/toxi/net/UDPSyncServer.java +0 -450
  374. data/src/com/toxi/nio/UDPClient.java +0 -121
  375. data/src/com/toxi/nio/UDPClientState.java +0 -32
  376. data/src/com/toxi/nio/UDPServer.java +0 -129
  377. data/src/toxi/data/feeds/AtomFeed.java +0 -129
  378. data/src/toxi/data/feeds/RSSFeed.java +0 -99
  379. data/src/toxi/physics2d/VerletParticle2D.java +0 -457
  380. data/src/toxi/physics2d/VerletPhysics2D.java +0 -448
  381. data/src/toxi/physics2d/behaviors/AttractionBehavior2D.java +0 -212
  382. data/src/toxi/physics3d/VerletParticle3D.java +0 -385
  383. data/src/toxi/util/FileUtils.java +0 -467
@@ -1 +0,0 @@
1
- distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.3/apache-maven-3.3.3-bin.zip
Binary file
@@ -1,41 +0,0 @@
1
- package com.toxi.net;
2
-
3
- /**
4
- *
5
- * @author tux
6
- */
7
- public interface ClientListener {
8
- /**
9
- * Callback to trigger an update of the server managed process. This might
10
- * be called several times in a row if the client has fallen behind in time.
11
- * There should be NO rendering related tasks being called from this
12
- * callback.
13
- */
14
- public void triggerUpdate();
15
-
16
- /**
17
- * Callback to trigger the rendering of a new frame. This method will ALWAYS
18
- * be called after {{@link #triggerUpdate()} and should be purely focused on
19
- * drawing/rendering specific tasks, but no CPU intensive model updates.
20
- */
21
- public void triggerFrame();
22
-
23
- /**
24
- * Callback to confirm client has successfully connected
25
- */
26
- public void notifyConnected();
27
-
28
- /**
29
- * Callback to notify client has disconnected from the server.
30
- */
31
- public void notifyDisconnected();
32
-
33
- /**
34
- * Callback to give the client a chance to react to the encountered
35
- * exception.
36
- *
37
- * @param e
38
- * the exception which caused the callback
39
- */
40
- public void handleError(Exception e);
41
- }
@@ -1,70 +0,0 @@
1
- package com.toxi.net;
2
-
3
- import java.net.DatagramPacket;
4
-
5
- /**
6
- *
7
- * @author tux
8
- */
9
- public interface ServerListener {
10
-
11
- /**
12
- * Notifies listener immediately after the server socket has been created.
13
- */
14
- public void serverStarted();
15
-
16
- /**
17
- * Notifies the listener server is shutting down.
18
- */
19
- public void serverShutdown();
20
-
21
- /**
22
- * Gives listener a chance to react to any fatal server errors.
23
- *
24
- * @param e
25
- */
26
- public void serverError(Exception e);
27
-
28
- /**
29
- * Notifies the listener of a new server state. The state info itself is
30
- * attached.
31
- *
32
- * @param s
33
- */
34
- public void serverStateChanged(ServerState s);
35
-
36
- /**
37
- * Notifies listener of a new client connection. Details are attached.
38
- *
39
- * @param conn
40
- */
41
- public void clientConnected(UDPConnection conn);
42
-
43
- /**
44
- * Notifies listener a client has disconnected. Connection details are
45
- * attached.
46
- *
47
- * @param conn
48
- */
49
- public void clientDisconnected(UDPConnection conn);
50
-
51
- /**
52
- * Notifies and forwards received client data to the listener for further
53
- * analysis.
54
- *
55
- * @param conn
56
- * client connection details
57
- * @param receivePacket
58
- * data sent by the client
59
- */
60
- public void clientUpdated(UDPConnection conn, DatagramPacket receivePacket);
61
-
62
- /**
63
- * Gives the listener a chance to add extra data to the payload packet
64
- * distributed to each client.
65
- *
66
- * @return additional data, or null if none required
67
- */
68
- public byte[] getSyncPayload();
69
-
70
- }
@@ -1,47 +0,0 @@
1
- /**
2
- *
3
- */
4
- package com.toxi.net;
5
-
6
- import java.net.DatagramPacket;
7
-
8
- /**
9
- * @author toxi
10
- *
11
- */
12
- public class ServerListenerAdapter implements ServerListener {
13
-
14
- @Override
15
- public void clientConnected(UDPConnection conn) {
16
-
17
- }
18
-
19
- @Override
20
- public void clientDisconnected(UDPConnection conn) {
21
- }
22
-
23
- @Override
24
- public void clientUpdated(UDPConnection conn, DatagramPacket receivePacket) {
25
- }
26
-
27
- @Override
28
- public byte[] getSyncPayload() {
29
- return new byte[0];
30
- }
31
-
32
- @Override
33
- public void serverError(Exception e) {
34
- }
35
-
36
- @Override
37
- public void serverShutdown() {
38
- }
39
-
40
- @Override
41
- public void serverStarted() {
42
- }
43
-
44
- @Override
45
- public void serverStateChanged(ServerState s) {
46
- }
47
- }
@@ -1,18 +0,0 @@
1
- package com.toxi.net;
2
-
3
- /**
4
- *
5
- * @author tux
6
- */
7
- public enum ServerState {
8
-
9
- /**
10
- *
11
- */
12
- WAITING_FOR_CLIENTS,
13
-
14
- /**
15
- *
16
- */
17
- SYNCHING
18
- }
@@ -1,66 +0,0 @@
1
- package com.toxi.net;
2
-
3
- import java.io.*;
4
- import java.net.*;
5
-
6
- /**
7
- * @author Karsten Schmidt <info@postspectacular.com>
8
- */
9
-
10
- class UDPConnection {
11
-
12
- /**
13
- * Default time-to-live duration
14
- */
15
- static int TTL = 10000;
16
-
17
- protected InetAddress ip;
18
- protected int port;
19
-
20
- protected long lastUpdate;
21
-
22
- UDPConnection(InetAddress ip, int port) {
23
- this.ip = ip;
24
- this.port = port;
25
- lastUpdate = System.currentTimeMillis();
26
- }
27
-
28
- public boolean isAlive() {
29
- return System.currentTimeMillis() - lastUpdate < TTL;
30
- }
31
-
32
- public void update() {
33
- lastUpdate = System.currentTimeMillis();
34
- }
35
-
36
- public void send(DatagramSocket socket, byte[] data) throws IOException {
37
- DatagramPacket sendPacket = new DatagramPacket(data, data.length, ip,
38
- port);
39
- socket.send(sendPacket);
40
- }
41
-
42
- public InetAddress getIP() {
43
- return ip;
44
- }
45
-
46
- public int getPort() {
47
- return port;
48
- }
49
-
50
- public long getLastUpdate() {
51
- return lastUpdate;
52
- }
53
-
54
- @Override
55
- public String toString() {
56
- return UDPConnection.buildHash(ip, port);
57
- }
58
-
59
- static final void setTTL(int ttl) {
60
- TTL = ttl;
61
- }
62
-
63
- public static final String buildHash(InetAddress ip, int port) {
64
- return ip.getHostAddress() + ":" + port;
65
- }
66
- }
@@ -1,81 +0,0 @@
1
- package com.toxi.net;
2
-
3
- import java.io.IOException;
4
- import java.net.*;
5
- import java.util.logging.Level;
6
- import java.util.logging.Logger;
7
-
8
- class UDPSyncClient extends Thread {
9
- private ClientListener listener;
10
-
11
- protected String serverName;
12
- protected int port;
13
- protected int clientID;
14
- protected int ttl;
15
-
16
- private int frameCount;
17
- protected long lastUpdate;
18
-
19
- private static final Logger logger = Logger.getLogger(UDPSyncClient.class
20
- .getName());
21
-
22
- UDPSyncClient(String serverName, int port, int clientID, int ttl) {
23
- this.serverName = serverName;
24
- this.port = port;
25
- this.clientID = clientID;
26
- this.ttl = ttl;
27
- }
28
-
29
- @Override
30
- public void run() {
31
- DatagramSocket clientSocket = null;
32
- lastUpdate = System.currentTimeMillis();
33
- try {
34
- clientSocket = new DatagramSocket();
35
- InetAddress ip = InetAddress.getByName(serverName);
36
- byte[] sendData = new byte[] { 1 };
37
- byte[] receiveData = new byte[8];
38
- // do initial sign on by sending a message to the server
39
- DatagramPacket sendPacket = new DatagramPacket(sendData,
40
- sendData.length, ip, port);
41
- clientSocket.send(sendPacket);
42
- while (true) {
43
- DatagramPacket receivePacket = new DatagramPacket(receiveData,
44
- receiveData.length);
45
- clientSocket.receive(receivePacket);
46
- String payload = new String(receivePacket.getData(), 0,
47
- receivePacket.getLength());
48
- if (logger != null)
49
- logger.finest(payload);
50
- int newFrameCount = Integer.parseInt(payload);
51
- if (newFrameCount > 0) {
52
- while (frameCount < newFrameCount) {
53
- if (listener != null)
54
- listener.triggerUpdate();
55
- frameCount++;
56
- }
57
- }
58
- if (listener != null)
59
- listener.triggerFrame();
60
- long now = System.currentTimeMillis();
61
- if (now - lastUpdate > ttl) {
62
- sendPacket = new DatagramPacket(sendData, sendData.length,
63
- ip, port);
64
- clientSocket.send(sendPacket);
65
- lastUpdate = now;
66
- if (logger != null)
67
- logger.log(Level.FINER, "TTL updated on: {0}", lastUpdate);
68
- }
69
- }
70
- } catch (IOException | NumberFormatException ex) {
71
- logger.log(Level.SEVERE, null, ex);
72
- } finally {
73
- if (clientSocket != null)
74
- clientSocket.close();
75
- }
76
- }
77
-
78
- public void setListener(ClientListener l) {
79
- listener = l;
80
- }
81
- }