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
@@ -27,20 +27,18 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAccessType;
31
- import javax.xml.bind.annotation.XmlAccessorType;
32
- import javax.xml.bind.annotation.XmlElement;
30
+
33
31
 
34
32
  /**
35
33
  * A simple 3D ray datatype
36
34
  */
37
- @XmlAccessorType(XmlAccessType.FIELD)
35
+
38
36
  public class Ray3D extends Vec3D {
39
37
 
40
38
  /**
41
39
  *
42
40
  */
43
- @XmlElement(required = true)
41
+
44
42
  protected Vec3D dir;
45
43
 
46
44
  /**
@@ -30,16 +30,14 @@ package toxi.geom;
30
30
  import java.util.ArrayList;
31
31
  import java.util.List;
32
32
 
33
- import javax.xml.bind.annotation.XmlAccessType;
34
- import javax.xml.bind.annotation.XmlAccessorType;
35
- import javax.xml.bind.annotation.XmlAttribute;
33
+
36
34
  import toxi.math.MathUtils;
37
35
 
38
36
  /**
39
37
  *
40
38
  * @author tux
41
39
  */
42
- @XmlAccessorType(XmlAccessType.FIELD)
40
+
43
41
  public class Rect implements Shape2D {
44
42
 
45
43
  /**
@@ -71,7 +69,7 @@ public class Rect implements Shape2D {
71
69
  return bounds;
72
70
  }
73
71
 
74
- @XmlAttribute(required = true)
72
+
75
73
  public float x,
76
74
 
77
75
  /**
@@ -27,9 +27,7 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAccessType;
31
- import javax.xml.bind.annotation.XmlAccessorType;
32
- import javax.xml.bind.annotation.XmlAttribute;
30
+
33
31
 
34
32
  import toxi.geom.mesh.Mesh3D;
35
33
  import toxi.geom.mesh.SphereFunction;
@@ -39,7 +37,7 @@ import toxi.geom.mesh.SurfaceMeshBuilder;
39
37
  *
40
38
  * @author tux
41
39
  */
42
- @XmlAccessorType(XmlAccessType.FIELD)
40
+
43
41
  public class Sphere extends Vec3D implements Shape3D {
44
42
 
45
43
  /**
@@ -51,7 +49,7 @@ public class Sphere extends Vec3D implements Shape3D {
51
49
  /**
52
50
  *
53
51
  */
54
- @XmlAttribute(required = true)
52
+
55
53
  public float radius;
56
54
 
57
55
  /**
@@ -31,11 +31,7 @@ import java.util.ArrayList;
31
31
  import java.util.Arrays;
32
32
  import java.util.List;
33
33
 
34
- import javax.xml.bind.annotation.XmlAccessType;
35
- import javax.xml.bind.annotation.XmlAccessorType;
36
- import javax.xml.bind.annotation.XmlAttribute;
37
- import javax.xml.bind.annotation.XmlElement;
38
- import javax.xml.bind.annotation.XmlTransient;
34
+
39
35
 
40
36
  /**
41
37
  * <p>
@@ -62,7 +58,7 @@ import javax.xml.bind.annotation.XmlTransient;
62
58
  * @version 0015 Added JAXB annotations and List support for dynamic building of
63
59
  * spline
64
60
  */
65
- @XmlAccessorType(XmlAccessType.FIELD)
61
+
66
62
  public class Spline2D {
67
63
 
68
64
  /**
@@ -78,49 +74,49 @@ public class Spline2D {
78
74
  /**
79
75
  *
80
76
  */
81
- @XmlTransient
77
+
82
78
  protected Vec2D[] points;
83
79
 
84
80
  /**
85
81
  *
86
82
  */
87
- @XmlElement(name = "p")
83
+
88
84
  public List<Vec2D> pointList = new ArrayList<>();
89
85
 
90
86
  /**
91
87
  *
92
88
  */
93
- @XmlTransient
89
+
94
90
  public BernsteinPolynomial bernstein;
95
91
 
96
92
  /**
97
93
  *
98
94
  */
99
- @XmlTransient
95
+
100
96
  public Vec2D[] delta;
101
97
 
102
98
  /**
103
99
  *
104
100
  */
105
- @XmlTransient
101
+
106
102
  public Vec2D[] coeffA;
107
103
 
108
104
  /**
109
105
  *
110
106
  */
111
- @XmlTransient
107
+
112
108
  public float[] bi;
113
109
 
114
110
  /**
115
111
  *
116
112
  */
117
- @XmlAttribute
113
+
118
114
  protected float tightness;
119
115
 
120
116
  /**
121
117
  *
122
118
  */
123
- @XmlTransient
119
+
124
120
  protected float invTightness;
125
121
 
126
122
  /**
@@ -254,9 +250,9 @@ public class Spline2D {
254
250
  */
255
251
  public Spline2D setPointList(List<Vec2D> plist) {
256
252
  pointList.clear();
257
- for (ReadonlyVec2D p : plist) {
253
+ plist.forEach((p) -> {
258
254
  pointList.add(p.copy());
259
- }
255
+ });
260
256
  return this;
261
257
  }
262
258
 
@@ -31,11 +31,7 @@ import java.util.ArrayList;
31
31
  import java.util.Arrays;
32
32
  import java.util.List;
33
33
 
34
- import javax.xml.bind.annotation.XmlAccessType;
35
- import javax.xml.bind.annotation.XmlAccessorType;
36
- import javax.xml.bind.annotation.XmlAttribute;
37
- import javax.xml.bind.annotation.XmlElement;
38
- import javax.xml.bind.annotation.XmlTransient;
34
+
39
35
 
40
36
  /**
41
37
  * <p>
@@ -62,7 +58,7 @@ import javax.xml.bind.annotation.XmlTransient;
62
58
  * @version 0015 Added JAXB annotations and List support for dynamic building of
63
59
  * spline
64
60
  */
65
- @XmlAccessorType(XmlAccessType.FIELD)
61
+
66
62
  public class Spline3D {
67
63
 
68
64
  /**
@@ -73,49 +69,49 @@ public class Spline3D {
73
69
  /**
74
70
  *
75
71
  */
76
- @XmlTransient
72
+
77
73
  protected Vec3D[] points;
78
74
 
79
75
  /**
80
76
  *
81
77
  */
82
- @XmlElement(name = "p")
78
+
83
79
  public List<Vec3D> pointList = new ArrayList<>();
84
80
 
85
81
  /**
86
82
  *
87
83
  */
88
- @XmlTransient
84
+
89
85
  public BernsteinPolynomial bernstein;
90
86
 
91
87
  /**
92
88
  *
93
89
  */
94
- @XmlTransient
90
+
95
91
  public Vec3D[] delta;
96
92
 
97
93
  /**
98
94
  *
99
95
  */
100
- @XmlTransient
96
+
101
97
  public Vec3D[] coeffA;
102
98
 
103
99
  /**
104
100
  *
105
101
  */
106
- @XmlTransient
102
+
107
103
  public float[] bi;
108
104
 
109
105
  /**
110
106
  *
111
107
  */
112
- @XmlAttribute
108
+
113
109
  protected float tightness;
114
110
 
115
111
  /**
116
112
  *
117
113
  */
118
- @XmlTransient
114
+
119
115
  protected float invTightness;
120
116
 
121
117
  /**
@@ -254,9 +250,9 @@ public class Spline3D {
254
250
  */
255
251
  public Spline3D setPointList(List<Vec3D> plist) {
256
252
  pointList.clear();
257
- for (ReadonlyVec3D p : plist) {
253
+ plist.forEach((p) -> {
258
254
  pointList.add(p.copy());
259
- }
255
+ });
260
256
  return this;
261
257
  }
262
258
 
@@ -31,10 +31,7 @@ import java.util.ArrayList;
31
31
  import java.util.Collections;
32
32
  import java.util.List;
33
33
 
34
- import javax.xml.bind.annotation.XmlAccessType;
35
- import javax.xml.bind.annotation.XmlAccessorType;
36
- import javax.xml.bind.annotation.XmlElement;
37
- import javax.xml.bind.annotation.XmlTransient;
34
+
38
35
 
39
36
  import toxi.geom.Line2D.LineIntersection.Type;
40
37
  import toxi.math.MathUtils;
@@ -43,7 +40,7 @@ import toxi.math.MathUtils;
43
40
  *
44
41
  * @author tux
45
42
  */
46
- @XmlAccessorType(XmlAccessType.FIELD)
43
+
47
44
  public class Triangle2D implements Shape2D {
48
45
 
49
46
  /**
@@ -73,7 +70,7 @@ public class Triangle2D implements Shape2D {
73
70
  return (determ > 0.0);
74
71
  }
75
72
 
76
- @XmlElement(required = true)
73
+
77
74
  public Vec2D a,
78
75
 
79
76
  /**
@@ -97,7 +94,7 @@ public class Triangle2D implements Shape2D {
97
94
  /**
98
95
  *
99
96
  */
100
- @XmlTransient
97
+
101
98
  public Vec2D centroid;
102
99
 
103
100
  /**
@@ -27,10 +27,7 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAccessType;
31
- import javax.xml.bind.annotation.XmlAccessorType;
32
- import javax.xml.bind.annotation.XmlElement;
33
- import javax.xml.bind.annotation.XmlTransient;
30
+
34
31
 
35
32
  import toxi.math.MathUtils;
36
33
 
@@ -38,7 +35,7 @@ import toxi.math.MathUtils;
38
35
  *
39
36
  * @author tux
40
37
  */
41
- @XmlAccessorType(XmlAccessType.FIELD)
38
+
42
39
  public class Triangle3D implements Shape3D {
43
40
 
44
41
  /**
@@ -91,7 +88,7 @@ public class Triangle3D implements Shape3D {
91
88
  return (determ < 0.0);
92
89
  }
93
90
 
94
- @XmlElement(required = true)
91
+
95
92
  public Vec3D a,
96
93
 
97
94
  /**
@@ -115,13 +112,13 @@ public class Triangle3D implements Shape3D {
115
112
  /**
116
113
  *
117
114
  */
118
- @XmlElement(required = true)
115
+
119
116
  public Vec3D normal;
120
117
 
121
118
  /**
122
119
  *
123
120
  */
124
- @XmlTransient
121
+
125
122
  public Vec3D centroid;
126
123
 
127
124
  /**
@@ -28,7 +28,7 @@ package toxi.geom;
28
28
 
29
29
  import java.util.Random;
30
30
 
31
- import javax.xml.bind.annotation.XmlAttribute;
31
+
32
32
 
33
33
  import toxi.math.InterpolateStrategy;
34
34
  import toxi.math.MathUtils;
@@ -171,13 +171,13 @@ public class Vec2D implements Comparable<ReadonlyVec2D>, ReadonlyVec2D {
171
171
  /**
172
172
  * X coordinate
173
173
  */
174
- @XmlAttribute(required = true)
174
+
175
175
  public float x;
176
176
 
177
177
  /**
178
178
  * Y coordinate
179
179
  */
180
- @XmlAttribute(required = true)
180
+
181
181
  public float y;
182
182
 
183
183
  /**
@@ -29,7 +29,7 @@ package toxi.geom;
29
29
 
30
30
  import java.util.Random;
31
31
 
32
- import javax.xml.bind.annotation.XmlAttribute;
32
+
33
33
 
34
34
  import toxi.math.InterpolateStrategy;
35
35
  import toxi.math.MathUtils;
@@ -213,15 +213,15 @@ public class Vec3D implements Comparable<ReadonlyVec3D>, ReadonlyVec3D {
213
213
  }
214
214
 
215
215
  /** X coordinate. */
216
- @XmlAttribute(required = true)
216
+
217
217
  public float x;
218
218
 
219
219
  /** Y coordinate. */
220
- @XmlAttribute(required = true)
220
+
221
221
  public float y;
222
222
 
223
223
  /** Z coordinate. */
224
- @XmlAttribute(required = true)
224
+
225
225
  public float z;
226
226
 
227
227
  /**
@@ -27,7 +27,7 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAttribute;
30
+
31
31
 
32
32
  import toxi.math.InterpolateStrategy;
33
33
  import toxi.math.MathUtils;
@@ -40,19 +40,19 @@ import toxi.math.ScaleMap;
40
40
  public class Vec4D implements ReadonlyVec4D, Cloneable {
41
41
 
42
42
  /** X coordinate */
43
- @XmlAttribute(required = true)
43
+
44
44
  public float x;
45
45
 
46
46
  /** Y coordinate */
47
- @XmlAttribute(required = true)
47
+
48
48
  public float y;
49
49
 
50
50
  /** Z coordinate */
51
- @XmlAttribute(required = true)
51
+
52
52
  public float z;
53
53
 
54
54
  /** W coordinate (weight) */
55
- @XmlAttribute(required = true)
55
+
56
56
  public float w;
57
57
 
58
58
  /**